Webhook Reliability
Webhook receivers should fail safely. SenteRail may retry events when your endpoint is unavailable or returns an error, so your system must handle duplicates and delayed delivery.
Receiver Requirements
- Verify the signature before processing.
- Persist the raw event or event summary before applying business state.
- Store event IDs for dedupe.
- Return success only after durable persistence.
- Alert your owner when event processing fails repeatedly.
- Reconcile instead of guessing when event order is uncertain.
Retry-Safe State Changes
Design every webhook handler so repeated delivery produces the same final state. Do not ship goods, post member transactions, or mark obligations settled twice because the same event arrived twice.
Failure Mode Checklist
Test these scenarios before go-live:
- endpoint temporarily unavailable
- duplicate event
- valid event with delayed delivery
- malformed signature
- stale timestamp
- event arrives after your user has refreshed status
- reconciliation finds a local record with no matching event