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.

PropertyNameRequiredNote
OrderIDOrder IDRequiredInclude in URL. The ChannelAdvisor generated unique identifier for the Order.
The Marketplace Order ID cannot be substituted here.
ShippedDateUtcShipped DateOptionalDate/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.
TrackingNumberTracking NumberOptionalTracking number if available. Note: many marketplaces require this data, and require it to be valid to consider the order fulfilled.
ShippingCarrierShipping CarrierOptionalRequired 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.
ShippingClassShipping ClassOptionalRequired 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.
DeliveryStatusDelivery StatusOptional*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.
DistributionCenterIDDistribution CenterOptionalIf 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.
SellerFulfillmentIDSeller Fulfillment IDOptionalIdentifier provided by the seller. Amazon only allows integers.
Items [OrderItemID]Order Item IDConditionalIf 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 IDConditionalIf the Items collection is included in a POST request, OrderItemID or ProductID or Sku is required. Identifies the item by Product ID.
Items [Sku]SkuConditionalIf 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]QuantityConditionalIf the Items collection is included in a POST request, Quantity is required. If Items Collection is excluded, Quantity is not required.
Items [SellerFulfillmentItemID]Seller Fulfillment Item IDOptionalIdentifier provided by the seller. Usually a serial number or batch number.

Shipment Request Examples