Delivery Report (DR) are webhooks for Chat Apps delivery statuses: POST requests sent by the Wavecell platform in JSON format to the callback URL configured for your account.
To receive Wavecell Delivery Reports, you need:
- A configured account, to use Wavecell Chat Apps product.
- A webhook: indicate to us which URL Wavecell platform should forward the inbound messages addressed to you.
Flow:
- You send a message to one user on WhatsApp (for example)
- The message is delivered or read.
- Wavecell programmatically transmits the message status to the callback URL configured for your webhook.
Whenever a message will have a new delivery status associated with the stage it is in, Wavecell will send a POST request with the new status.
Retry Mechanism
In case of connection error/timeout or HTTP response code 4XX or 5XX, there will be multiple retry attempts with progressive intervals: 1, 10, 30, 90 sec.
Request format
Sample
{
"eventType":"outboundMessageDelivery",
"channel":"whatsapp",
"user":{
"msisdn":"+6500000000",
"channelUserId":"6500000000"
},
"umid":"17596301-26a5-e811-814f-022a22cc1c71",
"status":"DELIVERED TO DEVICE",
"subAccountId":"clientId_whatsapp",
"clientMessageId":null,
"clientBatchId":null,
"timestamp":"2018-08-21T09:38:55Z",
"error":null,
"price":null,
"currency":null,
"version":4
}
Message Status
The status of a message can have the following values:
- RECEIVED FOR PROCESSING : the message has been received on Wavecell platform and is being processed before being sent to the carrier
- SENT : the message has been sent to the channel
- DELIVERED TO CARRIER : the message has been delivered to the channel
- DELIVERED TO DEVICE : the message has been delivered to the device
- REJECTED BY DEVICE : the message has failed to be delivered to the device
- REJECTED BY CARRIER : the message has been rejected by the channel
- TRASHED : the message has been rejected by Wavecell.
- READ : the message has been read.