In international SMS business, a successful send API response does not mean the message has reached the user handset. Whether an OTP was delivered, whether an order notification arrived, and why a batch of messages failed all require further status information from SMS receipts.
SMS delivery receipt push (Delivery Receipt Push) is the technical mechanism by which a cloud communication platform receives delivery status reports returned by upstream carriers or SMS routes, parses and matches them to the original message, and then proactively notifies the customer business system of status changes.
In international SMS scenarios, this kind of delivery status report is usually called DLR (Delivery Receipt).
For businesses such as cross-border e-commerce, overseas finance, gaming and cross-border logistics, international SMS receipts are used not only to display sending results but also directly affect delivery rate statistics, route quality evaluation, anomaly investigation and business process automation.
So why can SMS receipt push return status relatively quickly? Which underlying technologies does it rely on? And when receipts are delayed, lost or inconsistent, which parts of the chain should be examined?
The core of SMS receipt push is to pass the status information generated during subsequent delivery back to the original sender.
In an international SMS system, three easily confused concepts need to be distinguished.
| Concept | Technical meaning | Does it mean the SMS was delivered |
|---|---|---|
| API send response | The send request was accepted or rejected by the interface | Not necessarily |
| SMPP submit response | The upstream SMSC returns a response to the submit request | Not necessarily |
| DLR delivery receipt | The delivery status report returned by the upstream | Depends on the specific receipt status |
For example, in the SMPP protocol, submit_sm_resp responds to a message submission request, while delivery receipts are usually returned through subsequent operations such as deliver_sm or data_sm.
Successful SMS submission and successful SMS delivery are two different stages; the terminal delivery result cannot be judged solely from a successful send API response.
Note that the term uplink receipt push in this article refers to delivery status flowing from the carrier or upstream route back to the cloud communication platform and then to the customer business system. It is not the same concept as an uplink SMS (MO) sent by a user from a handset to a business number.
A reliable international SMS receipt system usually includes a send API, a message queue, route connection services, a receipt parsing service, status storage and an HTTP callback service.
A typical processing flow looks like this:
Customer Business System
│
│ SMS send request
▼
Cloud Communication Platform API
│
▼
Message Queue and Send Scheduling
│
▼
Upstream SMS Route / SMSC
│
│ Returns submit response
│
│ Produces delivery receipt later
▼
Route Receiving Service
│
▼
Receipt Parsing and Message ID Matching
│
▼
Status Normalization and Persistence
│
▼
Asynchronous Callback Queue
│
│ HTTP POST
▼
Customer Callback Endpoint
│
▼
Order Status Update / Business Statistics / Exception Handling
This chain can be divided into four core stages: receipt generation, protocol reception, status processing and callback push.
After a customer submits a message, the cloud communication platform generates an internal identifier for it and records the necessary business information, such as the customer account, destination number, submission time, route used and business request identifier.
When connecting to upstream through SMPP, the platform can set registered_delivery in the submit_sm request to request the corresponding delivery receipt.
After accepting the submission request, the upstream usually returns a message identifier through submit_sm_resp. The platform must properly store the mapping between its internal message ID and the upstream message ID so that the original message can be located accurately later.
In international SMS business, different countries, carriers and intermediate routes may use different message IDs. If a message passes through multiple forwarding levels, the identifier may also be remapped.
Therefore, receipt processing cannot rely solely on the phone number and sending time for matching.
A reliable message ID association mechanism is the foundation for accurate SMS receipts and for avoiding status mismatches between messages.
After a message is submitted, the SMSC generates a corresponding status report according to the actual delivery situation and the mechanisms it supports.
In SMPP scenarios, receipts are usually returned through operations such as deliver_sm or data_sm. After receiving a message, the platform must determine whether it is a normal uplink SMS, a delivery receipt or another message type, and route it to the corresponding processing logic.
Common receipt parsing information includes:
esm_class: helps identify the message type, including delivery receipt related flags.receipted_message_id: in the relevant protocol implementation, identifies the original message to be associated.message_state: in the relevant implementation, carries the delivery status.The specific fields and encoding depend on the protocol version, upstream implementation and route conventions. A production system must be compatible with the receipt format of the routes it actually connects to, and cannot assume that every route uses exactly the same structure.
An international SMS platform usually connects to upstream routes in different countries and regions. Even when they represent the same result, the status names, status codes and error messages returned by each route may differ.
For example, a success status may use DELIVRD, DELIVERED or another definition, while a failure status may require combining the error code to determine the cause.
Therefore, the platform needs a unified SMS status mapping mechanism that converts data returned by different upstreams into internal standard statuses while retaining the necessary raw receipt information.
During processing, three issues require particular attention:
Only after these steps can customer systems query and use international SMS delivery status according to relatively consistent rules.
After parsing a receipt, the platform usually writes the status event into an independent callback queue, and the callback service sends an HTTP POST request to the endpoint preconfigured by the customer.
Depending on the interface design, callback data may include the following information:
{
"message_id": "msg_202610220001",
"status": "DELIVERED",
"error_code": "0",
"event_time": "2026-10-22T10:30:15+08:00"
}
The structure above is an example. Actual fields, status values and time formats are subject to the platform API definition.
After receiving the callback, the customer system can update order notification status, record OTP delivery results, analyze route performance or trigger subsequent business operations.
Separating route reception, status processing and HTTP callbacks prevents a slow customer system from affecting the normal reception of upstream receipts.
The relatively fast return of SMS receipts depends on the upstream status report mechanism and the event-driven architecture inside the platform, not merely on adding an HTTP callback endpoint.
Traditional active querying requires the customer system to call an interface at fixed intervals to check SMS status. If it queries every 10 seconds, a status change occurring between queries may only be obtained in the next polling round.
Receipt push instead uses an event-driven model: once the platform receives an upstream status report, it can immediately enter the parsing and push flow without waiting for the customer to initiate another query.
This mechanism reduces the extra delay caused by polling and lowers the system overhead of frequent queries.
It should be clear, however, that event-driven processing only shortens the time the platform needs to detect and deliver a status; it cannot make the carrier generate a receipt earlier.
In SMPP integrations, the platform usually maintains a persistent connection with the upstream SMSC. The upstream can return related protocol messages over the existing session without establishing a new connection for every receipt.
Inside the platform, receipt reception, status updates and customer callbacks can each be handled by independent services.
This asynchronous decoupled architecture reduces direct dependencies between stages. When a customer endpoint responds slowly, the callback queue can buffer pending events, thereby limiting the impact on the route receiving service.
When SMS volume is high, receipts may arrive in a concentrated burst. If a single process synchronously performs message parsing, database writes and customer callbacks, queue backlog easily occurs.
With persistent message queues, concurrent consumers, reasonable database write strategies and independent callback workers, the platform can allocate processing resources according to the actual load.
However, concurrency must match the database connection pool, upstream rate limits, customer endpoint throttling and system resources. Increasing the thread count alone may not improve overall receipt latency.
The end-to-end response time of an SMS receipt is usually determined jointly by upstream receipt generation, cross-border network transmission, platform processing and customer endpoint response.
1. Carrier Receipt Support and Generation Policy
Carriers in different countries and regions may differ in their support scope and return policy for SMS status reports. Some routes can provide timely status reports, while others may support only partial statuses or follow specific return rules.
If the upstream has not yet generated or returned a receipt, the cloud communication platform cannot obtain a real delivery result.
2. Terminal State and SMS Retry Mechanisms
When the destination handset is powered off, temporarily unable to connect to the network or experiencing a roaming anomaly, the message may enter a waiting or retry process.
Under store-and-forward mechanisms, the SMSC may continue attempting delivery within the validity period. At this point, the platform not yet having received a final receipt does not necessarily mean the message has failed.
3. International Route Transmission and Queuing Delay
International SMS may pass through multiple forwarding nodes. Upstream system congestion, route switching, connection anomalies and queue backlog can all delay receipt return.
Therefore, when evaluating international SMS route quality, focus not only on submission speed but also on receipt coverage, return latency and the proportion of anomalies.
4. Internal Platform Processing and Customer Endpoint Response
Slow database queries, callback task backlog, network timeouts and customer endpoint throttling can also delay the final status notification.
It is advisable for the platform to record receipt reception time, parsing completion time, status persistence time, callback send time and customer response time separately, so as to identify exactly where the delay occurs.
For high-concurrency international SMS business, a receipt system must address timeliness, accuracy and exception recovery at the same time.
First, Establish Idempotency
After a network timeout, the platform may retry the same event. The customer system should use an event identifier or business unique key to avoid duplicate processing, preventing duplicate accounting and duplicate business actions.
Second, Manage Status Transitions
The conversion rules between intermediate and final states should be clearly defined to prevent expired or out-of-order receipts from overwriting the final result.
Third, Configure Reliable Callback Retries
For temporary network anomalies, HTTP 5xx responses or throttling, a limited number of retries with a backoff strategy can be used; after repeated failures, events should enter an exception queue for investigation or recovery.
Fourth, Keep Complete Chain Logs
Retaining the platform message ID, upstream message ID, route information, raw receipt, status changes, callback responses and retry records helps technical teams locate problems accurately.
Fifth, Establish Receipt Monitoring Metrics
Monitor, according to business needs, receipt coverage, receipt latency distribution, callback success rate, queue backlog, duplicate receipt ratio and the number of long-unfinished messages.
These measures give the receipt system better observability and recoverability during traffic fluctuations or partial failures.
SMS delivery receipt push means a cloud communication platform receives delivery status reports returned by upstream carriers or SMS routes, parses and matches them to the original message, and then proactively notifies the customer system through a callback interface. It is mainly used to track SMS delivery status, analyze sending results and investigate anomalies.
A successful send usually means the interface or upstream has accepted the submission request, which does not necessarily mean the message was delivered. Missing receipts may be related to the carrier not returning a status report, the message still being in delivery or retry, delayed receipt transmission, message ID matching problems or a failed customer callback.
In SMPP scenarios, the platform can request delivery receipts according to business needs. The submission response is usually returned through submit_sm_resp, while subsequent delivery receipts are usually passed through operations such as deliver_sm or data_sm. The specific fields and status format depend on the upstream route implementation.
It cannot be guaranteed that every international message returns a final status within a fixed time. Receipt support and return time are affected by the destination carrier, upstream route, terminal state and platform processing capability. A platform can optimize its own processing chain but cannot control when a carrier generates a receipt.
Evaluate receipt coverage, receipt latency distribution, status accuracy, callback success rate, duplicate event handling and exception recovery mechanisms together. For messages that have not received a receipt for a long time, supplementary verification is needed using route rules and active query mechanisms.
SMS receipt push is not a simple interface notification but a technical chain spanning carriers, upstream routes, cloud communication platforms and customer business systems.
From SMPP protocol reception and message ID matching to unified status processing, asynchronous queues and HTTP callbacks, every stage affects the accuracy, timeliness and reliability of receipts.
For international SMS business, a well-designed receipt system helps enterprises track message status more accurately and provides a data basis for delivery rate analysis, route quality evaluation and business process optimization.
The YaningAI cloud communication platform serves enterprise international communication scenarios, focusing on international SMS access, message status tracking and API integration efficiency to help enterprises build a clearer and more observable messaging system.
To learn about international SMS APIs, SMPP access or SMS receipt push solutions, contact the YaningAI technical team to evaluate a suitable integration approach based on target countries, business scale and the existing system architecture.
As international SMS volume grows, relying only on interface submission results often cannot meet enterprise needs for message status, route performance and anomaly investigation.
The YaningAI cloud communication platform supports SMS access solutions for enterprise international communication scenarios. We can evaluate API or SMPP integration options based on business needs and design an appropriate technical architecture around receipt processing, status tracking and business system integration.
Applicable scenarios:
Contact us to learn about international SMS API and receipt push integration options.
Share your target countries, estimated SMS volume and technical integration method so our technical team can evaluate the international SMS solution that fits your needs.
Consult International SMS Integration