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