Update Tracking Information
The tracking information of a shipment can be changed with one API that can either update an existing tracking number or add a new tracking number to the record, as well as make changes to additional tracking information such as the expected delivery date and carrier type. This information can not only include the tracking number for the package, but also properties such as the carrier details, transit time, a URL to the tracking page, and more.
The .json address above can be used to access the schema within Postman. An example use of the Update Tracking Information API follows below, or view the schema or the sample Postman Collection.
This example will set a shipment’s tracking information based on the following properties:
- Shipment ID – 0123456
- Carrier Information – UPS, 1-2 days
- Replacing a previous tracking number with a new value.
Setting and updating tracking information requires the following properties:
|shipmentID||integer||A unique identifier for the shipment. The minimum value is “1”.|
|trackingInformation||array||The tracking information for the shipment.|
|sendEmails||boolean||Should email notifications be sent? The default value is “true”.|
The two optional properties can be used to provide more details about the shipment if desired.
|shipmentDate||string||The shipment date. Supports date-time format.|
|externalShipmentID||string||An externally defined shipment reference identifier.|
Tracking Information is an object that only requires the trackingNumber, but also has additional parameters:
|trackingNumber||string||The shipment’s tracking number. The maximum length is 50.|
|deliveryType||string||The shipment’s shipping method.|
|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.|
|oldTrackingNumber||string||If updating an existing tracking number, provide that number and it will be replaced with the new value. If not provided, the new tracking number will be added to the shipment as a new record.|
|transitTime||string||The time the shipment is expected to be in transit. The maximum length is 50.|
|trackingURL||string||The URL to track the shipment. The maximum length is 400.|
Shipment Tracking Numbers
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 the typical tracking numbers in OMS, but be aware that there may be some variations from the carriers.
|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. Note that these rules apply only to basic DHL shipping; the DHL NextDay service does not have tracking number validation built into OMS, due to unknown format rules.|
|Royal Mail||14||EEE999999999GB||Alphanumeric, ends with “GB.”|
|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 edit the shipment’s tracking information by replacing one of the previous numbers with a new, updated number.
The returned response follows the same structure as the Get Shipment API, providing information about the shipment.