Fulfillments


About Fulfillments

  • See the Shipments page for more efficient methods of marking orders as shipped - ChannelAdvisor interprets the data provided through the Shipments methods to intelligently create fulfillments as needed.
  • This section outlines direct methods of retrieving and updating Fulfillment-level information. It also provides information on updating a fulfillment previously marked as shipped, and moving an item from one fulfillment to another.
  • Fulfillment(s) are created when an order is created in the system - whether that order originated from the marketplace or via a seller's integration.

Considerations

  • Reference the entity tables below for information about what each field means.
  • In most cases, the fields are not required - it all depends on the seller's goals.
  • DeliveryStatus is the field that controls whether or not the order and items are marked as shipped in the API.
    • Any value other than "NoChange" will result in some action depending on the value set.
    • No validation is completed on the DeliveryStatus - we recommend treating this value as if a shipment was completed, where 'Complete' simply means the item was shipped...not that it is actually delivered.
    • ChannelAdvisor does not link the tracking number to a carrier or class, and no link is made to a carrier's site, and as a result cannot update the DeliveryStatus on the seller's behalf.
  • Some marketplaces require valid Tracking Number information - or it will be rejected when ChannelAdvisor sends it to them.
  • An option exists to fulfill an order from a different DistributionCenterID than what may have been defined in the original order data - this change is not reflected at the marketplace until the next quantity update is sent to the marketplace.
  • Any Carrier and Class values being sent to create or update a Fulfillment must exist in the Account Carrier/Class list.
  • External Fulfillment Center Code will identify the marketplace's defined fulfillment center ID/code in string format. This currently applies to only Amazon FBA (Fulfillment by Amazon) orders, but not Multi-Channel FBA orders.
  • On multi-quantity/multi-item orders, fulfillments may be split by item and/or quantity - it's important to capture the DistributionCenterID in the fulfillment and correlate it to the correct Distribution Center:
    • Item 1 is associated with distribution center 1.
    • Item 2 is associated with distribution center 2.
    • See more about the Distribution Center endpoint to display Distribution Center data.

Process for Partial or Split Fulfillments (Same Steps for Changing the Distribution Center)

Endpoints

All available endpoints for Fulfillments.

All available endpoints for FulfillmentItems.

Relevant Fulfillment Entities for POST / PATCH / PUT

*Requires a value other than "NoChange" to mark the order as shipped (if intending to mark an order as shipped within the same request).

Property Type (Max Length) POST Required PATCH Required Description
ID integer (32 bit) Read Only Required in URL Uniquely identifies the ChannelAdvisor Fulfillment ID.
ProfileID integer (32 bit) Required in Body Optional Uniquely identifies the ChannelAdvisor account.
OrderID  integer (32 bit) Required in Body

Read Only

Uniquely identifies the order within the ChannelAdvisor account.
Type enum Optional Optional Indicates how the items will be fulfilled.
DeliveryStatus* enum Optional Optional Indicates the progress of the fulfillment.
Requires a value other than 'NoChange' to trigger a "final" (note: can be changed back) status on the item or order.
TrackingNumber string (50) Optional Optional Provided by a shipping carrier to track the progress of a shipment.
ShippingCarrier string (50) Optional Optional Identifies the shipping carrier or agent of delivery.
ShippingClass string (50) Optional Optional Identifies the class of shipment or delivery.
DistributionCenterID  integer (32 bit) Optional Optional Identifies the distribution center from which the fulfillment will originate. This value is defined by the marketplace, but aligns with the distribution centers internal to the ChannelAdvisor system created by the seller. To change the value, create a new fulfillment and move items to the new fulfillment - see more under the Fulfillments page.
Read more about Distribution Centers and accessing DistributionCenterIDs. 
ExternalFulfillmentCenterCode string Read Only Read Only Identifies the external distribution center from which the fulfillment will originate. This value is defined by the marketplace and does not align with the distribution centers internal to the ChannelAdvisor system created by the seller. This value cannot be changed, and will only apply to FBA orders.
ShippedDateUtc DateTimeOffset Optional Optional Timestamp when the fulfillment was sent.
SellerFulfillmentID string (50) Optional Optional Identifier provided by the seller. Amazon only allows integers.
Items FulfillmentItem[] Recommended Optional The fulfilled items which comprise the fulfillment. Include this data to add a new fulfillment for partial shipment and/or mark it as shipped within the same request. See fields in FulfillmentItem entity table below.

Relevant FulfillmentItem Entities for POST / PATCH / PUT

Property Type (Max Length) POST Required PATCH Required SOAP Equivalent Description
OrderItemID  integer (32 bit) Conditional Optional LineItemID Required if ProductID is not provided. The ChannelAdvisor generated unique identifier for the OrderItem.
ProductID  integer (32 bit) Conditional Optional N/A Required if OrderItemID is not provided. The ChannelAdvisor generated unique identifier for the Product.
Quantity  integer (32 bit) Recommended Optional Quantity The number of units in this fulfillment.

Fulfillment Request Examples