Delivery Reports via API
When sending a message with Panacea Mobile, you can track the delivery of these messages. If using HTTPS, you need to add two additional fields to your request:
report_url: The HTTP URL for us to request when the status changes
report_mask: Which status messages you would like to receive
What is a report mask?
The report mask is what is known as a bitmask field indicating which status messages you want to receive.
What are the different delivery status codes?
Status Code | Description |
---|---|
1 | Delivered |
2 | Undelivered |
4 | Queued at network |
8 | Sent to network |
16 | Failed at network |
How to calculate the report mask?
To calculate the report mask, you need to pick the status codes you want to receive, and then add them together! And that’s your report mask.
For example, I want to know whether my message was delivered or failed. (1, 2, and 16)
report_mask = 1 + 2 + 16 = 19
So, in your next request, send report_mask=19 and we’ll send you these status messages where applicable.
Give me an example:
Ok, so we want to send a message and receive status reports to our server when the message is delivered or fails.
Our request parameters will look like this:
Parameter | Example Value |
---|---|
username | myusername |
password | mypassword |
to | 27821340000 |
from | 271112221113 |
text | Hello there, we are testing delivery reports! |
report_mask | 19 |
report_url | http://myserver.com/receive_report.php? myMessageId=12345&status=%d |
The resulting URL (once we encode the data) for the request will look like this:
https://api.panaceamobile.com/json?
action=message_send&username=myusername&password=mypassword&to=27821340000&from=271112221113&text=Hello+there%2C+we+are+testing+delivery+reports%21&report_mask=19&report_url=http%3A%2F%2Fmyserver.com%2Freceive_report.php%3FmyMessageId%3D12345%26status%3D%25d
Please get in touch with your Account Manager or Support to confirm your API URL as this may vary depending on your specific account configuration.
Last updated