How To
The following steps will guide you through requesting access to a ChannelAdvisor account for the SOAP API and provide details on various calls:
  1. Requesting Access to a ChannelAdvisor Account
  2. Inventory
  3. Price and Quantity Updates
  4. Get Orders
  5. Fulfill Orders
  6. Limits

 

Requesting Access to a ChannelAdvisor Account

  1. Download the Admin Service WSDL found here .
  2. Request the ChannelAdvisor account holder provide you a copy of their Profile ID number (commonly called a PID, referred to in the API as LocalID). The PID can be found in ChannelAdvisor by navigating to “My Account > Developer Network > Account Authorizations” and looking under Account List. 
  3. Use the RequestAccess method to request access to the account.
  4. Once you've request access to the account, a ChannelAdvisor account holder must approve your request. They can find your request under My Account > Developer Network > Account Authorizations. They will select your Developer Key in the user interface and select Enable.
  5. When you confirm your account has been enabled, use GetAuthorizationList method (also found in the Admin Service) to retrieve the AccountID . Going forward you will use AccountID instead of the LocalID.

The ChannelAdvisor API uses both authentication and authorization to protect our clients' data. This security model includes DeveloperKey, password, AccountID and granted access (authorization) to an account's data. This page will you help you understand how to work with these concepts.

Concept Description
AccountIDAn AccountID has a one-to-one relation with a ChannelAdvisor Complete posting account, which has a ProfileID. This AccountID does not have the same value as a ProfileID. It is a GUID that will look something like this: 11111111-2222-3333-4444-555555555555, while a ProfileID is an eight-digit integer. If your ChannelAdvisor client account has five posting accounts, you will need to work with five separate AccountIDs. Without being granted authorization to an account, nobody can access that account's data simply by knowing the AccountID.
DeveloperKey

A DeveloperKey is a unique value that identifies the creator of an application. It is also in the format of a GUID. If you are developing an application in-house, you will need to Request API Developer Credentials.

An email containing an activation URL will be sent to the email address you supply during sign-up. Please add developeradmin@ChannelAdvisor.com to your safe list so the activation email is not blocked by a spam filter. After activation, your DeveloperKey will need to be granted access to one or more accounts. See the steps listed above to find out how this is done.

PasswordEach DeveloperKey has a password. This password is specified when you request your DeveloperKey. It is not the same password that a client would use to log into the ChannelAdvisor Complete web site.

 

Back to top

 

Inventory Upload

While it is possible to upload inventory using the API, we suggest you use the FTP method for to accomplish this. This guide will detail the FTP and Upload Inventory.

 

Price and Quantity Updates

To update pricing and quantity you’ll need to access the Inventory WSDL found here and use the UpdateInventoryItemQuantityAndPriceList method.

Please Note: This call is limited to a maximum of 1000 items at a time, but smaller batch sizes are recommended to maintain performance. You may place this call 20,000 per hour.

 

Get Orders

  1. To extract your orders from ChannelAdvisor use the Orders WSDL and the GetOrderList method to export your orders. You’ll use the OrderCriteria to determine what orders are exported.
  2. Use SetOrdersExportStatus to mark your orders exported. When used with the ExportState on GetOrderList it prevents the same order from being exported twice. 

Back to top

 

Fulfill Orders

The term fulfillment in relation to our API may be a new concept to some sellers. The easiest way to think of a fulfillment is to compare it a box to ship a product in. Here is a common scenario:

An Amazon customer is preparing for a cross-country motorcycle trip. He purchases three motorcycle jackets, one leather jacket and two identical mesh jackets, one for him and one for a friend. The order is created in ChannelAdvisor and we create fulfillments for items. In this case the API would return a fulfillment for each item. 

API Call Sample

By treating each item as a fulfillment you can separately ship each product, or if required, ship same SKU from multiple distribution centers. You can even split the two mesh jackets into two separate fulfillments (ship separately with separate tracking numbers).

Below is the most common use of the fulfillment service. Most sellers will not need to change their fulfillments and find the basic process is sufficient for their needs. For users needing to create new fulfillments and move items between those fulfillments you will need to utilize the advanced process.

Below is the most common way you will use our fulfillment service.

 

Basic Process (no changes to the ChannelAdvisor created fulfillments)

  1. Call GetOrderList to get a list of order ID's
  2. Call GetOrderFulfillmentDetailList to get a list of fulfillments for each order. You will need the FulfillmentID and FulfillmentItemID from this call to complete the next step
  3. Use UpdateOrderFulfillments to provide the carrier, class, status, tracking numbers and mark order shipped.
  4. If you need to make an update to this fulfillment after completing step 3, use UpdateOrderFulfillments again
 

Advanced Process (editing and moving fulfillments)

  1. Call GetOrderList to get a list of order ID's
  2. Call GetOrderFulfillmentDetailList to get a list of fulfillments for each order. You will need the FulfillmentID and FulfillmentItemID from this call to complete the next step
  3. Use CreateOrderFulfillments to create a new fulfillment. This will generate a new FulfillmentID .
  4. To move a quantity from one Fulfillment to the newly created fulfillment use MoveFulfillmentItems . This allows you to ship from another warehouse, create partial shipments, and provide multiple tracking numbers.
  5. Call GetOrderFulfillmentDetailsList to get the updated fulfillments and their ID's
  6. Use Call UpdateOrderFulfillments to add tracking information and mark order shipped.

Back to top

 

 

Limits

Below you will find a list of our hourly call limits. If you feel you need to make calls exceeding these limits, please supply support with a sample of your API and we’ll look for ways to help you decrease your call volume.

 

Call Limits Per Hour

 

Method

Allowed Calls per Hour

AdminService.GetAuthorizationList

100

AdminService.RequestAccess

100

InventoryService.AssignLabelListToInventoryItemList

10,000

InventoryService.DoesSkuExist

25,000

InventoryService.GetFilteredInventoryItemList

5,000

InventoryService.GetFilteredSkuList

5,000

InventoryService.GetInventoryItemQuantityInfo

10,000

InventoryService.SyncInventoryItem

250,000

InventoryService.SyncInventoryItemList

10,000

InventoryService.UpdateInventoryItemQuantityAndPrice

500,000

InventoryService.UpdateInventoryItemQuantityAndPriceList

20,000

ListingService.WithdrawListings

2,500

OrderService.GetOrderList

1,000

 

Back to top

The following steps will guide you through requesting access to a ChannelAdvisor account for the SOAP API and provide details on various calls:
  1. Requesting Access to a ChannelAdvisor Account
  2. Inventory
  3. Price and Quantity Updates
  4. Get Orders
  5. Fulfill Orders
  6. Limits

 

Requesting Access to a ChannelAdvisor Account

  1. Download the Admin Service WSDL found here .
  2. Request the ChannelAdvisor account holder provide you a copy of their Profile ID number (commonly called a PID, referred to in the API as LocalID). The PID can be found in ChannelAdvisor by navigating to “My Account > Developer Network > Account Authorizations” and looking under Account List. 
  3. Use the RequestAccess method to request access to the account.
  4. Once you've request access to the account, a ChannelAdvisor account holder must approve your request. They can find your request under My Account > Developer Network > Account Authorizations. They will select your Developer Key in the user interface and select Enable.
  5. When you confirm your account has been enabled, use GetAuthorizationList method (also found in the Admin Service) to retrieve the AccountID . Going forward you will use AccountID instead of the LocalID.

The ChannelAdvisor API uses both authentication and authorization to protect our clients' data. This security model includes DeveloperKey, password, AccountID and granted access (authorization) to an account's data. This page will you help you understand how to work with these concepts.

Concept Description
AccountIDAn AccountID has a one-to-one relation with a ChannelAdvisor Complete posting account, which has a ProfileID. This AccountID does not have the same value as a ProfileID. It is a GUID that will look something like this: 11111111-2222-3333-4444-555555555555, while a ProfileID is an eight-digit integer. If your ChannelAdvisor client account has five posting accounts, you will need to work with five separate AccountIDs. Without being granted authorization to an account, nobody can access that account's data simply by knowing the AccountID.
DeveloperKey

A DeveloperKey is a unique value that identifies the creator of an application. It is also in the format of a GUID. If you are developing an application in-house, you will need to Request API Developer Credentials.

An email containing an activation URL will be sent to the email address you supply during sign-up. Please add developeradmin@ChannelAdvisor.com to your safe list so the activation email is not blocked by a spam filter. After activation, your DeveloperKey will need to be granted access to one or more accounts. See the steps listed above to find out how this is done.

PasswordEach DeveloperKey has a password. This password is specified when you request your DeveloperKey. It is not the same password that a client would use to log into the ChannelAdvisor Complete web site.

 

Back to top

 

Inventory Upload

While it is possible to upload inventory using the API, we suggest you use the FTP method for to accomplish this. This guide will detail the FTP and Upload Inventory.

 

Price and Quantity Updates

To update pricing and quantity you’ll need to access the Inventory WSDL found here and use the UpdateInventoryItemQuantityAndPriceList method.

Please Note: This call is limited to a maximum of 1000 items at a time, but smaller batch sizes are recommended to maintain performance. You may place this call 20,000 per hour.

 

Get Orders

  1. To extract your orders from ChannelAdvisor use the Orders WSDL and the GetOrderList method to export your orders. You’ll use the OrderCriteria to determine what orders are exported.
  2. Use SetOrdersExportStatus to mark your orders exported. When used with the ExportState on GetOrderList it prevents the same order from being exported twice. 

Back to top

 

Fulfill Orders

The term fulfillment in relation to our API may be a new concept to some sellers. The easiest way to think of a fulfillment is to compare it a box to ship a product in. Here is a common scenario:

An Amazon customer is preparing for a cross-country motorcycle trip. He purchases three motorcycle jackets, one leather jacket and two identical mesh jackets, one for him and one for a friend. The order is created in ChannelAdvisor and we create fulfillments for items. In this case the API would return a fulfillment for each item. 

API Call Sample

By treating each item as a fulfillment you can separately ship each product, or if required, ship same SKU from multiple distribution centers. You can even split the two mesh jackets into two separate fulfillments (ship separately with separate tracking numbers).

Below is the most common use of the fulfillment service. Most sellers will not need to change their fulfillments and find the basic process is sufficient for their needs. For users needing to create new fulfillments and move items between those fulfillments you will need to utilize the advanced process.

Below is the most common way you will use our fulfillment service.

 

Basic Process (no changes to the ChannelAdvisor created fulfillments)

  1. Call GetOrderList to get a list of order ID's
  2. Call GetOrderFulfillmentDetailList to get a list of fulfillments for each order. You will need the FulfillmentID and FulfillmentItemID from this call to complete the next step
  3. Use UpdateOrderFulfillments to provide the carrier, class, status, tracking numbers and mark order shipped.
  4. If you need to make an update to this fulfillment after completing step 3, use UpdateOrderFulfillments again
 

Advanced Process (editing and moving fulfillments)

  1. Call GetOrderList to get a list of order ID's
  2. Call GetOrderFulfillmentDetailList to get a list of fulfillments for each order. You will need the FulfillmentID and FulfillmentItemID from this call to complete the next step
  3. Use CreateOrderFulfillments to create a new fulfillment. This will generate a new FulfillmentID .
  4. To move a quantity from one Fulfillment to the newly created fulfillment use MoveFulfillmentItems . This allows you to ship from another warehouse, create partial shipments, and provide multiple tracking numbers.
  5. Call GetOrderFulfillmentDetailsList to get the updated fulfillments and their ID's
  6. Use Call UpdateOrderFulfillments to add tracking information and mark order shipped.

Back to top

 

 

Limits

Below you will find a list of our hourly call limits. If you feel you need to make calls exceeding these limits, please supply support with a sample of your API and we’ll look for ways to help you decrease your call volume.

 

Call Limits Per Hour

 

Method

Allowed Calls per Hour

AdminService.GetAuthorizationList

100

AdminService.RequestAccess

100

InventoryService.AssignLabelListToInventoryItemList

10,000

InventoryService.DoesSkuExist

25,000

InventoryService.GetFilteredInventoryItemList

5,000

InventoryService.GetFilteredSkuList

5,000

InventoryService.GetInventoryItemQuantityInfo

10,000

InventoryService.SyncInventoryItem

250,000

InventoryService.SyncInventoryItemList

10,000

InventoryService.UpdateInventoryItemQuantityAndPrice

500,000

InventoryService.UpdateInventoryItemQuantityAndPriceList

20,000

ListingService.WithdrawListings

2,500

OrderService.GetOrderList

1,000

 

Back to top

0
Your rating: None
0
Your rating: None
Tags
API