This topic explains SMS message states, delivery monitoring, and ways to improve deliverability.
Understand message states
Every SMS request has a status that indicates its current state. Intermediate states apply while Unifonic processes a message. Final states apply after Unifonic submits it to the mobile operator.
Intermediate states
| Message state | Description |
|---|---|
| Queued | The message passed validation and is queued for submission to the mobile operator. |
| Sent | Unifonic submitted the message to the mobile operator or a carrier partner. This state normally changes to Delivered or Undelivered within seconds or minutes after the operator returns a delivery confirmation. |
Final states
| Message state | Description |
|---|---|
| Delivered | Unifonic received delivery confirmation from the mobile operator or, where available, the destination device. |
| Undelivered | The message failed Unifonic validation, or the operator returned a delivery receipt indicating that the message was not delivered. See Understanding Reasons of SMS Non-delivery. |
| Delivery not confirmed | Unifonic submitted the message, but received neither delivery confirmation nor a non-delivery indication. Operator settings that block delivery receipts or connectivity issues can cause this state. If it occurs frequently, contact Unifonic Customer Support. |
Monitor delivery
Use either of these methods:
- Real-time Message Logs: Monitor message delivery in the Unifonic Console. See Real-time Message Logs Report.
- Delivery status webhook: Receive delivery updates and act programmatically when conditions occur, such as deliverability dropping below a defined threshold. See Receiving Delivery Status via Webhook.
Improve deliverability
Deliverability is the percentage of messages that reach their intended recipients. Follow these practices:
- Validate recipient numbers. Keep your customer database current. Each number must include a valid country code, such as 971 for the UAE, the operator prefix, and the correct number of digits.
- Avoid content filtering. Do not send content that violates operator policies or regulations, including profanity, phishing, or spam. Use a branded URL or Unifonic Link Shortening instead of public shorteners such as Bitly or TinyURL.
- Test API requests. Send one or two test requests before production traffic. Confirm that all parameters are present, the API returns 200 OK, and the device receives the message.