The Products resource allows products to be listed, viewed, created, and updated. An individual product’s details can be viewed or updated by appending its identifier (a GUID formatted as XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) to the URI.
The full range of URIs and HTTP Verbs supported are:
Operation
HTTP Action
List of paginated Products
GET /Products/Page/{pageNumber}
View any product
GET /Products/{productGuid}
Create or update a product
POST /Products/{productGuid}
Obsolete a product
POST /Products/Obsolete/{productGuid}
GET Products
Available Filters for GET Products
Filter
Description
brief
If set to true, returns a brief summary of the Product list that only includes: Guid, ProductCode, ProductDescription, DefaultPurchasePrice, DefaultSellPrice, SellPriceTier1, DefaultSupplierId.
customerCode
If you have added customer specific product prices, the list of Product(s) will be displayed. The CustomerSellPrice field will display the customer price.
excludeAssembled
If set to true, assembled Products will not be displayed.
excludeComponents
If set to true, component Products will not be displayed.
includeAttributes
If set to true, returns the attributes associated with the requested Product.
includeObsolete
If set to true, returns all Products, including obsolete. If set to true or if it is not specified then returns only active (i.e. non-obsolete) Products.
modifiedSince
Returns Products created or modified since the specified date.
orderBy
Orders the list by LastModifiedOn or CreatedOn date. By default the list is ordered by `ProductCode`.
pageSize
Specifies the page size for pagination. Default page size is 200 Products.
Note: Requesting large numbers of products can be susceptible to poor network performance. Please reduce the page size if you experience delayed requests.
product
Only returns Products that contain the term in the code or description.
ProductBarcode
Only returns Products with the specific product barcode.
productCode
Returns Products that start with the specific product code.
productDescription
Returns Products that start with the specific product description.
productGroup
Returns Products with the specific product group.
productId
Returns Products with the specific product id. You can enter multiple product Ids separated by commas.
smart
If set to true, overrides all other filters and returns all Products currently in stock, and those that have been in stock in the last 6 months.
sort
Orders the list by CreatedOn date sorted in ascending or descending order.
Note: Date filters should be provided in the ISO format YYYY-MM-DD.
Filters are used by adding the filter and value to the URI:
/Products?productCode=ACME&includeObsolete=true
/Products?orderBy=CreatedOn - returns products ordered by created on date sorted in ascending order.
/Products?orderBy=CreatedOn&sort=asc - returns products ordered by created on date sorted in ascending order.
/Products?orderBy=CreatedOn&sort=desc - returns products ordered by created on date sorted in descending order.
/Products?CustomerCode=[abc123] - returns the list of products with customer specific prices.
/Products?excludeAssembled=true - excludes all assembled products from the list.
/Products?excludeComponents=true - excludes all component product from the list.
/Products?excludeAssembled=true&excludeComponents=true - excludes all Component and Assembled products from the list.
Note:InventoryDetail require Per Warehouse Controls to be toggled on.
Property
Type
Length
Guid
Guid
WarehouseCode
String
15
WarehouseName
String
100
Examples for Response GET /Products
show xml example
show json example
POST Products
Available Request Fields for POST Products
Note: Updates made to existing Products will overwrite existing information, fields left blank will be removed.
Property
Type
Length
Required
Notes
Barcode
String
200
BinLocation
String
50
Only applicable if Per Warehouse Controls are toggled off.
CommerceCode
String
14
'International Commerce Codes' setting must be enabled to update this field. Only digits 0 - 9 can be entered.
CustomsDescription
String
500
'International Commerce Codes' setting must be enabled to update this field. A simplified description of the product to appear on a commercial invoice.
Unique identifier. Can only be set when adding a record.
Height
Nullable Decimal
ICCCountryCode
String
2
'International Commerce Codes' setting must be enabled to update this field. Use 2 two-letter country codes following ISO 3166-1 alpha-2.
ICCCountryName
String
100
'International Commerce Codes' setting must be enabled to update this field. We will apply the correct ICC country based on the ICCCountryCode.
IsComponent
Boolean
true,false
IsSellable
Boolean
true,false
Default is True. If you do not want the product to be available on the Sales Quotes / Sales Orders, you must set it to False.
MaxStockAlertLevel
Nullable Decimal
MinStockAlertLevel
Nullable Decimal
MinimumOrderQuantity
Nullable Decimal
Null or missing property will not override existing information.
MinimumSaleQuantity
Nullable Decimal
Null or missing property will not override existing information.
MinimumSellPrice
Nullable Decimal
Null or missing property will not override existing information. Products will not be sold below this amount. The value cannot be lower than the default sell price.
NeverDiminishing
Nullable Boolean
true,false
NominalCost
Nullable Decimal
Notes
String
1024
Obsolete
Boolean
true,false
PackSize
Nullable Decimal
ProductCode
String
100
Yes
Unique code. Can only be set when adding a record.
'International Commerce Codes' setting must be enabled to update this field. Not required but validated. Refer to the drop-down lists on any Product page for accepted values, or leave the field blank.