Skip to main content

Delivery order

Overview​

Calypso does not guarantee strict webhook delivery order.

Webhook events can be delivered later than newer events, retried after temporary failures, or received more than once. Build webhook processing around current object state, final statuses, and idempotency.

Integration requirements​

RequirementDescription
Process webhooks idempotentlyRepeated delivery of the same event must not create duplicate business actions.
Do not rely only on delivery orderIntermediate statuses can arrive after a newer status.
Store event identifiersUse event identifiers to detect already processed webhook events.
Request current state when uncertainIf webhook order is unclear, request the current object state through the relevant API method.
Prefer final statuses for business decisionsUse terminal statuses for final accounting, fulfillment, or reconciliation decisions.
CaseRecommendation
Duplicate webhook is receivedReturn 200 OK and do not repeat the same business action.
Older status is received after a newer statusKeep the latest reliable object state and request current details from the API if needed.
Critical flow depends on exact statusCombine webhook processing with status polling or an API status check.
DocumentLink
Webhook overviewOverview
Webhook payloadWebhook payload