Child pages
Products - https://developer.channeladvisor.com/working-with-products
Types of Products
A product in the ChannelAdvisor system can be one of the following types:
Type | Description | Buyable | Has Quantity | SaaSplications Equivalent | ||
---|---|---|---|---|---|---|
Standalone | The default type of product. Self-contained and without any relationship to other products, it can be listed and purchased. | Yes | Yes | SKU | ||
Parent | A container for one or more child items that vary by one or more attributes such as size or color. A parent does not have quantity and is not purchasable. | No | No | Colour Size Group | ||
Child | A child product can be purchased and is always related to a single parent product. A child product usually exists for each variation of a parent product. | Yes | Yes | SKU | ||
Bundle | Bundles are a virtual container for one or more other buyable items. For example, a bundle may contain one camera and two memory cards. Each bundle component, which can be either a standalone or child product, has a component multiplier quantity, which is used to calculate the bundle's overall quantity. | Yes | Yes (calculated) | SKU of type Kit |
Flow of Product Creation
Outline the process of creating products (as a general concept): see https://developer.channeladvisor.com/working-with-products/product-endpoints
The Product Creation and Update process usually flows something like this with REST API.
- Client provides new SKU data to the system at will.
- Some pre-requisites may need to be in place depending on design of the client products:
- Variation Names/Types
- Distribution Centers - ie when an order will be fulfilled by a marketplace store of products
- During creation of SKUs, apply all known product attributes within the same product creation request for ease of use - otherwise individual attribute requests are required to append new attributes.
- Apply Quantity information to products.
Once a product has been created, these are the options going forward:
CREATE Bundles The products now need to be applied to Bundles for sale. UPDATE Field Data Data needs to be adjusted added for an existing product in an existing field ADD More Data Data needs to be added to an existing product in an existing field, or a new field and data needs to be added for a product
DELETE Individual Data A data point needs to be cleared of the existing values, leaving a blank
DELETE the Entire Product Remove a product from the system because it is no longer active UPLOAD Product Data Same as ADD and UPDATE, but executed in bulk EXPORT Product Data Extract data in bulk About Export Status
To retrieve only orders that haven't already been marked as exported by the Developer Key and Application ID combination being used.
- This is a good way to ensure order imports are not duplicated.
- See more on all the options for filtering, querying, expanding data under the Getting and Filtering Data page
Considerations
- Default export status value is 'false'.
- Export status is set by each Developer Key and Integration Application ID and can be set and removed at will through the API.
- The Application ID is unique by the Integration created in the Developer Console, so plan to mark orders as exported and retrieve orders from the same Integration to ensure the goal of avoiding retrieving already imported orders.
- Export status is not viewable in the system user interface and is not a field on an item through the API.
- To test Export status on orders previously marked as exported=true, place a GET Orders request to retrieve orders without defining a specific Order ID. The orders marked as Exported should not be in the response.
- Retrieving a specific order ID will always ignore the status, so this is not a valid way to test if Exported status has been set.
Complete Product Entity Table
This table is a single view of all related Product entities that may exist for a product, including definitions for collections, and whether or not to expect to see a property populated.
Important Notes:
- When a field is Always Populated = "No" or "Conditional No", expect a null or "" (blank) value, but cases where Data Source contains "Marketplace", a value may be provided.
- A product cannot exist concurrently as a Parent, Child, Standalone, AND Bundle, so the collection properties for Children and BundleComponents will only be available when a product is respectively a Parent/Child or Bundle.
SaaS (red is always populated) | Property Name (CA) | Collection Property Name | Type (Max Length) | Always Populated | Data Source | Description | |||
---|---|---|---|---|---|---|---|---|---|
ExRef | ID | n/a | integer (32 bit) | Yes | ChannelAdvisor | ChannelAdvisor system generated unique identifier of the product. This value is NOT the Sku. | |||
Host company - Channel advisor account details | ProfileID | n/a | integer (32 bit) | Yes | ChannelAdvisor or Seller | Identifies the ChannelAdvisor account. Defined by seller when creating the product. | |||
CreateDateUtc | n/a | DateTimeOffset | Yes | ChannelAdvisor | The date the product was created in the ChannelAdvisor system. | S | |||
Style colour size group | IsInRelationship | n/a | boolean | Yes | ChannelAdvisor or Seller | Whether or not the product is in a parent/child relationship. Parents and children will be true, standalone products will be false. | |||
Style colour size parent | IsParent | n/a | boolean | Yes | ChannelAdvisor or Seller | True if the product is a parent with children. | |||
RelationshipName | n/a | string (50) | No | Seller | If the product is in a relationship, this value represents the relationship type. The types are user-defined within ChannelAdvisor. | ||||
style colour size group ID | ParentProductID | n/a | integer (32 bit) | No | Seller | If the product is a child, this will contain the ID of the parent product. | |||
IsAvailableInStore | n/a | boolean | Yes | Seller | Ignore. Deprecated Field. | ||||
Product Status = Inactive | IsBlocked | n/a | boolean | Yes | Seller | A blocked product will not list on a marketplace | |||
Always False | IsExternalQuantityBlocked | n/a | boolean | Yes | Seller | If true, will prevent listing and fulfillment from Externally-Managed DCs. | |||
BlockComment | n/a | string (80) | No | Seller | Comment field associated with IsBlocked property. | ||||
Date product made inactive | BlockedDateUtc | n/a | DateTimeOffset | No | ChannelAdvisor | ||||
ReceivedDateUtc | n/a | DateTimeOffset | Yes | ChannelAdvisor | The date the product was received in inventory. | ||||
LastSaleDateUtc | n/a | DateTimeOffset | No | ChannelAdvisor | The date the product was last sold. | ||||
UpdateDateUtc | n/a | DateTimeOffset | Yes | ChannelAdvisor | The date the product was last updated. | ||||
QuantityUpdateDateUtc | n/a | DateTimeOffset | No | ChannelAdvisor | The date any quantity of the product was last updated. | ||||
Amazon Supplier > "Their Reference" | ASIN | n/a | string (14) | No | Seller | Amazon Standard Identification Number | |||
Brand | Brand | n/a | string (150) | No | Seller | ||||
New | Condition | n/a | string | No | Seller | "New", "Used", "Refurbished", "Reconditioned", or "Like New" are the only valid values for this field. | |||
Description | Description | n/a | string (32,000) | No | Seller | ||||
EAN | n/a | string (20) | No | Seller | European Article Number (Now called International Article Number) | ||||
FlagDescription | n/a | string (80) | No | Seller | Provides a short description of the flag associated with this product. | ||||
Flag | n/a | enum | No | Seller | Sets the flag style on a product | ||||
HarmonizedCode | n/a | string (20) | No | Seller | |||||
ISBN | n/a | string (20) | No | Seller | International Standard Book Number | ||||
Manufacturer | n/a | string (255) | No | Seller | |||||
MPN | n/a | string (50) | No | Seller | Manufacturer Part Number | ||||
Short Description | ShortDescription | n/a | string (1,000) | No | Seller | ||||
SKU | Sku | n/a | string (50) | No | Seller | ||||
? | Subtitle | n/a | string (100) | No | Seller | ||||
TaxProductCode | n/a | string (25) | No | Seller | Tax product code for this item (for reseller use, NOT sales tax). Limited length - can also store in an attribute. | ||||
? | Title | n/a | string (120) | No | Seller | ||||
UPC | n/a | string (20) | No | Seller | Universal Product Code | ||||
WarehouseLocation | n/a | string (80) | No | Seller | |||||
? | Warranty | n/a | string (255) | No | Seller | ||||
? | Height | n/a | decimal | No | Seller | Default unit in US profiles is "Inches". All other locales are "Centimeters". | |||
? | Length | n/a | decimal | No | Seller | Default unit in US profiles is "Inches". All other locales are "Centimeters". | |||
? | Width | n/a | decimal | No | Seller | Default unit in US profiles is "Inches". All other locales are "Centimeters". | |||
? | Weight | n/a | decimal | No | Seller | Default unit in US profiles is "Pounds". All other locales are "Kilograms". | |||
Cost | n/a | decimal | No | Seller | The price that the seller paid for this item. | ||||
Margin | n/a | decimal | No | Seller | Profit margin for a product. | ||||
RRP | RetailPrice | n/a | decimal | No | Seller | Retail price for this item. | |||
Active Ebay Deal starting price ? | StartingPrice | n/a | decimal | No | Seller | For an eBay listing, the initial bid starting point. | |||
Active Ebay Deal minimum price ? | ReservePrice | n/a | decimal | No | Seller | For an eBay listing, the minimum price for an auction to sell. | |||
Active Ebay Deal buy it now price ? | BuyItNowPrice | n/a | decimal | No | Seller | Selling price of a product. | |||
StorePrice | n/a | decimal | No | Seller | |||||
SecondChancePrice | n/a | decimal | No | Seller | Price above which to offer underbidders of this item a second chance offer. | ||||
MinPrice | n/a | decimal | No | Seller | Minimum price of a product. | ||||
MaxPrice | n/a | decimal | No | Seller | Maximum price of a product. | ||||
SupplierName | n/a | string | No | Seller | The name of the supplier for this item | ||||
SupplierCode | n/a | string | No | Seller | Code for the supplier of this item (must be created in ChannelAdvisor prior to use) | ||||
SupplierPO | n/a | string (255) | No | Seller | Purchase Order associated with this supplier | ||||
Classification | n/a | string (35) | No | Seller | The inventory classification to assign to this item | ||||
IsDisplayInStore | n/a | boolean | Yes | Seller | Ignore. Deprecated Field. | ||||
StoreTitle | n/a | string | No | Seller | Ignore. Deprecated Field. | ||||
StoreDescription | n/a | string | No | Seller | Ignore. Deprecated Field. | ||||
? | BundleType | n/a | enum | Yes | Seller | None = Not a bundle, BundleComponent = Is a component in at least 1 bundle, BundleItem = Is a bundle | |||
TotalAvailableQuantity | n/a | integer (32 bit) | No | ChannelAdvisor | |||||
OpenAllocatedQuantity | n/a | long | No | ChannelAdvisor | |||||
OpenAllocatedQuantityPooled | n/a | long | No | ChannelAdvisor | |||||
PendingCheckoutQuantity | n/a | long | No | ChannelAdvisor | |||||
PendingCheckoutQuantityPooled | n/a | long | No | ChannelAdvisor | |||||
PendingPaymentQuantity | n/a | long | No | ChannelAdvisor | |||||
PendingPaymentQuantityPooled | n/a | long | No | ChannelAdvisor | |||||
PendingShipmentQuantity | n/a | long | No | ChannelAdvisor | |||||
PendingShipmentQuantityPooled | n/a | long | No | ChannelAdvisor | |||||
TotalQuantity | n/a | long | No | ChannelAdvisor | |||||
TotalQuantityPooled | n/a | long | No | ChannelAdvisor | |||||
? | MultipackQuantity | n/a | integer (32 bit) | No | Seller | The number of individual items that are in a package. | |||
Attributes | Product | AttributeValue[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Attributes exist. | ||||
DCQuantities | Product | DCQuantity[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Quanty exists for the product. Quantity by Distribution Center | ||||
Images | Product | Image[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Images exist. | ||||
Labels | Product | ProductLabel[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Labels exist. List of labels on the product | ||||
BundleComponents | Product | ProductBundleComponent[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Components have been added to the bundle. | ||||
Children | Product | ChildRelationship[] | Conditional Yes | ChannelAdvisor | Collection name always exists. Sub-properties only exist when Children have been added to the parent. If the product is a parent, this collection will contain a record for each child - only visible when retrieving parent by Product ID. | ||||
CA Reference number | ProductID | Attributes | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when an Attribute exists. ChannelAdvisor system generated unique identifier of the product. This value is NOT the Sku. | |||
ProfileID | Attributes | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when an Attribute exists. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
Name | Attributes | string (32) | Conditional Yes | Seller | Property only exists when an Attribute exists. The name of the attribute. | ||||
Value | Attributes | string (32,000) | Conditional Yes | Seller | Property only exists when an Attribute exists. The value that corresponds with the name given. | ||||
CA Reference number | ProductID | Images | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when an Image exists. ChannelAdvisor system generated unique identifier of the product. This value is NOT the Sku. | |||
ProfileID | Images | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when an Image exists. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
PlacementName | Images | string (50) | Conditional Yes | Seller | Property only exists when an Image exists. Name that corresponds with placement of the image. | ||||
Abbreviation | Images | string (50) | Conditional Yes | ChannelAdvisor | Property only exists when an Image exists. Abbreviation of the Placement Name. Not used in requests. | ||||
Url | Images | string (255) | Conditional Yes | Seller | Property only exists when an Image exists. URL of the image identified. | ||||
ProductID | Labels | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a Label exists. ChannelAdvisor system generated unique identifier of the product. This value is NOT the Sku. | ||||
ProfileID | Labels | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a Label exists. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
Name | Labels | string (50) | Conditional Yes | Seller | Property only exists when a Label exists. Name of the label to be applied to this product | ||||
ParentProductID | Children | integer (32 bit) | Conditional Yes | Seller | Property only exists when a Child Product exists. The ChannelAdvisor system generated Product ID of the parent product. | ||||
ProfileID | Children | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a Child Product exists. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
ChildProductID | Children | integer (32 bit) | Conditional Yes | Seller | Property only exists when a Child Product exists.The ChannelAdvisor system generated Product ID of the child product. | ||||
ProductID | BundleComponents | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a the item has Bundle Components. ChannelAdvisor system generated unique identifier of the bundle product. This value is NOT the Sku. | ||||
ComponentID | BundleComponents | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a the item has Bundle Components. The ChannelAdvisor system generated unique Component ID related to this bundled Product ID. The same product in a different Bundle product will have a different Component ID. | ||||
ProfileID | BundleComponents | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a the item has Bundle Components. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
ComponentSku | BundleComponents | string (50) | Conditional Yes | Seller | Property only exists when a the item has Bundle Components. Sku value of the component item. | ||||
Quantity | BundleComponents | integer (32 bit) | Conditional Yes | Seller | Property only exists when a the item has Bundle Components. Number of this component item available within the bundle. | ||||
Pack Size | ProductID | DCQuantities | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a the item has Quantity. ChannelAdvisor system generated unique identifier of the product. This value is NOT the Sku. | |||
ProfileID | DCQuantities | integer (32 bit) | Conditional Yes | ChannelAdvisor | Property only exists when a the item has Quantity. Identifies the ChannelAdvisor account. Defined by seller when creating the product. | ||||
Active deal source warehouse | DistributionCenterID | DCQuantities | integer (32 bit) | Conditional Yes | Seller | Property only exists when a the item has Quantity. Defines the distribution center ID where the related quantity exists. | |||
Active deal source warehouse quantity | AvailableQuantity | DCQuantities | integer (32 bit) | Conditional Yes | Seller | Property only exists when a the item has Quantity. Defines the available quantity of the product. |
Resource URL / Endpoint
GET https://api.channeladvisor.com/v1/Orders?exported=false
GET https://api.channeladvisor.com/v1/Orders?exported=true
POST https://api.channeladvisor.com/v1/Orders(OrderID)/Export
DELETE https://api.channeladvisor.com/v1/Orders(OrderID)/ExportRequired Parameters (for GET)
Property Required Note exported Required Include in URL. Query value will be true or false.
Note: there is no dollar sign ($) before this parameter.Required Parameters (for POST and DELETE)
Property Required Note OrderID Required Include in URL. The ChannelAdvisor generated unique identifier for the Order.
Cannot be substituted with Marketplace Order ID.Export Status Request Examples