SMS statuses are grouped by their first digit. Handle the code group first and then the specific code so the integration continues to work as new codes are added.
Code groups
| First digit |
Group |
Meaning |
1xx |
Info |
The message is moving through the delivery flow. |
2xx |
Success |
The flow ended in a defined way, such as delivered, expired or canceled. |
4xx |
Rejection |
The message was rejected because of the account, sender, content or recipient. |
5xx |
Error |
A technical or network-related delivery error occurred. |
Expired and Canceled belong to the Success group because processing has ended, not because the message reached the handset. Always check the specific code.
Info
| Name |
Code |
Description |
| Accepted |
101 |
The message has been accepted for processing. |
| Queued |
102 |
The message is queued. |
| Funded |
103 |
The cost has been deducted from the balance. |
| Refunded |
104 |
The cost has been refunded. |
| Sending |
110 |
The message is being sent. |
| DeliveredToGateway |
111 |
Passed to the gateway. |
| DeliveredToCarrier |
112 |
Passed to the recipient’s carrier. |
| DeliveredToGSM |
113 |
Passed to the GSM network. |
| QueuedAtGateway |
114 |
Queued at the gateway. |
Final statuses
| Name |
Code |
Description |
| DeliveredToHandset |
201 |
Delivered to the recipient’s handset. |
| Expired |
202 |
The delivery window expired before delivery. |
| Canceled |
203 |
Canceled by the user. |
Rejections
| Name |
Code |
Description |
| InsufficientFunds |
402 |
The account has insufficient funds. |
| SenderRejected |
403 |
The sender was rejected or could not be verified. |
| ContentRejected |
404 |
The content is not allowed for the carrier or country. |
| RecipientRejected |
405 |
The recipient was rejected. |
| GenericRejected |
406 |
Rejected for another reason. |
| InvalidSender |
407 |
The sender has an invalid format or characters. |
| InvalidContent |
408 |
The content is invalid, for example too long or incorrectly encoded. |
| InvalidRecipient |
409 |
The recipient is not a valid MSISDN. |
| MissingSmsSubscription |
410 |
The subscription cannot receive SMS. |
Delivery errors
| Name |
Code |
Description |
| InternalError |
500 |
Unknown internal error. |
| UnknownSubscriber |
501 |
The subscriber does not exist. |
| SubscriberUnreachable |
502 |
The subscriber could not be reached. |
| SubscriberOffline |
503 |
The subscriber is temporarily offline; delivery may be retried. |
| DeliveryToGatewayFailed |
511 |
Could not be passed to the next gateway. |
| DeliveryToCarrierFailed |
512 |
Could not be passed to the carrier. |
| DeliveryToGSMFailed |
513 |
Could not be added to the GSM network. |
| DeliveryToHandsetFailed |
514 |
Could not be delivered to the handset. |
| GenericDeliveryFailure |
515 |
General delivery failure. |
| GatewayError |
516 |
Unknown gateway error. |
| Unknown |
599 |
The delivery receipt is missing or could not be interpreted. |
Recommended handling
- display
101–114 as in progress
- treat only
201 as confirmed handset delivery
- display
202 and 203 as completed without delivery
- correct account or data errors for
4xx before retrying
- use controlled backoff for temporary
5xx errors
- do not create unlimited retries for a permanent status