Receive a Delivery Report

Delivery reports provide feedback regarding the delivery status of each SMS message. To receive a report back for a message, you need to include the report parameter in the message request.

Important: The information and contents displayed in these pages is for the OpenMarket's legacy UK SMS APIs. This information is relevant if only you're still using these APIs. For information on migrating from these APIs, see the API Release Notes. Please note, however, that Reporting is still done through Partner Centre, located here: https://partner.mxtelecom.com/home.

If messages are sent with delivery reports enabled (and the operators concerned support reports) then delivery reports will be added to the online billing system automatically.

Quick facts

Method

GET

Response required

HTTP 200 response with a non-empty body.

Prerequisites

Available for existing customers only.

More information

See also Delivery Reports.

Request from OpenMarket

Delivery reports take the form of an HTTP GET request to your platform. You will need to provide us with a URL to your platform. To protect the data while in transit, we recommend using an HTTPS (SSL) URL.

Example request

https://yourplatform.com/drpt.cgi?smsfrom=447700900750&smsmsg=REPORT+17218733+DELIVERED&smsto=58870&shortcode=58870&smsid=17221293&smsdate=2002-04-30+21%3A58%3A00&reason=1359151616

The possible parameters are in the table below.

Parameter

Description

smsfrom The mobile number that you sent a message to.
smsdate The timestamp of the delivery report. The format is: yyyy-MM-dd HH:mm:ss.
smsmsg

The smsmsg field will be of the format:

REPORT <SMS ID> <STATUS>

For example:

REPORT <37954551> <BUFFERED>
  • <SMS ID> is a positive 64 bit integer used to uniquely identify an SMS message as it passes through our systems. This ID is assigned when the message is first submitted to OpenMarket, and the HTTP response returned for the request includes this ID.
  • <STATUS> is the delivery report type code. For more information, see Delivery Reports.
reason The detailed delivery reason code. This is passed as a decimal number; for example "1610612736". Before it can be used, this code should be converted to hexadecimal; for example, "0x60000000". For information on interpreting this value, see Delivery Reports.
note The note passed with the original MT message request. This field is only present if a note was provided.
smsto Can be ignored.
shortcode Can be ignored.

Responding to the request

You should respond with a non-empty HTTP 200 response. If a 200 response is not given within a timeout (60 seconds) then we retry the request. You will need to make sure that you filter duplicate requests.

If there are any errors receiving the request, please use standard HTTP error response codes.