Webhook Event: message.ack
Delivery ReceiptJSON payload schema dispatched when outbound message delivery receipts update on WhatsApp (Sent to Server, Delivered to Recipient Phone, or Read / Blue Checkmark).
Checkmark Tracking
Use this event to synchronize delivery statuses in your CRM or database. Status codes correspond to WhatsApp protocol checkmarks (1 = Sent, 2 = Delivered / Double Grey Tick, 3 = Read / Double Blue Tick, 4 = Audio Played).
HTTP Endpoint
Authentication
| Header Key | Value | Required |
|---|---|---|
| Content-Type | application/json | Required |
| X-Wahide-Secret | whsec_live_... | Required |
| User-Agent | Wahide-WhatsApp-Webhook-Engine/2.0 | Required |
Request Parameters
The request body must be formatted as JSON with the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
event | string | Required | Event identifier. Value is always 'message.ack'. example: message.ack |
device_id | string | Required | Unique WhatsApp device slot ID that reported the delivery receipt. example: 01JPLAN0000000000000000001 |
timestamp | integer | Required | Unix epoch timestamp in seconds when the receipt was processed. example: 1725845015 |
data | object | Required | Container object holding delivery acknowledgment metadata. |
data.message_id | string | Required | Unique WhatsApp message ID corresponding to the sent message. example: 3EB0A1B2C3D4E5F6 |
data.chat_jid | string | Required | WhatsApp Jabber ID of the destination chat. example: 6281234567890@s.whatsapp.net |
data.recipient | string | Required | Normalized phone number of the recipient in E.164 format. example: 6281234567890 |
data.status | string | Required | Human-readable delivery receipt status: 'sent', 'delivered', 'read', or 'played'. example: read |
data.status_code | integer | Required | Numeric receipt code: 1 (Sent to Server), 2 (Delivered / Double Grey Tick), 3 (Read / Double Blue Tick), 4 (Audio Played). example: 3 |
data.timestamp | integer | Required | Unix timestamp when the receipt state was triggered on recipient device. example: 1725845014 |
Code Examples
curl -X POST https://api.your-business.com/webhook \
-H "Content-Type: application/json" \
-H "X-Wahide-Secret: whsec_live_9f8e7d6c5b4a3210fedcba9876543210" \
-d '{
"event": "message.ack",
"device_id": "01JPLAN0000000000000000001",
"timestamp": 1725845015,
"data": {
"message_id": "3EB0A1B2C3D4E5F6",
"chat_jid": "6281234567890@s.whatsapp.net",
"recipient": "6281234567890",
"status": "read",
"status_code": 3,
"timestamp": 1725845014
}
}'Response Formats
Acknowledgment response confirming receipt of the delivery status update.
Response Attributes Breakdown
| Attribute | Type | Description |
|---|---|---|
status | string | Status acknowledgment. |