Shipments


About Shipments

  • Shipments is a more efficient endpoint to make fewer requests and allow ChannelAdvisor figure out what is outstanding and what is not.
    • For finer control over Fulfillments or need to move shipped items from one fulfillment into another, interact directly with Fulfillments.
  • Certain elements need to exist in the system prior to marking an order as shipped with a carrier and class. 
    • See how to add carriers and classes (whether they are custom or relatively standard): Shipping Carriers & Classes
      • Note: the above linked page has a list of "ChannelAdvisor Default Carrier/Class Combinations" that don't need to be added.
    • These values cannot be added via API
  • With shipments there are a number of benefits:
    • Use SKU in shipment requests (Fulfillments requires the OrderItemId or ProductId).
    • Split shipments in one request instead of 3 (at a minimum), saving reducing the number of requests counted against the request limits.
    • Update overwrite shipment tracking numbers without needing to reference the specific Fulfillment ID.

Shipment Endpoints

POST https://api.channeladvisor.com/v1/Orders(OrderID)/Ship

Important and/or Required Parameters

*If DeliveryStatus is not defined in a request, the order will be marked as shipped.

Property Name Required Note
OrderID Order ID Required Include in URL. The ChannelAdvisor generated unique identifier for the Order.
The Marketplace Order ID cannot be substituted here.
ShippedDateUtc Shipped Date Optional Date/time (in UTC) the package was shipped. If no date/time is provided, ChannelAdvisor will set the current date/time when the request is received.
TrackingNumber Tracking Number Optional Tracking number if available. Note: many marketplaces require this data, and require it to be valid to consider the order fulfilled.
ShippingCarrier Shipping Carrier Optional Required if ShippingClass is sent. The Carrier that will be delivering the package - value must be in ChannelAdvisor's list of Account Shipping Carrier/Class Codes (note: custom values can be added). If provided with no DeliveryStatus, the order will be marked as shipped.
ShippingClass Shipping Class Optional Required if ShippingCarrier is sent. The Class of delivery for the package - value must be in ChannelAdvisor's list of Account Shipping Carrier/Class Codes (note: custom values can be added). If provided with no DeliveryStatus, the order will be marked as shipped.
DeliveryStatus Delivery Status Optional* See enum list of valid values under FulfillmentDeliveryStatus. Provides current status of shipment. Note: this is not linked to carrier data through the tracking number.
DistributionCenterID Distribution Center Optional If the item is shipped from a specific Distribution Center different from the one defined originally in the request, send the ID of that DC for data posterity.
Read more about Distribution Centers and accessing DistributionCenterIDs. If provided with no DeliveryStatus, the order will be marked as shipped.
SellerFulfillmentID Seller Fulfillment ID Optional Identifier provided by the seller. Amazon only allows integers.
Items [OrderItemID] Order Item ID Conditional If the Items collection is included in a POST request, OrderItemID or ProductID or Sku is required. Identifies the item by Order Item ID.
Items [ProductID] ChannelAdvisor Product ID Conditional If the Items collection is included in a POST request, OrderItemID or ProductID or Sku is required. Identifies the item by Product ID.
Items [Sku] Sku Conditional If the Items collection is included in a POST request, OrderItemID or ProductID or Sku is required. Identifies the Sku (as defined by the seller).
Items [Quantity] Quantity Conditional If the Items collection is included in a POST request, Quantity is required. If Items Collection is excluded, Quantity is not required.

Shipment Request Examples