value.statuses, not value.messages.
The four statuses in order
What Meta sends to your webhook
failed, an errors array is included:
How to parse statuses
messages check, since a payload has either statuses or
messages — never both.
Frequently asked
How do I know if my WhatsApp message was delivered?
How do I know if my WhatsApp message was delivered?
Meta sends a
"status": "delivered" event to your webhook. Parse changes.statuses[0] and
check the status field.How do I get read receipts?
How do I get read receipts?
Meta sends
"status": "read" when the customer opens the message. Note: customers can turn
off read receipts — if they do, you never receive the read event.My message shows as failed — what does the error code mean?
My message shows as failed — what does the error code mean?
Read
statuses[0].errors[0].code. Common codes: 131026 = number has no WhatsApp; 131047
= 24-hour window closed; 131049 = marketing message blocked. See
Error handling & codes.
