{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Fulfilment orders"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"fulfilment-orders","__idx":0},"children":["Fulfilment orders"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Applies to the Fulfilment API only."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For orders where you pack the parcel yourself, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/lastmile/create-an-order"},"children":["Create an order"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A fulfilment order tells Quiqup to pick stock it already holds, pack it, and ship it to your customer. You do not send a parcel list. The warehouse builds the parcels."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"creating-one","__idx":1},"children":["Creating one"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/fulfilment/orders"]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_order_id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your own reference. Required."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_kind"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The service. Decides the picking SLA and the carrier. Required. See below."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["products"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["What to pick: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sku"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["quantity"]}," per line. Required. Every SKU must be a product on your account."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Where it goes. Required. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#addresses"},"children":["Addresses"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["origin_address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Where it ships from. Required. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#addresses"},"children":["Addresses"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_mode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pre_paid"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paid_on_delivery"]},". Required."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["currency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Three-letter code, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AED"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SAR"]},". Required."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_amount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["What the courier collects. Required, and not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]},", for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paid_on_delivery"]},". Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," or leave it out for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pre_paid"]},"."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optional: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}," (below), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["references"]}," (below), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["billing_address"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["billing_identifier"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notes"]}," (at most 255 characters), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delivery_options"]}," (only ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customer_identification_photo"]},"), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrier"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incoterm"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["registration_numbers"]}," for exports, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_return"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["initial_order_id"]}," for returns."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"uuid\": \"3f6c1a52-8d2e-4b7a-9c1d-5e8f7a6b4c3d\",\n  \"partner_order_id\": \"ORD-10045\",\n  \"service_kind\": \"partner_next_day\",\n  \"payment_mode\": \"paid_on_delivery\",\n  \"payment_amount\": 249.5,\n  \"currency\": \"AED\",\n  \"products\": [\n    { \"sku\": \"TSHIRT-BLK-M\", \"quantity\": 2 },\n    { \"sku\": \"MUG-WHT\", \"quantity\": 1 }\n  ],\n  \"shipping_address\": {\n    \"first_name\": \"Sara\",\n    \"last_name\": \"Ahmed\",\n    \"address1\": \"Villa 12, Street 4\",\n    \"address2\": \"Al Wasl\",\n    \"city\": \"Dubai\",\n    \"state\": \"Dubai\",\n    \"country_code\": \"AE\",\n    \"phone\": \"+971500000001\",\n    \"email\": \"sara.ahmed@example.com\"\n  },\n  \"origin_address\": {\n    \"name\": \"Example Brand\",\n    \"first_name\": \"Example\",\n    \"address1\": \"Warehouse 7, Example Industrial Area\",\n    \"city\": \"Dubai\",\n    \"country_code\": \"AE\",\n    \"phone\": \"+971500000003\"\n  },\n  \"references\": [\n    { \"label\": \"marketplace_order_id\", \"value\": \"MP-778812\", \"is_unique\": true }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"what-happens-next","__idx":2},"children":["What happens next"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The order is created ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}," and goes to the warehouse for picking on its own. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["There is no release call to make"]},", and nothing to send on create to release it."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Two kinds of order wait first. An export waits until its carrier is settled. An order that needs a Saudi national address waits until the address is valid."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mark_as_ready_for_collection"]}," is for returns only. Sending it as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," on any other order is rejected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"retrying-safely","__idx":3},"children":["Retrying safely"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]},", any UUID you generate, and keep it for the retries. A repeat create with the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}," returns the original order instead of making a second one, so a create that timed out is safe to resend. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}," is scoped to your account. Without one, every request creates a new order."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["references"]}," attaches your own identifiers, such as a marketplace order number, as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["label"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["value"]}," pairs. They are stored and returned when you read the order. Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_unique"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," on a reference and no other order on your account can carry the same label and value: a later create that repeats them is rejected. There is no endpoint that finds an order by reference."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"addresses","__idx":4},"children":["Addresses"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["shipping_address"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["origin_address"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["billing_address"]}," share one shape."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["first_name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. At most 50 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. Street address, at most 255 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["city"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. At most 50 characters."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["country_code"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. ISO 3166-1 alpha-2, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AE"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["phone"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. E.164, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+971501234567"]},". Spaces are removed before it is checked."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["email"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required on the shipping address of a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_export"]}," order. Optional otherwise."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Business or recipient name. When empty, the first and last names are used as the contact name."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["last_name"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address2"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["state"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["postcode"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["country"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["coordinate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["latitude"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["longitude"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ksa_national_address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The Saudi national address short code, for deliveries in Saudi Arabia."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["notes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Instructions for this address, at most 500 characters."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["The origin address decides whether the order is an export."]}," When its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["country_code"]}," differs from the shipping address's, the order is created as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_export"]}," whatever ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_kind"]}," you sent, unless you sent ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_store"]},". For stock Quiqup holds, the origin is the warehouse holding it. Ask your account manager for the exact address to use."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"service-kinds","__idx":5},"children":["Service kinds"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"service_kind"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_kind"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Service"},"children":["Service"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Where"},"children":["Where"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_next_day"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Next day. The standard service."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UAE and KSA"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_same_day"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Same day."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UAE only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_4hr"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Within 4 hours."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Dubai only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_export"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["International. Carrier allocation is rule-based."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Outbound"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_store"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Store replenishment, business to business."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Domestic"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_return"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A return. Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_return"]}," rather than sending this."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_kind"]}," sets the picking and packing SLA against your account's cut-off times, and picks the carrier."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ask your account manager which of these are enabled on your account before you build against one."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"returns","__idx":6},"children":["Returns"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_return: true"]}," and point ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["initial_order_id"]}," at the original order, which must exist on your account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The order is stored with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["service_kind"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["partner_return"]},", whatever you sent, and that is what reading it returns. It is not picked from your stock: the goods come back into the warehouse through a return ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/fulfilment/inbound"},"children":["inbound"]},". A return can carry ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mark_as_ready_for_collection: true"]}," to be created ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ready_for_collection"]}," instead of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["That is different from last-mile, where a return is its own ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["kind"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"statuses-in-the-warehouse","__idx":7},"children":["Statuses in the warehouse"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before the warehouse hands it over, a fulfilment order is in one of these:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Created, and waiting for or in the warehouse."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["problematic"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["A stock or warehouse problem needs attention. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status_reason"]}," says what."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wms_on_hold"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Held in the warehouse management system."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["picking_started"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The warehouse has begun picking."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once it is packed it moves to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ready_for_collection"]}," and runs the standard state machine: same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," values, same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.*"]}," webhooks, same meanings. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/order-lifecycle"},"children":["Order lifecycle"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"reading-and-updating","__idx":8},"children":["Reading and updating"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/fulfilment/orders/{id}"]}," returns the order, including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status_reason"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parcels"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tracking_url"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tracking_url_advance"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["carrier"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["picking_order_created"]},", which turns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," once the warehouse has the order."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH /api/fulfilment/orders/{id}"]}," updates it. Top-level fields you leave out keep their current values, and any you send replace the current value whole:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An address you send must be complete, with the same required fields as on create."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["products"]}," replaces the whole product list."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["billing_address"]}," must be sent on every update"]},", as a complete address, and becomes the order's billing address. Send the current one to keep it. A request without it currently fails with a server error, cancellations included."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An order can be updated while it is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["problematic"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wms_on_hold"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["picking_started"]},". After that, every update is rejected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"cancelling","__idx":9},"children":["Cancelling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no cancel endpoint. Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PATCH"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]}," (and the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["billing_address"]},", as above)."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The status can only change while the order is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["problematic"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["wms_on_hold"]},", and only to one of those or to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cancelled"]},". Once picking has started the order cannot be cancelled through the API. Any other ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," value is rejected."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tracking-it","__idx":10},"children":["Tracking it"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Track with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tracking_url"]}," on the fulfilment order. Do not look the shipment up on the last-mile API. The IDs are not interchangeable."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The order ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," is a number sent as a string. The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["order.*"]}," webhooks for the order carry the same number as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload.id"]},", and its ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uuid"]}," as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload.uuid"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/webhooks"},"children":["Webhooks"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-is-not-here","__idx":11},"children":["What is not here"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no list-orders endpoint and no batch create. One order, one call."]}]},"headings":[{"value":"Fulfilment orders","id":"fulfilment-orders","depth":1},{"value":"Creating one","id":"creating-one","depth":2},{"value":"What happens next","id":"what-happens-next","depth":3},{"value":"Retrying safely","id":"retrying-safely","depth":3},{"value":"Addresses","id":"addresses","depth":2},{"value":"Service kinds","id":"service-kinds","depth":2},{"value":"Returns","id":"returns","depth":2},{"value":"Statuses in the warehouse","id":"statuses-in-the-warehouse","depth":2},{"value":"Reading and updating","id":"reading-and-updating","depth":2},{"value":"Cancelling","id":"cancelling","depth":3},{"value":"Tracking it","id":"tracking-it","depth":2},{"value":"What is not here","id":"what-is-not-here","depth":2}],"frontmatter":{"seo":{"title":"Fulfilment orders"}},"lastModified":"2026-10-16T10:31:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/fulfilment/orders","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}