Skip to main content

Webhook about Changing Message Status

Last updated: 15 June 2026

This webhook enables you to receive updates on changes to message processing and delivery statuses. Whenever a message status changes, edna Pulse sends an HTTP POST request to your system's specified URL. This article describes the webhook format and transmitted data.

tip

WhatsApp
Viber
The webhook is available for all channels.

Configuring the URL

To set the URL for a webhook about a change in the status of a message, send a POST request to the URL https://app.edna.io/api/callback/set .

File IconSetting URLs for Webhooks
tip

Your URL should be genuine and accessible to the public via the internet. Only use the secure HTTPS protocol — the default is TCP port 443. URLs can contain a maximum of 500 characters.

info

If a webhook delivery fails, edna Pulse will attempt to resend it up to three times using a backoff scheme: 4, 128, and 2048 seconds after the previous attempt.

You can also specify the webhook URL in your edna Pulse account: Integration SettingsMain profileWebhook URL for statuses.

File IconGeneral Information about edna Pulse API Keys and Webhooks File IconManaging edna Pulse Webhooks

Webhook example

{
"requestId": "test-00135",
"messageId": 8681748,
"cascadeId": 11,
"cascadeStageUUID": "001-test001",
"subject": "test_subject",
"subjectId": 2,
"status": "DELIVERED",
"statusAt": "2025-01-30T11:07:55Z",
"error": null,
"comment": null,
"paymentData": {
"@type": "WhatsAppConversationPaymentData",
"conversationId": "test0001",
"conversationType": "marketing",
"chargeable": true,
"type": "WHATSAPP_CONVERSATION"
}
}

Webhook parameters

ParameterData typeCharacterDescription
requestIdstringRequiredThe ID of the request based on which the message is generated and sent.
cascadeIdlongRequiredThe cascade ID.
cascadeStageUUIDstringRequirednull or data.
subjectstringRequiredThe name of the channel.
subjectIdlongRequiredThe channel ID. You can find out through the channel list method.

File IconReceiving List of Channels
statusstringRequiredThe message status.
statusAtstringRequiredThe time of the last update of the message status. Specified in the ISO 8601 format. For example: 2023-10-31T11:07:56Z.
errorstringOptionalnull or data. Error in message delivery.
commentstringOptionalThe text comment. Specified when sending the message. The parameter value is also displayed in the detailed report. It can be used for routing chatbots.
paymentDataobjectRequiredThe set of parameters for the WhatsApp channel that transmit information about the conversation.
conversationIdstringRequiredThe conversation ID. Transmitted for the WhatsApp channel.
conversationTypestringRequiredThe conversation category. Transmitted for the WhatsApp channel.
chargeablebooleanOptionalThe conversation type: paid or free. Transmitted for the WhatsApp channel for the statuses DELIVERED and READ.
messageIdintegerRequiredThe internal ID of the message.

Expected response format

In response to a request from your server, the status of its execution with the code 200 should be returned.

Message delivery statuses

StatusDescription
SENTThe message has been sent to the recipient.
DELIVEREDThe message has been delivered to the recipient.
READThe message has been read by the recipient.
UNDELIVEREDThe message was sent, but not delivered to the recipient.
CANCELLEDSending the message has been canceled.
EXPIREDThe message did not receive the DELIVERED status because:

- the time specified when configuring the cascade has expired;

- the time for message delivery (TTL), determined by the default channel, has expired.

File IconMessage Delivery Time in Channels (TTL)
FAILEDError processing the message.
info

The list of statuses can be expanded when integrating.

Errors when receiving message statuses

ErrorDescription
not-WhatsApp-userThe specified recipient is not registered in WhatsApp.
no-template-matchThe message does not match a valid template.
session-not-started The message is not sent within the 24-hour dialog and does not match a valid template.
daily-rate-limitWhatsApp's daily limit for sending template messages has been exceeded. Only for WhatsApp channel.
too-long-messageThe message length exceeds the allowed limit.
chat-window-closedError opening the dialog box on the WhatsApp side.
media-request-failedFile upload error.
error-subject-unknownThe specified signature is not allowed to the client. All signatures must be activated beforehand.
error-address-formatIncorrect subscriber number format.
duplicatedAttempt to send a duplicate message within 5 minutes.
message-undeliverableThe message could not be delivered to the recipient. Possible reasons:

-The recipient's phone number is not in WhatsApp.

- The recipient has not accepted the new versions of the WhatsApp user agreement and privacy policy.

- The recipient uses an old version of WhatsApp. Use WhatsApp version 2.21.15.15 (Android) or 2.21.170.4 (iOS) and higher.

- Sending authorization messages to recipients with the code +91 (India) is not available.

developers.facebook.com
spam-rate-limit-hitThe message could not be delivered to the recipient because many previous messages were blocked or marked as spam.
marketing-template-undeliverableThe message could not be delivered to the recipient. The delivery limit for marketing messages has been reached for the recipient. Try to send a message later.

developers.facebook.com