Product Catalogue Experience API

(1 review)

home

The Product Catalogue Experience API allows you to easily retrieve realtime product information from JB HiFi's Salesforce System. With this API you can extract three types of product information.

  1. A paginated view of all information associated with products.
  2. A paginated view of all price related information associated with products.
  3. A view of all the information associated with a specific product.

Acquiring JB APIM Token and API Request Access

User has to follow few steps before they call actual resource/endpoint. User should acquire JB APIM token and complete client application registration as needed to proceed further.

  • Acquiring JB APIM Token
(1) Acquiring JB APIM Token

Below are steps to get access token for accessing appropriate resources from client end:

Method: GET

Input Header(s):

    - Ocp-Apim-Subscription-Key
            - Required: Yes
            - Description: APIM Subscription Key
            - Type: string
            - Example: <value of **subscriptionKey**>
    - x-jbg-company
            - Required: Yes
            - Description: JBG Company
            - Type: string
            - Example: <value of target **company**> [ JBH ]
    - x-jbg-country
            - Required: Yes
            - Description: JBG Country
            - Type: string
            - Example: <value of **country**> [ AU ]
    - x-env
            - Required: Yes
            - Description: Application Environment Name
            - Type: string
            - Example: <value of **environment**> [ DEV ]
    - x-partner
            - Required: Yes
            - Description: Partner Name or Customer Name
            - Type: string
            - Example: <value of **partner**>

Response Details: API response will contain the JWT token for future usage with APIM.

  {
      "token" : "xxxxxxxxxxxxxxxxxxx"
  }
  • Call for Requested Resource/Endpoint:

User can invoke subsequence calls as per their need: Ex: GET /products , GET /products/{productId} etc.,

Please refer below API Use section for more details.


API Use
1. All information associated with products

Endpoint: /products

Method: GET

Required Input Header: None

Query Parameters:

- **channel**
    - Required: No
    - Description: Channel Name
    - Type: Enumerated String (options are either ALL or B2B)
    - Example: ALL
- **Details**
    - Required: Yes
    - Description: Specifies which type of information is extracted. Either all product information, or just price information
    - Type: Enumerated String (options are either ALL or PRICE)
    - Example: ALL
- **Limit**
    - Required: No
    - Description: Number of records per page. Default set to 200 with a maximum of 500.
    - Type: Number
    - Example: 100
- **Offset**
    - Required: No
    - Description: Query offset, i.e. how far from the first record will the page start displaying
    - Type: Number
    - Example: 200
- **QueryId**
    - Required: No
    - Description: Query Identifier, generated by integration system
    - Type: string
    - Example: 01t0K0000065mPQQAY

Output Options: JSON, CSV

Example Output:

JSON

{

  "totalSize": 1200,
  "firstPage": "https://mule-e-product-api/api/products?details=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200",
  "prevPage": "https://mule-e-product-api/api/products?details=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200",
  "nextPage": "https://mule-e-product-api/api/products?details=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=600",
  "lastPage": "https://mule-e-product-api/api/products?details=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=1000",
  "records": [ {
  "sku": "9194212",
  "brandName": "TIFFANY ONES",
  "modelNumber": "KT350-XWSE",
  "description": "1.7LT CORDLESS KETTLE",
  "name": "1.7LT CORDLESS KETTLE",
  "longDescription": "1.7LT CORDLESS KETTLE",
  "category": "",
  "status": "N/A",
  "costEx": 10.50,
  "freightEx": 2.50,
  "freightSKU": "634678",
  "rrp": 10.50,
  "imageURL": "http://fakeimagesite.com/456789",
  "plu": "1231231adscsxcxz",
  "isBulky": false,
  "COMExclusive": "COM-SUMMER",
  "packageHeight": 0.200,
  "packageWidth": 0.220,
  "packageLength": 1.200,
  "packageWeight": 0.700
},
{

  "sku": "9194210",
  "brandName": "TIFFANY CHARGE",
  "modelNumber": "KT351-XWSE",
  "description": "ORDLESS CHARGER",
  "name": "CORDLESS KETTLE",
  "longDescription": "CORDLESS CHARGER",
  "category": "",
  "status": "N/A",
  "costEx": 10.50,
  "freightEx": 2.50,
  "freightSKU": "612397",
  "rrp": 10.50,
  "imageURL": "http://fakeimagesite.com/456780",
  "plu": "1231231adscsxcxz",
  "isBulky": false,
  "COMExclusive": "COM-SUMMER",
  "packageHeight": 0.200,
  "packageWidth": 0.220,
  "packageLength": 1.200,
  "packageWeight": 0.700
} ]

}

CSV

sku,brandName,modelNumber,description,name,longDescription,category,status,costEx,freightEx,freightSKU,rrp,imageURL,plu,isBulky,COMExclusive,packageHeight,packageWidth,packageLength,packageWeight 9194212,TIFFANY ONES,KT350-XWSE,1.7LT CORDLESS KETTLE,1.7LT CORDLESS KETTLE,1.7LT CORDLESS KETTLE,,N/A,10.5,2.5,634678,10.5,http://fakeimagesite.com/456789,1231231adscsxcxz,false,COM-SUMMER,0.2,0.22,1.2,0.7 9194210,TIFFANY CHARGE,KT351-XWSE,ORDLESS CHARGER,CORDLESS KETTLE,CORDLESS CHARGER,,N/A,10.5,2.5,612397,10.5,http://fakeimagesite.com/456780,1231231adscsxcxz,false,COM-SUMMER,0.2,0.22,1.2,0.7  firstPage - https://mule-e-product-api/api/products?deails=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200 prevPage - https://mule-e-product-api/api/products?deails=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=400 nextPage - https://mule-e-product-api/api/products?deails=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=600 lastPage - https://mule-e-product-api/api/products?deails=ALL&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=800
2. Price information associated with products

Endpoint: /products

Method: GET

Required Input Header: None

Query Parameters:


- **channel**
    - Required: Yes
    - Description: Channel Name
    - Type: Enumerated String (options are either ALL or B2B)
    - Example: ALL
- **Details**
    - Required: Yes
    - Description: Specifies which type of information is extracted. Either all product information, or just price information
    - Type: Enumerated String (options are either ALL or PRICE)
    - Example: ALL
- **Limit**
    - Required: No
    - Description: Number of records per page. Default set to 200 with a maximum of 500.
    - Type: Number
    - Example: 100
- **Offset**
    - Required: No
    - Description: Query offset, i.e. how far from the first record will the page start displaying
    - Type: Number
    - Example: 200
- **QueryId**
    - Required: No
    - Description: Query Identifier, generated by integration system
    - Type: string
    - Example: 01t0K0000065mPQQAY

Output Options: JSON

Example Output:

{
  "totalSize": 1200,
  "firstPage": "https://mule-e-product-api/api/products?details=PRICE&queryId=01t0K0000065mPQQAY&LIMIT=200",
  "prevPage": "https://mule-e-product-api/api/products?details=PRICE&queryId=01t0K0000065mPQQAY&LIMIT=200",
  "nextPage": "https://mule-e-product-api/api/products?details=PRICE&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=600",
  "lastPage": "https://mule-e-product-api/api/products?details=PRICE&queryId=01t0K0000065mPQQAY&LIMIT=200&OFFSET=1000",
  "records": [
    {
      "sku": "9194212",
      "costEx": 10.50,
      "freightEx": 2.50,
      "freightSKU": "634678",
      "rrp": 10.50,
      "promoStartDate": "2023-01-05",
      "promoEndDate": "2023-01-20"
    },
    {
      "sku": "9194210",
      "costEx": 10.50,
      "freightEx": 2.50,
      "freightSKU": "612397",
      "rrp": 10.50
    }
  ]
}
3. Information associated with a specific product

Endpoint: /products/{productId}

Method: GET

Required Inputs

  • Query Parameter : channel
    • Description: Channel name
    • Type: string
    • Example: B2B
  • URI Parameter: {productId}
    • Description: SKU (Stock Keeping Unit) of the product
    • Type: string
    • Example: az265

Output Options: JSON

Example Output:

{
  "sku": "9194210",
  "brandName": "TIFFANY CHARGE",
  "modelNumber": "KT351-XWSE",
  "description": "ORDLESS CHARGER",
  "name": "CORDLESS KETTLE",
  "longDescription": "CORDLESS CHARGER",
  "category": "",
  "status": "N/A",
  "costEx": 10.50,
  "freightEx": 2.50,
  "freightSKU": "612397",
  "rrp": 10.50,
  "imageURL": "http://fakeimagesite.com/456780",
  "plu": "1231231adscsxcxz",
  "isBulky": false,
  "COMExclusive": "COM-SUMMER",
  "packageHeight": 0.200,
  "packageWidth": 0.220,
  "packageLength": 1.200,
  "packageWeight": 0.700
}

Reviews