HL API offers a way to retrieve data about our catalog like the list of variants, products, the inventory, etc.
- Get /Catalog/Brands
- Get /Catalog/Categories
- Get /Catalog/Products
- Get /Catalog/Products/Inventory
- Get /Catalog/Products/Images
- Get /Catalog/Products/Prices
Get /Catalog/Brands
This function returns the list of all available brands. This information is updated once per day in our system, so it should also be retrieved at most once per day.
Method
GET
Parameters
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
pageStartIndex | No | Refer to the Paging section. | path | string |
pageSize | No | Refer to the Paging section. | path | string |
language | No | Refer to the Common section. | header | string |
callerName | No | Refer to the Common section. | header | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
500 | Internal Server Error |
Success Response
A list of brands will be returned.
[{
"Id": 0,
"Name": "string"
}]
Examples
- GET https://[HOST]/Catalog/Products/Brands?pageStartIndex=1&pageSize=20
Get /Catalog/Categories
This function returns the list of all the available categories. This information is updated once per day in our system, so it should also be retrieved at most once per day. Categories have a tree structure and include primary categories, sub-categories, and tertiary categories. For example:
Primary: Tools
Sub-category: Frame tools
Tertiary category: Alignment tools
Method
GET
Parameters
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
categoryIds | No | Filters the results by categoryIDs. IDs must be comma ‘,’ separated. For instance, you could send “12345678,12345689”. | path | string |
language | No | Refer to the Common section. | header | string |
callerName | No | Refer to the Common section. | header | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
500 | Internal Server Error |
Success Response
A list of categories will be returned.
[{
"CategoryId": 0,
"CategoryName": "string",
"SubCategories": [{
"CategoryId": 0,
"CategoryName": "string",
"SubCategories": [{}]
}]
}]
Examples
- GET https://[HOST]/Catalog/Categories/
Get /Catalog/Products
This function returns the list of all available products. This information is updated once per day in our system, so it should also be retrieved at most once per day.
Method
GET
Parameters
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
pageStartIndex | No | Refer to the Paging section. | path | string |
pageSize | No | Refer to the Paging section. | path | string |
dateFrom | No | Starting date from which the content will be returned. The following formats are supported ‘mm/dd/yyyy’ and ‘yyyy-mm-dd’. | path | string |
skus | No | Filter the result by skus. Example of a valid filter : ?skus=460181-S-001,460181-M-001 or ?skus=460181 or ?skus=4601 | path | string |
categories | No | Filter the result by categories. Example of a valid filter : ?categories=Apparel,Bikes | path | string |
brands | No | Filter the result by brands. Example of a valid filter : ?brands=Evo,Eclypse | path | string |
status | No | Filter the result by variant status. Possible values are {8 = Discontinued by HLC, 9 = Discontinued by the supplier, 7 = Active /*Automatically includes status IDs 10 and 13, which also mean Active but cannot be retrieved individually*/ , 11 = Inactive} | path | string |
prices | No | Filter the result by price type. Possible values are {0 = Base (original price), 1 = Sale, 2 = Closeout, 3 = MAP, 4 = MSRP, 5 = Program}. | path | string |
barcodes | No | Filter the result by barcode (EAN/UPC). Multiple comma-separated barcodes can be requested. | path | string |
mfgPartNumbers | No | Filter the result by manufacturing part number. Multiple comma-separated numbers can be requested. | path | string |
language | No | Refer to the Common section. | header | string |
callerName | No | Refer to the Common section. | header | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
204 | No Content |
400 | Bad Request |
500 | Internal Server Error |
Success Response
A list of products.
[{
"ProductNo": "string",
"Name": "string",
"Description": "string",
"BrandId": 0,
"Brand": "string",
"DateCreated": "2018-11-20T20:54:07.239Z",
"DateLastModified": "2018-11-20T20:54:07.239Z",
"Taxable": true,
"Variants": [{
"VariantNo": "string",
"Description": "string",
"StatusId": 0,
"StatusDesc": "string",
"UPC": "string",
"EAN": "string",
"Config": "string",
"SizeId": "string",
"ColorId": "string",
"ProductDimensionGroup": "string",
"Dimensions": {
"Weight": 0,
"Length": 0,
"Width": 0,
"Height": 0
},
"MFGPartNumber": "string",
"GroundOnly": true,
"DateLastModified": "2018-11-20T20:54:07.239Z",
"Attributes": [{
"Name": "string",
"Value": "string"
}],
"Prices": [{
"Amount": 0,
"TypeId": 0,
"Type": "string",
"QtyBreak": 0
}],
"Images": [{
"Format": "string",
"Url": "string"
}],
"CanBeFulFilled": true
}],
"Categories": [{
"CategoryId": 0,
"CategoryName": "string",
"Level": 0
}]
}]
Examples
- GET https://[HOST/Catalog/Products?pageStartIndex=1&pageSize=20
Get /Catalog/Products/Inventory
This function returns the inventory per warehouse for each product variants.
Method
GET
Parameters
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
pageStartIndex | No | Refer to the Paging section. | path | string |
pageSize | No | Refer to the Paging section. | path | string |
dateFrom | No | Starting date from which the content will be returned. The following formats are supported ‘mm/dd/yyyy’ and ‘yyyy-mm-dd’.
The dateFrom parameter value is checked against an internal date representing the variant’s last quantity update. This means that only quantities modified after the dateFrom value will be returned. The time of day (hh:mm:ss) can also be set to reduce even more the scope of data that will be retrieved. So for example, this date and time would be valid: 2021-02-10 11:50:00 |
path | string |
skus | No | Filter the result by skus. Example of a valid filter : ?skus=460181-S-001,460181-M-001 or ?skus=460181 or ?skus=4601 | path | string |
status | No | Filter the result by variant status. Possible values are {8 = Discontinued by HLC, 9 = Discontinued by the supplier, [7, 10, 13] = Active, 11 = Inactive} | path | string |
mfgPartNumbers | No | Filter the result by manufacturing part number. Multiple comma-separated numbers can be requested. | path | string |
language | No | Refer to the Common section. | header | string |
callerName | No | Refer to the Common section. | header | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
204 | No Content |
400 | Bad Request |
500 | Internal Server Error |
Success Response
A list of variants with their inventories will be returned.
[{
"VariantId": 0,
"VariantNo": "string",
"ProductId": 0,
"AddedToWatchList": true,
"StatusId": 0,
"StatusDescription": "string",
"WarehousesQuantities": [{
"Id": 0,
"Name": "string",
"QtyAvailable": 0
"NextDueDate": "2018-11-23T21:07:27.976Z"
}],
"TotalQtyAvailable": 0
"NextDueDate": "2018-11-23T21:07:27.976Z" (Lowest Date)
}]
Examples
- GET https://[HOST]/ Catalog/Products/Inventory?skus=020056
Get /Catalog/Products/Images
This function returns the image paths of product variants.
Method
GET
Parameters
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
pageStartIndex | No | Refer to the Paging section. | path | string |
pageSize | No | Refer to the Paging section. | path | string |
skus | No | Filter the result by skus. Example of a valid filter : ?skus=460181-S-001,460181-M-001 or ?skus=460181 or ?skus=4601 | path | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
204 | No Content |
500 | Internal Server Error |
Success Response
A list of images path will be returned.
[{
"VariantNo": "string",
"ProductNo": "string",
"Images": [{
"Format": "string",
"Url": "string"
}]
}]
Examples
- GET https://[HOST]/Catalog/Products/Variants/Images?pageStartIndex=1&pageSize=20&productIds=5637145937
GET /CATALOG/PRODUCTS/PRICES
This function returns the price for each product variants.
METHOD
GET
PARAMETERS
The following request parameters are available:
Parameter | Required | Description | Type | Data Type |
pageStartIndex | No | Refer to the Paging section. | path | string |
pageSize | No | Refer to the Paging section. | path | string |
skus | No | Filter the result by skus. Example of a valid filter : ?skus=460181-S-001,460181-M-001 or ?skus=460181 or ?skus=4601. | path | string |
language | No | Refer to the Common section. | header | string |
callerName | No | Refer to the Common section. | header | string |
HTTP Response Status Codes
Status Code | Description |
200 | Success |
500 | Internal Server Error |
SUCCESS RESPONSE
A list of variants with their inventories will be returned.
[{
"VariantNo": "string",
"ProductNo": "string",
"Prices": [{
"Price": 0,
"PriceTypeId": 0,
"PriceTypeDesc": "string",
"QtyBreak": 0
}]
}]
PRICE TYPES EXPLANATION
Here is an explanation of the possible price types this function can return. Note that retail prices are used to sell to consumers, and wholesale prices are used to sell to dealers. The lowest wholesale price returned for an item will be the price charged to the dealer.
Price type ID | Price type description | Comments |
0 | Base | (wholesale) Base cost price of the item |
1 | Sale | (wholesale) Sale price |
2 | Closeout | (wholesale) Closeout price |
3 | MAP | (retail) Minimum advertised price |
4 | MSRP | (retail) Manufacturer’s suggested retail price |
5 | Program | (wholesale) Cost price that is part of a special pricing program the dealer is part of |
EXAMPLES
- GET https://[HOST]/ Catalog/Products/Prices ?skus=460181-S-001,460181-M-001