Product Catalogue Experience API
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.
- A paginated view of all information associated with products.
- A paginated view of all price related information associated with products.
- 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:
- Token Endpoint: Client should call this endpoint to get token https://jbs-au-apim-nonprod.azure-api.net/partner-auth-sign/sign [ Non Prod ]
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
}