Delivery reports
Both HTTP and SMPP APIs support the delivery of Delivery reports for messages that were sent by you.
SMPP Delivery reports
Delivery reports are sent via the SMPP bind of the original SMPP bind that the message was sent through.
HTTP Delivery reports (Dlr)
In order to receive delivery reports you must provide your callback URL when submitting a request to send an SMS via HTTP API. However, providing your callback URL without any replace parameters will not be sufficient to receive any meaningful data.
You will need to provide the relevant replace parameters with your corresponding parameter names.
Dlr callback URL stracture
The overall length of your delivery reports callback URL is restricted to 150 characters.
Part | Max length | Example | Comments |
---|---|---|---|
Base domain with path | 80 charachters | http[s]://mydomain.com/deliveryReports |
None |
Query string | 70 charachters | ?&msgid=123123&status=%d&to=%p&from=%P&ts=%T |
None |
If your DLR callback URL is longer than 150 characters it will be ignored.
You will still be able to see message status' in your analytics reports.
Allowed Dlr callback parameters names and vlaues
Dlr URL callback parameters values with direction IN must be provided by you.
Dlr URL callback parameters values with direction OUT will be replaced by a corresponding value.
Name | Value | Direction | Max length | Type | Return values | Description |
---|---|---|---|---|---|---|
msgid | Your message id | IN | 30 | Alphanumeric | Your message id | Your msgid for your internal tracking |
status | %d | OUT | 1 | Numeric | 1,2,4,8,16,32 | Current status of message |
to | %p | OUT | 20 | Numeric | 41549329440 | Recipient of message |
from | %P | OUT | 20 | Alphanumeric | 4455 | Sender of message |
ts | %T | OUT | 10 | Numeric | 1643009843 | Time stamp of current status |
price | %price | OUT | 10 | Numeric | 0.045 | The price of the message |
When a new DLR status emerges, our Server will trigger the Dlr URL callback with a GET
request replacing an OUT replace parameters with actual values.
Examples
The following Dlr URL callback value was provided with SMS send request with a DLR mask value of 31:
http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=%d&myRecipient=%p&mySender=%P
The following acctual GET
callbacks will be triggered:
Status | Description | Callback |
---|---|---|
8 | Processing | http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=8&myRecipient41549329440=&mySender=4455 |
16 | Rejected | http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=16&myRecipient41549329440=&mySender=4455 |
4 | Buffered | http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=4&myRecipient41549329440=&mySender=4455 |
1 | Delivered | http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=1&myRecipient41549329440=&mySender=4455 |
2 | Failed | http[s]://mydomain.com/deliveryReports?mymessageid=123456&myStatus=2&myRecipient41549329440=&mySender=4455 |