SalesOrders

Starts fulfilment of a sales order (the app's Begin Fulfillment button): creates the pick transfer.

Requires ManageSalesOrders and an Idempotency-Key header; no body. Same code path and rules as the Begin Fulfillment button: the order must not be Complete or Cancelled; a pick transfer is created from the order's source locations (else the organization's warehouse locations) to its delivery destination for every line not yet covered, using available stock; the history records "Fulfillment started (via API key '…')"; the order's status is then recalculated — Picking when the transfers cover every line, otherwise it stays Pending (call again once stock arrives). The response always carries the real status; never assume Picking. Replaying the same Idempotency-Key returns the first response. A call with a new key creates another transfer only for the quantity not yet covered by a live (not Cancelled/Failed) transfer — a partly covered line is topped up, never claimed twice — and is refused with 409 Every line is already covered by a transfer when nothing is left to cover, the same rule that shows the Begin Fulfillment button in the app. Next steps: /pick, /complete-pick, /ship, /deliver, /complete.

post/api/v1/sales-orders/{id}/fulfill

Request

  • Base URL: https://app.flexonthejob.com
  • URL: https://app.flexonthejob.com/api/v1/sales-orders/{id}/fulfill
  • Auth: HTTP bearer

Path parameters

idinteger required

Sales-order id from /api/v1/sales-orders. Example: 318.

Response

Fulfilment started; the resulting status and the pick transfer id.

salesOrderIdinteger

The sales order's id. Example: 318.

statusstring

Order status after fulfilment started, recalculated from its transfers: Picking when the transfers cover every line, otherwise still Pending (some lines had no available stock; fulfil again once stock arrives). Example: Picking.

transferIdinteger nullable

Id of the pick transfer created (see /api/v1/transfers/{id}). Example: 904.

messagestring nullable

Human-readable confirmation, as the app shows it. Example: Order status updated to Picking.

Changes

No recorded changes to this operation across all 1 revision of this API.