Delivery Report API

Last updated: Jan 22nd, 2017

Accept Delivery Report

Prepare your own API endpoint to receive our Delivery Report

For example, you will be building your own web project named "esms", and an endpoint named "dr_receiver.php" (or any other language you prefer),
then, you will host it at your site, and accessible via calling http://www.your-own-site.com/esms/dr_receiver.php
Every time you call our Send SMS API, you will put http://www.your-own-site.com/esms/dr_receiver.php as the value for dlr-url parameter.

Method you need to accept:

GET

Parameters we send:
Name Type Description
msgId String

The msgId of the SMS this report is referring at.

You will get this ID when you're calling our Send SMS API, this msgId is returned in the response.

s String

This status of the SMS.

Refer to Delivery Status table below for possible values and description for each of them.

t String

The time when this happens in the format of yyyyMMddHHmmss. (GMT +8)

Example: 20161231235959.

Example of what we will call:

http://www.your-own-site.com/esms/dr_receiver.php?msgId=25dd9185-a69d-4713-a62f-b2aaad0651d0&s=DELIVRD&t=20161231235959

You need to response with:

Anything in the body, we wouldn't parse your body content.

Any Http Status Code between 200 to 299 (inclusive of 200 and 299)

If you return any other status code, we would retry until we get http code above, maximum retry attempt is 10 times.

Delivery Status:
Status Code Description
DELIVRDSMS has successfully reached the operator.
UNDELIVSMS was not delivered to end client.
EXPIREDSMS took too long before reaching the client.