1. home
  2. Text
  3. Getting started!

How can I use Status Reports?

With status reports you can receive an update on every status change your messages undergo. Our platform will HTTP GET a specific script on your server. A so-called event webhook.

Set up a Status Report webhook

  1. Go to your Messaging Gateway app in your dashboard

How can I use Status Reports? | CM Help Center

  1. Scroll down to "Status reports"
  2. Select the checkbox to switch on Status Reports and input the URL to your callback script. If you want to specify exactly how the callback URL should look like you can "Show advanced settings" and select each separate key/value pair.

How can I use Status Reports? | CM Help Center

4. Save your settings!!!

After saving your settings, we will immediately make a test call to the provided URL. We'll send the exact example as it is shown in the Example Status Report webhook section. Please, make sure when we make this call that HTTP status code 200(OK) is returned!

Status report parameters

Name Format Description
CREATED_S Datetime The moment when the status report was registered in the system (yyyy-mm-ddThh:ii:ss)
DATETIME_S Datetime The moment when the status report was sent to the endpoint of the customer (yyyy-mm-ddThh:ii:ss)
GSM String The telephonenumber of the message recipient
REFERENCE String The message reference provided by the customer
STANDARDERRORTEXT String The description of the error if the message is in an error-state
STATUS Integer The code describing the current state of the message. 0=accepted by the operator, 1=rejected by CM or operator,2=delivered, 3=failed (message was not delivered and will not be delivered)
STATUSDESCRIPTION String The description of the current state of the message
+GSM String The telephonenumber of the recipient with preceding + instead of 00
EXTERNALSTATUSDESCRIPTION String The status description our system received from the supplier
ID Integer The id of the message in the system
OPERATOR String The MCCMNC of the operator for the recipient
RECIPIENT String The telephonenumber of the message recipient
SRCREATED Datetime The moment when the status report was registered in the system (mm/dd/yyyy hh:ii:ss P)
SRCREATED_S Datetime The moment when the status report was registered in the system (yyyy-mm-ddThh:ii:ss)
STATUSCODESTRING String The same value as [STANDARDERRORTEXT], but lowercase
STATUSISSUCCESS Integer The success-state of the status code, 1 on success , 0 on error
TIME Time The time when the status report was sent to the endpoint of the customer (hh:ii:ss P)
CUSTOMGROUPING string The custom grouping set for this MT by the user. See Custom Grouping
CUSTOMGROUPING2 string The second custom grouping set for this MT by the user. See Custom Grouping
CUSTOMGROUPING3 string The third custom grouping set for this MT by the user. See Custom Grouping

Status report standard errors

Error code Short description Full description
5 Message not delivered at third party The message has been confirmed as undelivered but no detailed information related to the failure is known.
7 Message not delivered at operator because recipient has insufficient credit Temporary - Used to indicate to the client that the message has not yet been delivered due to insufficient subscriber credit but is being retried within the network.
8 Message expired at third party Temporary - Used when a message expired (could not be delivered within the life time of the message) within the operator SMSC but is not associated with a reason for failure.
20 Message not delivered because of a malformed request Used when a message in its current form is undeliverable.
21 Message expired at operator Temporary - Only occurs where the operator accepts the message before performing the subscriber credit check. If there is insufficient credit then the operator will retry the message until the subscriber tops up or the message expires. If the message expires and the last failure reason is related to credit then this error code will be used.
22 Message not delivered at operator because recipient has insufficient credit Temporary - Only occurs where the operator performs the subscriber credit check before accepting the message and rejects messages if there are insufficient funds available.
23 Message not delivered because of an incorrect recipient number (invalid/blacklisted/barred) Used when the message is undeliverable due to an incorrect / invalid / blacklisted / permanently barred MSISDN for this operator. This MSISDN should not be used again for message submissions to this operator.
24 Message not delivered because the recipient was unreachable Temporary - Used when a message is undeliverable because the subscriber is temporarily absent, e.g. his/her phone is switch off, he/she cannot be located on the network.
25 Message not delivered at third party Temporary - Used when the message has failed due to a temporary condition in the operator network. This could be related to the SS7 layer, SMSC or gateway.
26 Message not delivered because of a temporary handset issue (simcard full/memory exceeded/SME busy) Temporary - Used when a message has failed due to a temporary phone related error, e.g. SIM card full, SME busy, memory exceeded etc. This does not mean the phone is unable to receive this type of message/content (refer to error code 27).
27 Message not delivered because of a permanent handset issue (unable to receive SMS) Permanent - Used when a handset is permanently incompatible or unable to receive this type of message.
28 Message not delivered because submission speed is too high (throttling errors) Used if a message fails or is rejected due to suspicion of SPAM on the operator network. This could indicate in some geographies that the operator has no record of the mandatory MO required for an MT.
29 Message not delivered because content is not permitted Permanent - Used when this specific content is not permitted on the network / shortcode.
30 Message not delivered because the set spend limit is reached Temporary - Used when message fails or is rejected because the subscriber has reached the predetermined spend limit for the current billing period.
31 Message not delivered because the recipient was suspended from premium services Used when the MSISDN is for a valid subscriber on the operator but the message fails or is rejected because the subscriber is unable to be billed, e.g. the subscriber account is suspended (either voluntarily or involuntarily), the subscriber is not enabled for bill-tophone services, the subscriber is not eligible for bill-to-phone services, etc.
33 Message not delivered because of parental lock Used when the subscriber cannot receive adult content because of a parental lock.
34 Message not delivered because age check failure Permanent - Used when the subscriber cannot receive adult content because they have previously failed the age verification process.
35 Message not delivered because age check missing Temporary - Used when the subscriber cannot receive adult content because they have not previously completed age verification.
36 Message not delivered because age check unavailable Temporary - Used when the subscriber cannot receive adult content because a temporary communication error prevents their status being verified on the age verification platform.
37 Message not delivered because recipient is in national Do-Not-Call Register (for example, the Dutch SMS DienstenFilter and Chinese DnD list) The MSISDN is on the national blacklist
Last modified on 14/11/2017
Was this article helpful?