A set of actions called “states” update the shipmentStateName property for the shipment to indicate where the package is in the fulfillment process. This also updates the FSM state codes in OMS. An order will need to go through all of the state codes to be fulfilled.
The .json address above can be used to access the schema within Postman. An example use of the Shipment API follows here — or go directly to the sample Postman Collection.
The shipment will start in the acceptOrder status, as automatically set by OMS upon order assignment. The endpoints and states that are used in the standard fulfillment process are:
When those are complete, the Fulfill Shipment API will be used to put the shipment in its final completePackage status. This call has a different structure from the states described here, so go to the Fulfill Shipment guide for more details about that request.
This example will show how to transition a shipment with the Shipment ID 090909.
Transitioning through states is simple, as it only requires the Shipment ID.
|shipmentID||integer||A unique identifier for the shipment. The minimum value is "1".|
The Full Request
The endpoints for each of these standard transition states are:
Each of those three requests has the same body, which only provides the ID as required:
There are a number of other possible states that may be triggered by other fulfillment events. For instance, there are multiple pick wave states (placeInWave, pickedFromWave, etc.), return states (returnInitiated, returnAcceptedByFulfiller, etc.), and a state for splitting orders (splitOrder).