Product Page¶
The product page query should be used on product pages. The product page by default returns the product on the product page for rendering, but is typically combined with additional product recommendation listings.
Request¶
Request method¶
GET
or POST
Request URL¶
https://{cluster-id}.api.esales.apptus.cloud/api/v2/queries/product-page
Request parameters¶
Name | Type | Description | Example |
---|---|---|---|
market | string | The visitor market identifier. Must match the corresponding market identifier in the data feed. Required | UK |
touchpoint | string | The vistor's touchpoint. Valid values are DESKTOP and MOBILE . Required | DESKTOP |
customerKey | string | A key that uniquely identifies the current visitor. Using UUIDs as keys are recommended. Required | 0b05119e-eeb8-418a-bbfb-defa0dde417e |
sessionKey | string | A unique key, identifying the session. Using UUIDs as keys are recommended. Required | 0b05119e-eeb8-418a-bbfb-defa0dde417e |
productKey | string | The product key for the current product page. Must match a product key in the data feed. Required | 060175_24 |
priceId | string | A custom price identifier. Must match supplied custom price identifiers in the data feed. | EUR |
notify | boolean | A boolean that can be used to disable notifications and behavioural registration for the query. | false |
Request headers¶
All request headers are optional, but recommended when eligible.
Content-Type
-application/json
. To prevent automatic browser preflight requests,text/plain
is also supported.Accept-Encoding
-gzip
. Allows responses to be compressed using Gzip.User-Agent
- User agent. Enables internal tracking.
Request body¶
The product page can be configured to return additional recommendation listings and to omit the product in the result if desired. It is typically used with with ALTERNATIVES
and UPSELL
recommendations. The recommendation listing productKey
may be omitted for product recommendation listings on the product page. The provided mandatory productKey
query parameter will be used by default.
Name | Type | Description |
---|---|---|
productGroup | { include: boolean } | An object with product group options. Set include to true to include information about the product for the current page in the response. |
recommendationLists | RecommendationList[ ] | A list of recommendations to be included in the response. |
Request example¶
A product page query example with alternatives and upsell recommendations is demonstrated using cURL below.
#!/bin/bash
curl -i \
-X POST \
-T request-body.json \
-H "Content-Type: text/plain" \
-H "Accept-Encoding: gzip" \
-H "User-Agent: {client user agent}" \
"https://{cluster-id}.api.esales.apptus.cloud/api/v2/queries/product-page?market=EU&sessionKey=4b116e34-0a7a-ce5d-5591-75c62f231967&customerKey=4b116e34-0a7a-ce5d-5591-75c62f231967&touchpoint=DESKTOP&productKey=800291_1"
request-body.json¶
{
"productGroup" : {
"include": true
},
"recommendationLists": [
{
"id": "PDP-1",
"algorithm": "ALTERNATIVES"
},
{
"id": "PDP-2",
"limit": 8,
"algorithm": "UPSELL"
}
]
}
Response¶
Response headers¶
X-Response-Time
Response content-type¶
application/json
Response codes¶
Response | Description |
---|---|
200 | Query accepted, content flattened and serialised to JSON, see Response objects. |
400 | Invalid or missing arguments for this query. |
404 | End point is not valid. |
503 | Service unavailable, no products found in the cluster. |
5xx | Server error such as cluster unavailable or busy. The response body may contain more information about the error. |
Response objects¶
Response example
{
"productGroup": {
"products": [
{
"key": "800291_1",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1BST0RVQ1RfSU5GTzsjO3Byb2R1Y3Rfa2V5OzgwMDI5MV8xOyM7OyM7Izs",
"imageInfo": {
"effect": "GALLERY",
"images": [
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/800291_Tuxedo_Shirt_DC_HT_01_White_s_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/800291_Tuxedo_Shirt_DC_HT_01_White_s.jpg",
"width": 1667
}
]
},
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/800291_Tuxedo_Shirt_DC_HT_01_White_b_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/800291_Tuxedo_Shirt_DC_HT_01_White_b.jpg",
"width": 1667
}
]
}
],
"thumbnail": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/800291_Tuxedo_Shirt_DC_HT_01_White_s_thumbnail.jpg"
},
"swatch": {
"type": "COLORS",
"colors": [
"#f6f6f8"
]
},
"brand": "Gazelle",
"description": "Shirt Premium\nPleated frontEmbroidered lily at cuff100% CottonMashine wash",
"title": "Tuxedo Shirt DC HT",
"link": "/article/tuxedo-shirt-dc-ht?attr1_id=1",
"sellingPrice": {
"min": 159.0,
"max": 159.0
},
"listPrice": {
"min": 159.0,
"max": 159.0
},
"inStock": true,
"badges": {
"primary": [],
"secondary": []
},
"variants": [
{
"key": "8002911001137",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1BST0RVQ1RfSU5GTzsjO3Byb2R1Y3Rfa2V5OzgwMDI5MV8xOzgwMDI5MTEwMDExMzc7IzsjOyM7",
"size": "37",
"inStock": true,
"link": "/article/tuxedo-shirt-dc-ht?attr1_id=1",
"listPrice": 159.0,
"sellingPrice": 159.0
}
// More variants
],
"custom": {
"badge": [
"Exclusive"
],
"category": [
"Shirts",
"Tops"
]
}
}
],
"key": "800291"
},
"recommendationLists": [
{
"id": "PDP-1",
"visualization": "CAROUSEL",
"visible": true,
"productGroups": [
{
"products": [
{
"key": "350232_46",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1JFQ19MSVNUL1BEUC0xOyM7cHJvZHVjdF9rZXk7MzUwMjMyXzQ2OyM7T0JKRUNUSVZFJDsjOyM7",
"imageInfo": {
"effect": "GALLERY",
"images": [
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/350232_Delon_SS_Jersey_Shirt_59_Old_Blue_s_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/350232_Delon_SS_Jersey_Shirt_59_Old_Blue_s.jpg",
"width": 1667
}
]
},
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/350232_Delon_SS_Jersey_Shirt_59_Old_Blue_extra[1]_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/350232_Delon_SS_Jersey_Shirt_59_Old_Blue_extra[1].jpg",
"width": 1667
}
]
}
],
"thumbnail": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/350232_Delon_SS_Jersey_Shirt_59_Old_Blue_s_thumbnail.jpg"
},
"swatch": {
"type": "COLORS",
"colors": [
"#252A40"
]
},
"brand": "Lacoste",
"title": "Delon SS Jersey Shirt",
"link": "/article/delon-ss-jersey-shirt?attr1_id=46",
"sellingPrice": {
"min": 69.0,
"max": 69.0
},
"listPrice": {
"min": 69.0,
"max": 69.0
},
"inStock": true,
"badges": {
"primary": [],
"secondary": []
},
"variants": [
{
"key": "3502321059100",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1JFQ19MSVNUL1BEUC0xOyM7cHJvZHVjdF9rZXk7MzUwMjMyXzQ2OzM1MDIzMjEwNTkxMDA7IzsjOyM7",
"size": "XS",
"inStock": true,
"link": "/article/delon-ss-jersey-shirt?attr1_id=46",
"listPrice": 69.0,
"sellingPrice": 69.0
}
// More variants
]
}
// More products
],
"key": "350232"
}
// More product groups
],
"algorithm": "ALTERNATIVES"
},
{
"id": "PDP-2",
"visualization": "CAROUSEL",
"visible": true,
"productGroups": [
{
"products": [
{
"key": "200223_74",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1JFQ19MSVNUL1BEUC0yOyM7cHJvZHVjdF9rZXk7MjAwMjIzXzc0OyM7T0JKRUNUSVZFJDsjOyM7",
"imageInfo": {
"effect": "GALLERY",
"images": [
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/200223_Frank_Four_Season_Suit_Blazer_95_Grey_extra[3]_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/200223_Frank_Four_Season_Suit_Blazer_95_Grey_extra[3].jpg",
"width": 1667
}
]
},
{
"sources": [
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/200223_Frank_Four_Season_Suit_Blazer_95_Grey_extra[1]_list.jpg",
"width": 920
},
{
"url": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/200223_Frank_Four_Season_Suit_Blazer_95_Grey_extra[1].jpg",
"width": 1667
}
]
}
],
"thumbnail": "https://apptus-demo-images.s3.eu-central-1.amazonaws.com/img2020-04/200223_Frank_Four_Season_Suit_Blazer_95_Grey_extra[3]_thumbnail.jpg"
},
"swatch": {
"type": "COLORS",
"colors": [
"#555555"
]
},
"brand": "Cheap Monday",
"title": "Frank Four Season Suit Blazer",
"link": "/article/frank-four-season-suit-blazer?attr1_id=74",
"sellingPrice": {
"min": 499.0,
"max": 499.0
},
"listPrice": {
"min": 499.0,
"max": 499.0
},
"inStock": true,
"badges": {
"primary": [],
"secondary": []
},
"variants": [
{
"key": "2002231095044",
"ticket": "Oy9mYXNoaW9uL0RFU0tUT1AvUFJPRFVDVF9QQUdFL1JFQ19MSVNUL1BEUC0yOyM7cHJvZHVjdF9rZXk7MjAwMjIzXzc0OzIwMDIyMzEwOTUwNDQ7IzsjOyM7",
"size": "44",
"inStock": true,
"link": "/article/frank-four-season-suit-blazer?attr1_id=74",
"listPrice": 499.0,
"sellingPrice": 499.0
}
// More variants
]
}
// More products
],
"key": "200223"
}
// More product groups
],
"algorithm": "UPSELL"
}
]
}
Name | Type | Description |
---|---|---|
productGroup | ProductGroup | The ProductGroup for the input productKey parameter. |
recommendationLists | RecommendationList[ ] | A list of requested recommendation lists, as specified in request body. |