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
You send
Via the dashboard, an Excel import, e-mail or the REST API. The message receives a unique message ID.
We hand over
SMSBOX routes the message to the recipient's operator. The status becomes Sent.
The operator delivers
If the device is switched off, the message stays queued: Buffered.
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.
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.