Skip to main content

Event Types

Creating Subscriptions

The secret is optional but recommended for signature verification.

DLR Payload

Delivery reports notify of status changes:

Status Values

  • submitted — Sent to carrier
  • delivered — Confirmed delivery
  • failed — Delivery failed
  • expired — Validity period exceeded

Error Codes

MO Payload

Inbound messages from users:

HMAC Signature Verification

Verify webhook authenticity using the X-Webhook-Signature header:

Retry Policy

Failed webhook deliveries are retried with exponential backoff: After 3 failed attempts, the webhook is marked as failed and logged.
Return a 200 status code within 5 seconds to avoid retries.

Testing Webhooks

Use the test endpoint to send sample events:

Best Practices

  1. Respond quickly — Acknowledge with 200 status before processing
  2. Process async — Queue webhook data for background processing
  3. Verify signatures — Always validate X-Webhook-Signature
  4. Handle duplicates — Use message_id for idempotency
  5. Monitor failures — Check failed webhook logs regularly

Async Processing Example