Delivery reports & SMS statuses

A delivery report — also called a delivery report or DLR — is the network's feedback on what happened to your message. The key distinction: Sent means the message was handed over to the operator, Delivered means it actually arrived on the device. Only the latter is a confirmation.

Below you will find every status code SMSBOX returns, what it means and what you can do about it.

All status codes and their meaning

Code Status What it means What to do about it
10 Sent The message has been handed over to the operator's network. Wait — this is an intermediate status, not a confirmation of delivery.
11 Delivered The message has arrived on the recipient's device. Nothing. This is the final status you want to see.
12 Buffered Accepted but not yet deliverable — the device is switched off or out of range. Wait. The network keeps retrying as long as the validity period lasts.
13 Undelivered The network was unable to deliver the message, for example because the number no longer exists. Check the number. If this happens often, clean up your list with a bulk HLR.
14 Expired The validity period expired without the device becoming reachable. Send again at another time, or mark the number as inactive.
15 Rejected The network refused the message — for example because of a disallowed sender name or content judged to be spam. Check your sender and the text. Do not keep retrying: that damages your reputation with the operator.
16 Unknown The network gives no definitive answer. Some foreign operators simply do not provide reliable reporting. Do not treat this as an error. If in doubt, verify the number separately.
20 Blacklist The number is on a block list and no longer receives messages from you — usually after an opt-out. Remove the number from your list. Continuing to send costs credits and achieves nothing.
21 LowBalance Insufficient credits on your account to send the message. Top up, or enable automatic top-up and a balance alert.
01 Error Something went wrong while processing the message. Check the tracelog for the raw request and response, or contact support with the message ID.

final status, successful   intermediate status or undetermined   not delivered, action needed

The journey your message makes

1

You send

Via the dashboard, an Excel import, e-mail or the REST API. The message receives a unique message ID.

2

We hand over

SMSBOX routes the message to the recipient's operator. The status becomes Sent.

3

The operator delivers

If the device is switched off, the message stays queued: Buffered.

4

The network reports back

The final status comes in: Delivered, or one of the failure statuses above.

Time may pass between steps 2 and 4. A message still showing Sent after a few seconds has therefore not failed — it is waiting for the network's feedback.

Statuses in your own system

In the dashboard you can check the status of every sent message. If you work via the API, there is no need to keep polling: include a notification URL when sending and we push every status change to that address via an HTTP POST.

That POST contains the message ID and the status code from the table above. This keeps your own database up to date and lets you respond immediately — call a customer on an Undelivered, or flag a number on a Blacklist.

Forwarding delivery statuses to your own system

How to keep your delivery rate high

Most failed messages are preventable. A list that has been in use for years inevitably contains numbers that no longer exist — and every send to those costs credits without any result.

Check your list in advance with a bulk HLR and remove dead numbers
Process every opt-out immediately, so you do not keep sending to a blacklist
Use a recognisable sender — anonymous messages are refused more often
Keep sufficient balance or enable automatic top-up
Clean up your number list Automatic top-up

Frequently asked questions about delivery reports

A delivery report, also called DLR, is the network's feedback on what happened to your message. It tells you whether the message was forwarded, actually arrived on the device, or got stuck along the way — and why.
Sent means the message has been handed over to the operator's network. Delivered means it has actually arrived on the recipient's device. Only Delivered is confirmation that the message has reached its destination.
The network has accepted the message but cannot deliver it yet, usually because the device is switched off or out of range. The message stays in a queue for a while and is still delivered as soon as the device is reachable again. If that does not succeed within the validity period, the status becomes Expired.
Undelivered means the network was unable to deliver the message, for example because the number no longer exists. Rejected means the network refused the message, for example because of a disallowed sender name or content judged to be spam. With repeated Undelivered statuses, your number list is due for a clean-up.
The number is on a block list and no longer receives messages from you. That happens, for example, when someone has unsubscribed. Do not keep sending to such numbers: it costs credits and damages your reputation with the operators.
There were insufficient credits on your account to send the message. Enable a balance alert or switch on automatic top-up to avoid a campaign stalling halfway.
Yes. Provide a notification URL when sending and we send every status change via an HTTP POST to that address, with the message ID and the status code. That way you keep your own database up to date without having to poll.
The statuses remain visible with your sent messages in the dashboard. If you work via the API and also want to inspect the raw requests and responses when investigating a problem, you will find them in the trace log, which is kept for thirty days.
Trust Guard Security Scanned
Call us
Send an email