Skip to content

Webhooks

Receive real-time notifications when message events occur.

Event Types

EventDescription
sentMessage accepted by provider
deliveredMessage delivered to recipient
failedDelivery failed permanently
openedRecipient opened the email
bouncedMessage 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.

TechTrans Lab