Webhook

Order status changed

​

Fires on every order status transition — shipped, delivered, completed, cancelled, disputed, or resolved. Delivered to both the seller and the buyer (recipientRole). data.status is the new status and data.previousStatus is where it moved from; switch on data.status.

Body

required
application/json
  • The order's new status and where it moved from.

    Properties: 9
  • Idempotency key. Stable across retries of the same delivery; safe to dedupe on.

  • Whether this delivery is for the seller or the buyer side of the order. The same transition produces two deliveries — one to each role.

    values
    • seller

      You received this because you're the seller.

    • buyer

      You received this because you're the buyer.

  • When this webhook was emitted (ISO 8601, UTC).

Responses

  • Acknowledged. Return any 2XX status to ack receipt; non-2XX triggers Svix's retry schedule.

Request Example for postorder.status.changed
{
  "type": "order.status.changed",
  "eventId": "OR-ASNBC-1.3.seller",
  "timestamp": "2026-06-14T09:12:00.000Z",
  "recipientRole": "seller",
  "data": {
    "orderNumber": "OR-ASNBC-1",
    "status": "shipped",
    "previousStatus": "pending_shipment",
    "changedAt": "2026-06-14T09:12:00.000Z",
    "reason": null,
    "shippingManagedByCardNexus": false,
    "shippingService": "tracked",
    "untrackedCloseAt": null,
    "metadata": {
      "fulfillment_stage": "packed",
      "internal_order_ref": "SO-10432"
    }
  }
}
No Body