Webhook payload example and field reference for Sent Message is DELIVERED (sentMessageDELIVERED_v2).
{
"eventType": "sentMessageDELIVERED_v2",
"statusString": "Delivered",
"localMessageId": "16bf77ae-79e8-691eb4b",
"id": "693fd65f99391640",
"whatsappMessageId": "wamid.HBgNODYxMzEzMzg4Nzg2MDU0OEM0NTYxRTlBMwA=",
"conversationId": "68cba32b3349e",
"ticketId": "693f7a0a8545f54",
"text": "hello",
"type": "text",
"timestamp": "1765791326",
"assigneeId": "65a105b5cf65262",
"operatorEmail": "derre.ai",
"channelId": null,
"channelPhoneNumber": "17742"
}Field Description
| Field | Type | Description |
|---|---|---|
| eventType | String | The type of webhook event being triggered |
| statusString | String | Human-readable status description |
| localMessageId | String | Caller-supplied correlation when available; not a general request-level idempotency guarantee. |
| id | String | WATI message or broadcast-link identifier, depending on the message family; not a unique webhook-delivery ID. |
| whatsappMessageId | String | WhatsApp's internal message identifier |
| conversationId | String | Unique identifier for the conversation thread |
| ticketId | String | Associated support ticket or case identifier |
| text | String/null | Message content (null for template messages) |
| type | String | Type of message content, support value: "image", "text", "document", "location", "voice", "audio", "button", "interactive", "reaction", "video", "sticker", "contacts", "order", "catalog", "media_placeholder" |
| timestamp | String | Unix seconds encoded as a string. This is a source-dependent message/event-processing timestamp, not a guaranteed time of actual delivery or reply. |
| assigneeId | String/null | ID of the agent assigned to handle this conversation |
| operatorEmail | String | Email of the operator/system that sent the message |
| channelId | String/null | Channel identifier for the messaging platform |
| channelPhoneNumber | String | Phone number associated with the messaging channel |
Legacy event variant
The same notification also has the legacy eventType sentMessageDELIVERED; the example above shows sentMessageDELIVERED_v2. The legacy base payload does not define localMessageId; do not require it when handling the legacy event. V2 adds caller correlation where available. Other payload fields follow the notification type.
{
"eventType": "sentMessageDELIVERED",
"id": "<wati-message-id>"
}
