For dev - Recommendation API

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": "L"

}

],

"name": "size",

"label": "Size"

},

{

"values": [

{

"image": null,

"title": "Purple"

}

],

"name": "color",

"label": "Color"

}

],

"weight_min": 87,

"handle": "purple-mix-dress",

"compare_at_price_min": 71,

"barcodes": [],

"tags": [

"collection:dresses",

"style:Arty"

],

"published_scope": "web",

"metafields": [],

"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": []

}

}