Skip to main content

Receiving Message Statuses

Last updated: 25 April 2022

This article describes a callback method for sending information about changes in message processing and delivery status.

info

A callback is a request for information about message status changes that we send to your server. The request parameters are passed in the request body.

Connection URL

warning

Only the HTTPS protocol is supported.

To retrieve message callback statuses, during registration, you should specify your system’s API endpoint that will process incoming POST requests from API edna.

Example of the body of an incoming POST request

{
"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"
}
}

Request Format

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

File IconReceiving List of Channels
statusstringRequiredThe message status.
`statusAt'stringRequiredThe time of the last update of the message status. Specified in the ISO 8601 format. For example: `2023-10-31T11:07:56Z'.

ISO 8601 - Convention
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 dialog.
conversationIdstringRequiredThe dialog ID. Transmitted for the WhatsApp channel.
conversationTypestringRequiredThe dialog category. Transmitted for the WhatsApp channel.
chargeablebooleanOptionalThe dialog type: paid or free. It is transmitted for the WhatsApp channel for the DELIVERED and READ statuses.
messageIdintegerRequiredThe internal ID of the message.

Response Format

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

If the code 200 does not arrive in response to the callback request, edna Pulse performs 10 more request attempts with an interval of 2 seconds between attempts (where X is the attempt number) until the code 200 arrives in response.

info

That is, every 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 seconds.

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 (TTL)
FAILEDError processing the message.
info

When integrating, keep in mind that the list of statuses can be expanded.

Notification example

{
"requestId": "test-00136",
"messageId": 8681749,
"cascadeId": 11,
"cascadeStageUUID": "001-test001",
"subject": "test_subject",
"subjectId": 2,
"status": "READ",
"statusAt": "2025-01-30T11:07:57Z",
"error": null,
"comment": null
}
}

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