Whatsapp Messaging Statuses

WhatsApp message webhook events, lifecycle statuses, and example callback payloads.

Routee provides a detailed status for every WhatsApp message sent through the WhatsApp API. Configure webhooks to receive these events.

WhatsApp message lifecycle

Accepted Delivered· final Seen· final | Failed· final | Channel failed· final | Inbound

Webhook payloads use the event field (e.g. MessageStatus::delivered). The status field carries the short form (e.g. delivered).

Status Webhook `event` Description
InboundMoMessageInbound message received by Routee and relayed to your system.
AcceptedMessageStatus::acceptedOutbound message accepted for delivery.
Delivered· finalMessageStatus::deliveredMessage delivered to the recipient.
Seen· finalMessageStatus::seenMessage seen/read by the recipient.
Failed· finalMessageStatus::failedMessage delivery failed.
Channel failed· finalMessageStatus::channelFailedChannel-level failure.
Deleted· finalMessageStatus::deletedMessage was deleted.
Unknown· finalMessageStatus::unknownUnknown status received from the channel.

Example payloads

{
    "messageId": "a1d48024-e1c3-42a9-8232-16b19ce765b6",
    "channel": "whatsapp",
    "event": "MessageStatus::seen",
    "deliveryChannel": "whatsapp",
    "status": "seen",
    "timestamp": "2021-01-14T07:40:55.050Z",
    "details": {
        "from": "301234567891"
    },
    "from": "301234567891"
}
{
    "messageId": "a1d48024-e1c3-42a9-8232-16b19ce765b6",
    "channel": "whatsapp",
    "event": "MessageStatus::delivered",
    "deliveryChannel": "whatsapp",
    "status": "delivered",
    "timestamp": "2021-01-14T07:40:55Z",
    "details": {
        "from": "301234567891"
    },
    "from": "301234567891"
}
{
    "messageId": "a1d48024-e1c3-42a9-8232-16b19ce765b6",
    "channel": "whatsapp",
    "event": "MessageStatus::accepted",
    "deliveryChannel": "whatsapp",
    "status": "accepted",
    "timestamp": "2021-01-14T07:40:53.682474Z"
}