Webhooks
Events for every message state change.
Use webhooks to move delivery state from Dugble into your own product: delivered OTPs, failed receipts, bounced emails, and retry attempts.
Webhook delivery contract
Every event should include the event type, message ID, channel, recipient, timestamp, and a signature your backend can verify before mutating state.
message.delivered
message.failed
message.bounced
Verify signatures
Reject events that fail the X-Dugble-Signature check before updating product state.
Handle retries
Return a 2xx response only after your endpoint has safely processed the event.
Store event IDs
Deduplicate webhook deliveries so repeated attempts do not mutate data twice.