Skip to main content
Order webhooks contain a complete, provider-neutral order snapshot after the order header and SKU-level lines are committed. Buyer PII is not included. Subscribe to these events with POST /api/v1/webhooks. See Webhooks for subscription setup, signature verification, and delivery behavior.

Events

Historical imports and unchanged provider duplicates do not emit lifecycle events. If one marketplace notification changes status and other fields, OmniCommerce emits one order.status.changed event with all changed paths. Marketplace cancellation is a status transition to canceled, not an order.deleted event.

Identity and source

subject.id is the stable OmniCommerce order ID. Marketplace identity is scoped by all of:
source.accountId is the exact connected store that produced the order. A missing account is never used as a wildcard. providerEventId and providerEventType can be null when the provider does not supply them or when the change comes from a scheduled sync or developer API call. source.system is one of:

Statuses and money

data.order.status is one of:
The original provider status remains in marketplaceStatus. Monetary values are objects with a decimal string and ISO 4217 currency:
Every total in one order snapshot uses the order currency. Do not parse money through binary floating point when exact accounting behavior matters.

Order snapshot

Each items[] entry includes stable internal and external line IDs, matched productId, marketplace item and variant IDs, SKU aliases, name, status, quantity, currency, unit/paid prices, line total, and historical unitCost. Money is a decimal string plus currency; unavailable values are null. changedFields contains public field paths such as status, marketplaceStatus, totals.total, itemCount, quantity, or items. Internal sync metadata and buyer PII never appear in this list.

Example status change

Example deletion

Deletion events contain stable identity only; they do not repeat a stale financial snapshot.

Consumer rules

  • Deduplicate by event id, not by provider event ID.
  • Partition order state by organizationId and subject.id.
  • Ignore an event when its resourceVersion is not newer than the last applied version for that subject.
  • Replace the local integration view from data.order; do not merge raw marketplace payloads into the standardized resource.
  • Treat unknown additive fields as forward-compatible and ignore them.
  • Remove or tombstone the local order integration record on order.deleted.
The generated OpenAPI document contains reusable schemas and top-level webhook operations for all four events. Download it from openapi.json. See the event catalog for product, return, settlement, and look resource families.