Sent, delivered and undelivered are different facts
Twilio's message resource moves through queued, sending and sent before a final delivered, undelivered or failed status. Sent means the upstream carrier took the message. Delivered means Twilio received confirmation from the carrier and, where available, the handset. The words where available matter: a final status reflects what the carrier chose to report, not a guarantee that a person read the text.
- Store the message SID the moment you send.
- Treat delivered, undelivered and failed as the end states.
- Do not branch business rules on exact error codes: Twilio says the values may change.
Callbacks arrive in any order
If you give Twilio a status callback address, it posts each status change to your app. Twilio states there is no guarantee those posts arrive in the order they happened. A handler that simply saves the latest arrival can overwrite delivered with sent. A reliable handler ranks statuses and only ever moves forward.
- Validate the request signature before acting on the request; it is computed over the exact URL and the posted form fields.
- Reply 200 quickly with no body.
- Allow for new parameters appearing without notice.
Registration and permission are yours
Twilio says anyone sending application-to-person SMS over a 10DLC number to US recipients must register. Other countries and number types have their own rules. Who may be texted and what counts as consent are questions for the account holder and their adviser; code can only enforce the rule you decide, for example by sending only to numbers your data marks eligible.
- Confirm the sender is approved for each destination before building.
- Registration is not part of the code job.
- No consent or legal advice is given here.
Which paid step fits
One notification type for one event, tracked to a final status, is the single outcome priced from a fixed £345 test price, paid after the agreed checks pass and you sign off. A monthly delivery review is the standing service, and email, text and a staff alert together form the notification project. All prices are untested. Replies, opt-out keywords and sender registration are outside the single job. Send the event and countries first, never credentials or phone lists.
Sources and limits
- Twilio: Message resource Checked 2026-10-11.
- Statuses include queued, sending, sent, delivered, undelivered and failed.
- Delivered reflects handset confirmation only where available.
- Error code values may change and should not be used programmatically.
- Twilio: track outbound message status Checked 2026-10-11.
- Callbacks are form-encoded POSTs that can arrive out of order.
- Twilio recommends validating signatures with its SDKs.
- Twilio: A2P 10DLC Checked 2026-10-11.
- Application-to-person SMS over 10DLC numbers to US recipients requires registration.