SMS delivery reports tell you whether your messages actually reached recipients. For Nigerian applications sending OTP, transactional alerts, or marketing campaigns, delivery data is critical for debugging, compliance, and improving campaign performance.
What Are SMS Delivery Reports?
When an SMS is sent from your application, the message travels through the gateway to the carrier SMSC, which attempts delivery to the handset. The handset acknowledges receipt, and this acknowledgment travels back through the network as a Delivery Report (DLR). DLRs confirm whether the message was delivered, failed, or is still pending.
Delivery Report Status Codes
Standard DLR statuses: Delivered (message confirmed at handset), Failed (delivery definitively failed — number not in service, etc.), Expired (message not delivered within validity period, typically 24–48 hours), Rejected (number is DND or invalid), Pending (message queued but not yet delivered). Each status requires different handling in your application.
Polling vs Webhooks for Delivery Reports
Polling — repeatedly querying the API for message status — works for low-volume applications but becomes inefficient at scale. Webhooks are the correct approach for production applications: the API calls your endpoint when the delivery status changes, eliminating polling overhead and providing real-time status updates.
Implementing a Webhook Endpoint
Your webhook endpoint must: respond with HTTP 200 within 10 seconds (otherwise the gateway retries), validate the webhook signature to prevent spoofing, handle duplicate deliveries idempotently (the same DLR may be sent multiple times), parse the JSON payload and extract message ID and status, and update your notification records accordingly.
Using Delivery Data to Improve Performance
Aggregate delivery report data to identify network-specific delivery issues, optimal sending times, and problematic sender IDs. If Glo delivery rates drop below 90%, investigate route quality. If delivery times spike on specific networks during certain hours, adjust campaign scheduling accordingly.
Related Services