๐ In this article, we want to introduce our Recommendation API and what you can do with it.
Description
Recommendation API lets you query the recommendation widgets for rendering in the frontend store's theme
What can you do with Recommendation API
POST /discovery/recommend
Return recommendation products by type
Params
Param | Type | Default | Values |
recommendationType | string |
| "bestsellers", "newest-arrivals", "frequently-bought-together", "trending-products", "hand-picked-products", "recently-viewed", "most-viewed", "related-itemsโ |
limit | number (optional) | 30 |
|
shop | string (required) |
| tenantId |
debug | boolean | false |
|
modelType | string |
| FBT Complementary Alternative AIRelated |
Request Body
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 30
},
"recommendationType": {
"type": "string",
"required": true,
"enum": [
"bestsellers",
"newest-arrivals",
"frequently-bought-together",
"trending-products",
"hand-picked-products",
"recently-viewed",
"most-viewed",
"related-items"
]
},
"modelType": {
"type": "string",
"enum": [
"FBT",
"Complementary",
"Alternative",
"AIRelated"
]
},
"calculatedBasedOn": {
"type": "string",
"enum": [
"view-events",
"purchase-events"
],
"description": "Support trending products"
},
"rangeOfTime": {
"type": "string",
"enum": [
"1-day",
"2-day",
"3-day",
"4-day",
"5-day",
"6-day",
"7-day"
],
"description": "Support trending products"
},
"productIds": {
"type": "array",
"description": "list of product ids"
},
"ruleBased": {
"type": "array",
"item": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"sameCollection",
"sameProductType",
"sameVendor",
"sameTags",
"sameMetafield",
"sameProductCategory"
]
},
"status": {
"type": "boolean"
},
"excluded": {
"type": "array",
"items": [
{
"type": "string"
}
]
},
"metafield": {
"type": "string"
}
}
},
"description": "Support frequently-bought-together"
}
}
}
Response
{
"products": {
"type": "array",
"item": "ProductObject"
},
"total": {
"type": "number"
},
"debug": {
"type": "Object"
}
}
Example
{
"total": 278,
"products": [
{
"body_html": "Cum a rerum ut. Et dolores amet inventore corporis.",
"skus": [],
"available": true,
"created_at": "2022-06-30T00:36:16-07:00",
"review_count": 0,
"variants": [
{
"merged_options": ["size:XXS", "color:Purple"],
"inventory_quantity": 8,
"image": null,
"compare_at_price": null,
"inventory_management": null,
"fulfillment_service": "manual",
"available": true,
"title": "XXS / Purple",
"inventory_policy": "deny",
"price": "71",
"id": 40258801401898,
"sku": "",
"barcode": ""
},
{
"merged_options": ["size:M", "color:Purple"],
"inventory_quantity": 2,
"image": null,
"compare_at_price": "71",
"inventory_management": null,
"fulfillment_service": "manual",
"available": true,
"title": "M / Purple",
"inventory_policy": "deny",
"price": "7",
"id": 40258801434666,
"sku": "",
"barcode": ""
},
{
"merged_options": ["size:L", "color:Purple"],
"inventory_quantity": 8,
"image": null,
"compare_at_price": "71",
"inventory_management": null,
"fulfillment_service": "manual",
"available": true,
"title": "L / Purple",
"inventory_policy": "deny",
"price": "63",
"id": 40258801467434,
"sku": "",
"barcode": ""
}
],
"media": [],
"title": "Purple Mix Dress",
"price_min": 7,
"images_info": [
{
"src": "https://cdn.shopify.com/s/files/1/0567/8386/3850/products/1.jpg?v=1656574576",
"width": 762,
"alt": "Ipsum expedita iusto ad fugiat totam.",
"id": 29585037852714,
"position": 1,
"height": 1100
},
{
"src": "https://cdn.shopify.com/s/files/1/0567/8386/3850/products/4.jpg?v=1656574576",
"width": 762,
"alt": null,
"id": 29585037885482,
"position": 2,
"height": 1100
}
],
"review_ratings": 0,
"template_suffix": "",
"updated_at": "2022-12-25T20:38:20-08:00",
"collections": [
{
"template_suffix": "",
"handle": "dress",
"id": 271327232042,
"sort_value": "09",
"title": "Dress"
}
],
"vendor": "<a onmouseover=alert(document.cookie)>xxs link</a>",
"percent_sale_min": 90,
"best_selling_rank": 999999,
"html": {
"theme_id": 0,
"value": ""
},
"id": 6840831377450,
"published_at": "2022-06-30T00:36:14-07:00",
"images": {
"1": "https://cdn.shopify.com/s/files/1/0567/8386/3850/products/1.jpg?v=1656574576",
"2": "https://cdn.shopify.com/s/files/1/0567/8386/3850/products/4.jpg?v=1656574576"
},
"options_with_values": [
{
"values": [
{
"image": null,
"title": "XXS"
},
{
"image": null,
"title": "M"
},
{
"image": null,
"title": "XL"
},
{
"image": null,
"title": "XXL"
}
],
"name": "size",
"label": "Size"
},
{
"values": [
{
"image": null,
"title": "Yellow"
}
],
"name": "color",
"label": "Color"
}
],
"weight_min": 56,
"handle": "purple-mix-dress",
"compare_at_price_min": 71,
"barcodes": [],
"tags": ["collection:dresses", "style:Arty"],
"published_scope": "webmetafields": [],
"review_ratings": 0,
"product_type": "Dresses",
"weight_max": 971,
"locations": [],
"position": null,
"compare_at_price_max": 71,
"product_category": null,
"price_max": 71,
"debugInfo": {
"score": null,
"sort": [
999999,
1656574576000
]
}
}
],
"debug": {
"aiResponse": []
}
}
Feel free to reach out to our dedicated support team via chat if you have any questions or require additional assistance.