Polling for delivery status is wasteful. A webhook pushes each status change to your endpoint the moment it happens. Here is how to receive and trust it.

Set up an endpoint

Register an HTTPS URL to receive delivery events. eSMS posts a JSON body for every status change (sent, delivered, failed) with the message id and the operator status code, so you always know the real outcome.

Verify the signature

Every webhook is HMAC-signed with your signing secret. Recompute the HMAC over the raw request body and compare it, in constant time, with the signature header. Reject anything that does not match - this stops an attacker from forging delivery events.

Respond fast, process later

Return 200 immediately and do any heavy work asynchronously, so a slow handler never causes retries or timeouts. A delivery log lets you inspect and resend any event you missed.

Get started

Wire up delivery webhooks on a free account: start free.