Webhooks
Real-time Events
Listen for real-time events on your WhatsApp number. Our webhooks allow you to build reactive systems for order tracking, customer support, and automated follow-ups.
Event Types
message.sentTriggered when a message is successfully handed over to Meta.
message.deliveredTriggered when the recipient device receives the message.
message.readTriggered when the recipient opens the message.
message.failedTriggered when delivery fails (e.g., invalid number).
chat.receivedTriggered when a customer sends a message to your business.
waba.quality_updatedTriggered when your WABA quality rating changes (Green/Yellow/Red).
template.status_updatedTriggered when a Meta template is approved, rejected, or paused.
wallet.balance_lowTriggered when your workspace credit balance falls below the threshold.
Payload Structure
Every webhook delivery follows a consistent structure, including the event name, a Unix timestamp, and a data object containing the event-specific details.
{
"event": "message.read",
"timestamp": 1713805200,
"data": {
"message_id": "msg_8273645",
"recipient_id": "919876543210",
"metadata": {
"campaign_id": "camp_992"
}
}
}Security & Verification
All webhook requests are signed with an X-Hub-Signature-256 header. This is a SHA-256 HMAC hex digest of the raw request body, using your Webhook Secret as the key.