Skip to main content
Shipments are not created in the system until an order goes into picking. There may be multiple shipments for one order depending on the overall weight and number of items on the order. Although there may be more than one package for a single shipment, most shipments will have only one package. A packing slip will be printed for each shipment and if multiple packages are required for one shipment they will be linked to the same master tracking number if supported by the carrier.

Methods


Entity Properties


shipment.search(null|object $filters, array $options = [], null|string|object $fields = []) Retrieve list of shipments by filters. Shipment data can be customized by specifying properties to retrieve.
Some accounts may still receive deprecated shipment status names in shipment.search responses because of a compatibility flag from the 2023 package tracking migration. If your integration receives loaded, treat it as equivalent to shipped and support both the old and new status names. See the Package Tracking Migration Guide for the full status mapping.

Parameters

null | object
  • null - Retrieve list of all shipments.
  • object - Retrieve list of shipments using specified Search Filters. Allowed properties for filtering: “shipment_id”, “warehouse_id”, “order_unique_id”, “order_ref”, “order_id”, “store_code”, “created_at”, “updated_at”, “packed_at”, “status”, “shipment_type”.
null | array
  • null - No options will be applied.
  • object - Apply specified Search Options.
null | string | object
  • null - Retrieve only “shipment_id”, “order_unique_id”, and “order_ref” properties.
  • string '*' - Retrieve all properties excluding “shipping_address”, “items”, “packages”, “tracking_numbers”, and “serial_number_data”.
  • object - List of properties to retrieve in addition to “shipment_id”, “order_unique_id”, and “order_ref”. List may include ’*’. Example:
See Shipment Properties.

Return Value

An object with the following properties:
array
An array of objects. Each object will contain the specified (or default if no fields parameter was given) Shipment Properties.
integer
The total number of shipments matching the given filters. Omitted if skip_totals is enabled.
integer
The total number of pages. Omitted if skip_totals is enabled.

Example Request

Request

Example Response

Response

Example Request (skip_totals)

Request

Example Response (skip_totals)

Response

Error Codes


shipment.info

shipment.info(string $shipment) Retrieve all shipment information.

Parameters

string
Shipment ID. Can be retrieved from the order “shipments” property.

Return Value

Shipment information.

Example Request

Request

Example Response

Response

Error Codes


shipment.update

shipment.update (string $shipment, object $shipmentData, object $customFields) Update shipment information.

Parameters

string
Shipment ID. Can be retrieved from the order “shipments” property.
object
Shipment data. Allowed properties: source.
object
Shipment Custom Field Operations (see Shipment Custom Field Operations).

Shipment Custom Field Operations

An object with an operation name as the key and an object containing the Shipment Custom Field) data for all operations except the remove operation. The remove operation only requires a list of custom field codes. Allowed operations: set, add, remove, add_option, remove_option.
  • set - Replace all values.
  • add - Add new fields to existing, replace old values.
  • remove - Remove only fields specified.
  • add_option - Multi-selects only. Add an option without unsetting existing options.
  • remove_option - Multi-selects only. Remove an option without unsetting other options not listed.

Return Value

true if shipment was successfully updated.

Example Request

Request

Example Response

Response

Error Codes

Entity Properties

Shipment Properties

Shipment Item Properties

Package Properties

Shipment Track Properties

Serial Number Properties

Shipment Custom Field

An object with a Custom Field code as the key and the Custom Field data as the value. The value format depends on the Custom Field input type. "custom_fields": { ... } To find out what fields are available see Shipment Custom Fieldsshipment_custom_field.list