SalesOrders

Picks a sales order's pick transfer — all of it (the app's "Pick All") or given units per line (the scan dialog).

Requires ManageSalesOrders and an Idempotency-Key header. Body optional: {} or no body picks every line of the order's single Pending transfer in full; { "transferId": 904, "lines": [ { "transferItemId": 5120, "quantity": 2 } ] } adds 2 to that transfer line's picked count (line ids: lines[].id of GET /api/v1/transfers/{transferId}). Same code path as the app's transfer scan dialog: the transfer line is stamped scanned by the key's creator and the order line's quantityPicked rises by the same units. Every line is checked before anything is written. Picking moves no stock and does not change the order's status; call /complete-pick once every line is picked. Repeating a full pick is harmless; a partial pick sent again with a new Idempotency-Key picks those units again.

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

Request

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

Path parameters

idinteger required

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

Request body

transferIdinteger nullable

The order's Pending pick transfer to pick (the transferId returned by /fulfill). Omit when the order has exactly one Pending transfer. Example: 904.

Response

Picked; unitsPicked says how many units this call picked.

salesOrderIdinteger

The sales order's id. Example: 318.

statusstring

Order status after the step: Pending, Picking, Packed, Shipped, Delivered, Complete or Cancelled. Recalculated from the order's transfers, so always read it rather than assuming the next status. Example: Packed.

fulfillmentStatusstring nullable

Aggregate status of the order's transfers (None, Pending, InTransit, AtWaypoint, Completed, Cancelled…), as fulfillmentStatus on the order. Example: InTransit.

transferIdinteger nullable

The transfer the step acted on (resolved when the request did not name one); null for /complete and /cancel. Example: 904.

messagestring nullable

Human-readable confirmation, as the app shows it. Example: Transfer status updated to In Transit.

unitsPickedinteger

/pick: units marked picked by this call (0 for other steps). Example: 10.

itemsReturnedinteger

/cancel: delivered units returned to inventory (0 for other steps). Example: 0.

transfersCancelledinteger

/cancel: transfers cancelled (0 for other steps). Example: 1.

Changes

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