Recovery rules
- Deduplicate by webhook event ID.
- Make downstream side effects idempotent.
- Reconcile with
GETwhen the result of processing is unclear. - Prefer replaying your internal job from stored payload plus fresh API state instead of re-running business logic blindly.
Example reconciliation request
Example response
Common error
Practical workflow
- Persist the raw webhook payload.
- Acknowledge quickly.
- Process asynchronously.
- If processing fails after acknowledgement, retrieve the latest resource state.
- Recompute the next safe business transition from that fresh state.

