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.
Note that the request body and parameter schemas outlined in this guide are the exact same as in the previous version of OMS, as the Unified Commerce platform supports backwards compatibility for this API. The only change to this request is the format of the base endpoint, as shown in the below table. Remember to provide the x-vol-tenant key for authentication in the headers.
Production URL | https://{tenantId}-translation.mozu.com/api/v2/shipment/action/{state} |
Sandbox URL | https://{tenantId}-translation.sandbox.mozu.com/api/v2/shipment/action/{state} |
Supported Formats | JSON |
HTTP Method | POST |
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:
- pullInventory
- printPackingSlip
- shipmentIntegration
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.
Example
This example will show how to transition a shipment with the Shipment ID 090909.
Required Parameters
Transitioning through states is simple, as it only requires the Shipment ID.
Parameter | Type | Description |
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:
https://{tenantId}-translation.mozu.com/api/v2/shipment/action/pullInventory
https://{tenantId}-translation.mozu.com/api/v2/shipment/action/printPackingSlip
https://{tenantId}-translation.mozu.com/api/v2/shipment/action/shipmentIntegration
Each of those three requests has the same body, which only provides the ID as required:
{ "shipmentID": 090909 }
Other States
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).