Webhook Best Practices

Retry logic

BigMailer retries delivery of your webhooks for up to 5 days. The interval between retries increases exponentially from 5 minutes up to a maximum of 12 hours (5min, 10min, 20min, 40min, ... , 12hrs, 12hrs, 12hrs, ...).

Acknowledge events quickly

If your webhook script performs complex logic, or makes network calls, it’s possible that the script would time out before BigMailer sees its complete execution. Ideally, your webhook handler code (acknowledging receipt of an event by returning a 2xx status code) is separate of any other logic you do for that event.

Handle duplicate events

Webhook endpoints might occasionally receive the same event more than once. We advise you to guard against duplicated event receipts by making your event processing idempotent. One way of doing this is logging the events you’ve processed, and then not processing already-logged events.

Order of events

BigMailer does not guarantee the delivery of events in the order they are generated. Your endpoint should use the event in combination with the API to ensure your application is using the most complete and up to date version of BigMailer data.

Receive events with an HTTPS server

If you use an HTTPS URL for your webhook endpoint, BigMailer will validate that the connection to your server is secure before sending your webhook data. For this to work, your server must be correctly configured to support HTTPS with a valid server certificate.

Verify events are sent from BigMailer

Verifying webhook signatures to confirm that received events are sent from BigMailer.