Webhooks
Receive real-time notifications when message events occur.
Event Types
| Event | Description |
|---|---|
sent | Message accepted by provider |
delivered | Message delivered to recipient |
failed | Delivery failed permanently |
opened | Recipient opened the email |
bounced | Message bounced (hard or soft) |
Webhook Payload
json
{
"event": "delivered",
"message_id": "msg_abc123",
"timestamp": "2026-03-07T12:00:00Z",
"recipient": "[email protected]",
"metadata": {
"provider": "ses",
"region": "ap-northeast-1"
}
}Configuration
Configure webhook endpoints in the dashboard. Each webhook has:
- URL — Your endpoint
- Events — Which events to receive
- Secret — For verifying webhook signatures
Retry Policy
Failed webhook deliveries are retried with exponential backoff:
- Up to 5 retries
- 30 second timeout per attempt
- Backoff: 30s → 1m → 2m → 4m → 8m
Manual Retry
bash
# View webhook logs
curl https://api-dispatch.techtranslab.com/api/v1/webhooks/logs \
-H "Authorization: Bearer your-jwt"
# Retry a failed webhook
curl -X POST https://api-dispatch.techtranslab.com/api/v1/webhooks/logs/{id}/retry \
-H "Authorization: Bearer your-jwt"Open Tracking
Email opens are tracked via a transparent pixel. The tracking endpoint:
GET /api/v1/track/open/{messageID}This fires an opened webhook event when the recipient loads the email.