When sending a message through Panacea Mobile, you have the option to track the delivery of these messages.
If using HTTP, you need to add two additional fields to your request, as below.
- report_url – The HTTP URL for us to request when the status changes.
- report_mask – Which status messages you would like to receive
So what is the report_mask ?
The report mask is what is known as a bit mask field indicating which status messages you want to receive.
What are the different delivery status codes?
- 1 – Delivered
- 2 – Undelivered
- 4 – Queued at network
- 8 – Sent to network
- 16 – Failed at network
How do I 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, voila! That’s your report mask.
For example: I want to receive 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.
Seems simple enough, what about getting some extra data in the request?
We provide you with some extra fields which you can specify and we’ll replace them for you before we send the messages back to your server.
- %d – the status code (see above) of the message
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
|text||Hello there, we are testing delivery reports!|
The resulting URL (once we encode the data) for the request will look like this: