When you send an SMS through the API you can include a callback_url. When the network reports back, we POST a delivery receipt to that URL, so you do not have to poll for the result.
What the receipt tells you
- status: delivered, expired or failed.
- message_id: your correlation ID, or the one we generated when you sent the message.
- iccid, msisdn and received_at: which SIM it was and when the receipt arrived.
A handler, end to end
app.post("/sms-receipt", (req, res) => {
const r = req.body;
if (r.status !== "delivered") flagMessage(r.message_id, r.status);
res.sendStatus(200);
});Heads up
Return a 2xx quickly, then do the work. A receipt that fails to reach your endpoint is logged on our side but not retried.


