Delivery Webhook
Send SMS delivery reports to an HTTPS endpoint you control.
Endpoint settings
When a delivery report is saved, TAPSA sends your endpoint a JSON POST with the report details.
Destinations must use HTTPS and resolve to public IP addresses. Redirects are not followed. Each delivery request times out after five seconds. Delivery failures are logged and do not prevent the SMS provider callback from being acknowledged.
Delivery report payload
Example JSON sent to your endpoint. success is true for success or delivered statuses, false for failed, rejected, undelivered, or expired statuses, and null when the result is not yet conclusive.
{
"event": "sms.delivery",
"messageId": "ATXid_0123456789",
"status": "Success",
"success": true,
"phoneNumber": "+255712345678",
"senderId": "TAPSA",
"message": "Your verification code is 123456",
"networkCode": "64002",
"failureReason": null,
"retryCount": 0,
"occurredAt": "2026-10-08T12:34:56.000Z"
}
- event
- Event name, always
sms.delivery. - messageId
- Provider message identifier.
- status
- Delivery status reported by the provider.
- success
true,false, ornullas described above.- phoneNumber
- Destination phone number.
- senderId
- Sender ID used for the SMS.
- message
- SMS message content.
- networkCode
- Provider network code, when available.
- failureReason
- Failure detail, or
nullwhen unavailable. - retryCount
- Number of delivery attempts reported.
- occurredAt
- Time the delivery event occurred.