HL API offers a way to retrieve data about our catalog like the list of variants, products, the inventory, etc.

 

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

Download the mapping table

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