The Fulfill Shipment action ID will set the initial tracking information when all items in the shipment have been shipped. This will also put the shipment in the final completePackage state.
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/fulfill |
Sandbox URL | https://{tenantId}-translation.sandbox.mozu.com/api/v2/shipment/action/fulfill |
Supported Formats | JSON |
HTTP Method | POST |
Example
The example case will fulfill a shipment with the following properties:
- Shipment ID – 090909
- Carrier Information – UPS, 1-2 days
- Tracking Information – Tracking Number 0123456789
Required Parameters
Fulfilling a shipment requires:
Parameters | Type | Descriptions |
shipmentID | integer | A unique identifier for the shipment. The minimum value is “1”. |
shipmentDate | string | The date the shipment was shipped. Supports date-time format. |
trackingInformation | array | The tracking information for this shipment. |
sendEmails | boolean | Should emails be sent? The default is “true”. |
Optional Parameters
There is only one optional property:
Parameters | Type | Descriptions |
externalShipmentID | string | An externally defined shipment reference identifier. The minimum length is 1 and the maximum length is 10. |
Tracking Information
The tracking information (/trackingInformation/[object]) for a shipment includes the following parameters, but only requires trackingNumber.
Parameters | Type | Descriptions |
trackingNumber | string | The shipment’s tracking number. The maximum length is 50. |
deliveryType | string | The shipment’s shipping method. This parameter is read-only. Do not attempt to set this value. |
carrierType | enum | The carrier (USPS, FedEx, etc.) delivering the shipment. See the schema for a full list of possible values. |
carrierTypeOther | string | The carrier’s name if it is not one of Kibo’s listed carriers. The maximum length is 20. |
transitTime | string | The time the shipment is expected to be in transit. The maximum length is 50. |
returnTrackingNumber | string | The shipment’s return tracking number. |
trackingURL | string | The URL to track the shipment. The maximum length is 400. |
Supported Carriers and Tracking Numbers
The full list of carrier options that OMS supports are:
USPS | DPD (UK) | Interlink Express (UK) |
UPS | GSO | Yodel UK |
FedEx | Canada Post (CA) | La Poste (FR) |
FedEx Freight | CanPar (CA) | Deutsche Post (DE) |
FedEx UK (UK) | DICOM Express (CA) | Swiss Post (CH) |
FedEx SmartPost | Purolator (CA) | Bartolini (IT) |
DHL | Royal Mail (UK) | GLS |
DHL (CA) | Parcel Force (UK) | Italian Post (IT) |
DHL (DE) | PostNL (NL) | OnTrac |
DHL (UK) | Swedish Post (SE) | APC Overnight (UK) |
DHL NextDay | TNT (UK) | UK Mail |
DPD | TNT (IT) | Seur |
DPD (DE) | City Link (UK) | Other |
The tracking number formats that OMS supports are based on each carrier’s unique rules. If OMS cannot validate a tracking number based on its known rules, it will attempt to validate the number on the carrier’s system. The chart below describes how to format tracking numbers for some of the most common carriers, but be aware that there may be some variations.
Carrier | Length | Format Examples | Description |
UPS | 11, 12, or 18 | 1Z9999999999999999, 999999999999, T9999999999. | When a length of 18, the first values are 1Z followed by a 6-character shipper number, a 2-digit service level indicator, and an 8-digit package number. |
USPS | 13 or 20 | EE999999999EE, 99999999999999999999. | When a length of 13, it is alphanumeric with the first value being E,C, or V and the second value being E, C, D, P, S, V, or W. E is for Express. When a length of 20, all values are numeric. |
FedEx | 12 or 7-22 | 999999999999 | Express shipments have a length of 12. All tracking numbers are numeric. |
DHL | 2-11 | 9999999999 | May not be all 0s. The most common length is 10. |
Royal Mail | 14 | EEE999999999GB | Alphanumeric, ends with “GB.” |
Deutsche Post | 11 | 999999999EE | Alphanumeric. |
La Poste | 13 | EE999999999EE | Alphanumeric. |
Canada Post | 11, 13, or 16 | 99999999999, EEE999999999E, 9999999999999999 | All numeric except for when a length of 13. In that case, it may be alphanumeric. |
DPD (UK) | 10+ | 99999999999999 | Usually numeric. |
DPD (DE) | 14 | EEEE9999999999 | 4 alphanumeric, followed by 10 numerals. |
UK Mail | 9-14 | 99999999999999 | Usually numeric. |
The Full Request
This is the entire request that will fulfill a shipment.
{ "shipmentID": 090909, "sendEmails":true, "trackingInformation": [ { "trackingNumber": 0123456789, "carrierType": "UPS", "transitTime": "1-2 Days" } ], "shipmentDate": "2017-09-08T17:09:03+00:00" }
The returned response follows the same structure as the Get Shipment API, providing information about the shipment that was fulfilled.