Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Method Objective

The method returns an API response when requesting product recommendations.

Request

EndpointRequest Type
https://api.personaclick.com/recommend/{% recommender_code %}GET

Parameters

Name

TypeRequirement

Description

recommender_codestringrequiredUnique code of the recommendation block. See this value in the "data-recommender-code" attribute of the block created in PersonaClick account. The parameter builds the endpoint for the recommendation request.
shop_idstringrequiredUnique Store Key in PersonaClick. Located there: Account > Settings > Store Settings
didstringrequiredUnique Device ID. See "Initialization (REST API)" for information about getting and using Device ID.
seancestringrequiredUnique ID of the current user session. See "Initialization (REST API)" for information about getting and using User Session ID.
segmentstringoptionallyCan take one of the values: "A" or "B" according to the segment to which the user is assigned. You can use your algorithm to divide users evenly between the segments.
itemnumber/stringrequired in some casesProduct ID. This parameter is mandatory for the requests of blocks with algorithms that depend on the current product. Algorithms: "Similar", "Products usually purchased with this product", "Store recommendations", etc.
excludestringoptionallyProduct IDs (splitted by comma), which should be excluded from the recommended products list.
categorynumber/stringrequired in some casesCategory ID. This parameter is mandatory for all blocks set on category pages.
search_querystringrequired in some casesThe text of the search query. This parameter is mandatory for the requests of blocks that use the "Search" algorithm.
limitnumberoptionallyA maximum number of products in the API response.
locationsstringoptionallyLocation IDs, splitted by comma. If used, the API response will return products available in the listed locations.
brandsstringoptionallyBrand names, splitted by comma. If used, only the products of the listed brands will be returned in the API response.
exclude_brandsstringoptionallyBrand names, splitted by comma. If used, the API response will exclude the products of the listed brands.
categoriesstringoptionallyCategory IDs, splitted by comma. If used, the API response will only return products that are included in the listed categories.
discountbooleanoptionallyIf used with "true" value, then only those products, the value of which is less than the "oldprice" value, will be returned in the API response.
resize_imagenumberoptionallyProduct Image Size. Available values (px): 120, 140, 160, 180, 200, 220. The default is the original size.
extendednumberoptionallyAllows getting extended information about products for self-rendering of the recommended products widget. See the "recommends" property of the API response. Default: false
prevent_shufflebooleanoptionallyIf set to true value this will disable product shuffling in the API response.
pagenumberoptionallyUsed when pagination is needed. The API returns products of the specified page and limit (limit is set in the block's settings in the account or as an additional parameter in the request).

API Response Code

HTTP status code

Description
200 OK

The request was successful.

404 Not FoundThere are no mandatory parameters in the request.

API Response Data

The API returns an array of category objects. Below are the properties of a single object.

NameTypeDescription
htmlstringHTML-code of the block with products. The template is customized in the PersonaClick account.
titlestringThe block title. Corresponds to the value of the "Action" element in the block rules.
recommendsArray/Object Array

Depending on the value of the "extended" parameter in the API request, it returns either an Array or an Object Array.

The Array contains only product IDs.

The Object Array contains objects with the following properties:

  • barcode – product barcode, if it was imported in the product catalog (type: string)
  • brand – product vendor (type: string)
  • categories – an Object array with details of the product category hierarchy, where each object has properties:
    "id" – category ID (type: string)
    "level" – сategory level in the hierarchy (type: string)
    "name" – category name (type: string)
    "name_with_parent" – string name from the name of the parent and main product categories, separated by a "-" (type: string)
    "parent_id" – parent category ID (type: string)
    "url" – category page url (type: string)
  • category_ids – an array of IDs of the product category hierarchy (type: String array)
  • currency – product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the PersonaClick account)
  • discount – the percentage difference between the old price and the current price (type: number)
  • discount_formatted – the percentage difference between the old and the current price that is formatted as a string with the "%" symbol (type: string)
  • id – product ID (type: string)
  • image_url – URL of the original product image (type: string)
  • image_url_handle – relative URL of the original product image (type: string)
  • image_url_resized – the object with the URLs of the resize product image. Available object keys matching the size of the image in pixels: 120, 140, 160, 180, 200, 220, 310, 520 (type: object)
  • is_new – new arrival product (type: boolean). See the parameter in the product catalog import (XML, HTTP API)
  • leftovers – rough number of the products left in stock. Available values are: 
    "one" - one product
    "few" - 2-10 products
    "lot" - over 10 products
  • model –  model and product name (type: string)
  • name – product name (type: string)
  • oldprice – integer old price of the product (type: number)
  • oldprice_formatted – formatted integer old price of the product, including currency (type: string)
  • oldprice_full – old price of the product (type: number)
  • oldprice_full_formatted – formatted old price of the product, including currency (type: string)
  • params – object array with pairs of "key" (type: string), "values" (type: array) properties. The data matches the values of the "param" parameter of the product feed/catalog (XML, HTTP API).
  • picture – link to the product image in the PersonaClick image repository (type: string)
  • price – integer current price of the product (type: number)
  • price_formatted – formatted integer current price of the product, including currency (type: string)
  • price_full – current price of the product (type: number)
  • price_full_formatted – formatted current price of the product, including currency (type: string)
  • rating – product rating (type: number)
  • relative_sales_rate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: number)
  • sales_rate – level of product sales (absolute value) (type: number)
  • url – product page URL (type: string)
  • url_handle - relative product page URL (type: string)
idnumberUnique block identifier. Corresponds to the block ID in the list of blocks in the PersonaClick account.
snippetstringJS snippet code attached to the recommender.

Request Examples

For blocks with algorithms that require the "Product ID":

curl https://api.personaclick.com/recommend/1fd1b3495137bc3c9299816026acf36f?shop_id=0d42fd8b713d0752776ca589cc0056&did=iVxRcAaGzA&seance=C6vpfZPlpz&segment=A&item_id=100500

For blocks with algorithms that require the "Category ID":

curl https://api.personaclick.com/recommend/1fd1b3495137bc3c9299816026acf36f?shop_id=0d42fd8b713d0752776ca589cc0056&did=iVxRcAaGzA&seance=C6vpfZPlpz&segment=A&category=146

For blocks with an algorithm that requires the "Search Query":

curl https://api.personaclick.com/recommend/1fd1b3495137bc3c9299816026acf36f?shop_id=0d42fd8b713d0752776ca589cc0056&did=iVxRcAaGzA&seance=C6vpfZPlpz&segment=A&search_query=To%20be%20or%20not%20to%20be

Full example:

curl https://api.personaclick.com/recommend/1fd1b3495137bc3c9299816026acf36f?shop_id=0d42fd8b713d0752776ca589cc0056&did=iVxRcAaGzA&seance=C6vpfZPlpz&segment=A&search_query=To%20be%20or%20not%20to%20be&category=146&categories=1%2C146%2C100500&exclude=3%2C14%2C159%2C26535&item_id=60496856&limit=15&brands=Alas%2Cpoor%2CYorick
  • No labels