Key Takeaways
- Laravel delivery reports on an Android SMS gateway are GET /messages/{id} plus HMAC webhooks — not a poll loop in the HTTP request that sent the SMS.
- Hub I framework physics matches Hub C. Confirm event names in Developer Center. No Composer SDK from us.
- Map status in your DB: accepted, claimed, delivered, failed, unknown. Unknown is not failed.
- CPaaS DLR is an aggregator SMSC. Yours is the operator behind your SIM, plus last-seen on the phone.
- You bring the phone and operator credit. Platform pricing is devices plus send volume.
Accepted is a Laravel job; delivered is a webhook
Product DLR: delivery reports. Webhooks: SMS webhooks. API hub: Android SMS gateway API. Live fields: Developer Center.
Laravel: laravel.com/docs. REST samples: PHP HTTPS/JSON. We meter devices and volume.
GET vs events
GET /api/v1/messages/{id} for lookup. Production: subscribe to message.delivered / message.failed. HMAC over timestamp + body. Deduplicate event ids.
“If your queued job sleeps until DLR, you blocked a worker for a radio. Persist, return, let the webhook finish the story.”
DLR failure modes
| Symptom | Likely cause | First check |
|---|---|---|
| User empty, UI says sent | 200 mapped to delivered | Wait for terminal event |
| No callbacks | URL, TLS, HMAC, secret | cURL webhook tests |
| Duplicate CRM rows | At-least-once webhook | Unique event id |
| Silent DLR | Operator never reported | Unknown; do not auto-resend OTP |
| All unknown on one device | Last-seen / SIM | Device health |
Verify then persist
Reject unsigned POSTs. HMAC: RFC 2104. Setup: pairing.
Unknown ≠ second code
Isolate OTP. CPaaS contrast: CPaaS vs SIM deliverability. Pricing.
Next steps
Store five states. Canary a staff send. Operator credit stays yours.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS delivery reports (DLR)Delivery status tracking
- SMS API documentationLive endpoint reference
- PHP REST send samplesPHP code examples
- device and SMS volume pricingPlans and allowances





