In the sandbox, eSMS Africa simulates the full delivery lifecycle and calls your webhook exactly as production would — so you can build and verify your delivery-report handling with test keys.

What you receive

After a simulated send, we POST a signed JSON payload to your configured webhook URL. Test events carry "livemode":false and "environment":"test":

{
  "event": "message.delivered",
  "message_id": "test_ff13a...",
  "status": "delivered",
  "segments": 1,
  "encoding": "GSM7",
  "environment": "test",
  "livemode": false
}

Verify the signature

Every webhook is signed with HMAC-SHA256 over the raw body. Validate the signature header before trusting a payload — the same check works for test and live events.

Simulate failures

Combine webhooks with magic numbers: send to a number ending …0000 to receive an undelivered webhook, or …0003 for a failed event.

Safe by default

Webhook URLs that resolve to private or internal addresses are blocked for your protection, in both test and live mode.