Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Method Objective

The method returns an API response when requesting product recommendations.

Syntax and parameters

Code Block
languagejava
themeFadeToGrey
PersonaClicksdk.recommend(code, params,params) { callback); }


NameTypeRequirementDescription
codestringrequiredUnique code of the recommendation block. See this value in the "data-recommender-code" attribute of the block created in PersonaClick account.
paramsenumrequiredRequest parameters.
callbackfunctionrequiredA callback function, to which the API response will be passed.
Response type: object.

Request parameters

NameTypeDescriptionhtmlstringHTML-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/ObjectArray with product IDs. If an extended response is requested, this property will have an object array with extended information for each product.ITEMCATEGORY_ID
NameTypeRequirementDescription
blockIdstringrequiredUnique code of the recommendation block. See this value in the "data-recommender-code" attribute of the block created in PersonaClick account.
currentProductIdstringrequired in some casesProduct ID. This  This parameter is mandatory for the requests of blocks with algorithms that use the algorithms depend on the current product. Algorithms: "Similar" and "Also bought"., "Products usually purchased with this product", "Store recommendations", etc.
currentCategoryIdstringrequired 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.
LIMITstringoptionallyA maximum number of products in the API response.
LOCATIONSstringoptionallyString with location IDs separated by comma. If used, the API response will return products available in the listed locations.
BRANDSstringoptionallyString with brand names separated by comma. If used, only the products of the listed brands will be returned in the API response.

EXCLUDE_BRANDS

stringoptionallyString with brand names separated by comma. If used, the API response will exclude the products of the listed brands.
CATEGORIESstringoptionallyString with category IDs separated 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.
EXTENDEDbooleanoptionallyAllows getting extended data in the "recommeds" property of the API response.

API response properties

The parameter allows filtering products by a specified category, for example for the "Popular" algorithm in a category.

API response properties

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.
recommendsObject Array

An array of objects with product information. Each object has the following properties:

  • barcode – product barcode, if it was imported in the product catalog (type: string)
  • brand – product vendor (type: string)
  • 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: integer)
  • id – product ID (type: string)
  • imageUrl – URL of the original product image (type: string)
  • model –  model and product name (type: string)
  • name – product name (type: string)
  • oldPrice – integer old price of the product (type: double)
  • oldPriceFormatted – formatted integer old price of the product, including currency (type: string)
  • oldPriceFull – old price of the product (type: double)
  • oldPriceFullFormatted – formatted old price of the product, including currency (type: string)
  • paramsRaw – JSON of 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).
  • resizedImageUrl – link to the product image in the PersonaClick image repository (type: string)
  • price – integer current price of the product (type: double)
  • priceFormatted – formatted integer current price of the product, including currency (type: string)
  • priceFull – current price of the product (type: double)
  • priceFullFormatted – formatted current price of the product, including currency (type: string)
  • relativeSalesRate – level of sales of current product ( in percentage) in relation to the maximum level of sales of products in the store (type: float)
  • salesRate – level of product sales (absolute value) (type: integer)
  • url – product page URL (type: string)
idnumberUnique block identifier. Corresponds to the block ID in the list of blocks in the PersonaClick account.

Examples of use

For blocks with algorithms that require the "Product ID"without any additional parameters:

Code Block
languagejava
themeFadeToGrey
Params recommender_params = new Params();
recommender_params.put(Params.Parameter.ITEM, "100500");
PersonaClick.recommend("1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener(sdk.recommend(blockId: "1fd1b3495137bc3c9299816026acf36f") {     @Override
    public void onSuccess(JSONObject response) {
   recommendResult in
    // the functionality of rendering a block of product recommendations
    }
});

For blocks with algorithms that require the "

Category

Product ID":

Code Block
languagejava
themeFadeToGrey
Params recommender_params = new Params();
recommender_params.put(Params.Parameter.CATEGORY_ID, "146");
PersonaClick.recommend(sdk.recommend(blockId: "1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener(currentProductId: "100500") { recommendResult in
  @Override
    public void onSuccess(JSONObject response) {
        // the functionality of rendering a block of product recommendations
    }
});
For blocks with an algorithm that requires the "Search Query"

Filtering by category:

Code Block
languagejava
themeFadeToGrey
Params recommender_params = new Params();
recommender_params.put(Params.Parameter.SEARCH_QUERY, "To be or not to be");
PersonaClick.recommend("sdk.recommend(blockId: "1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener(currentCategoryId: "146") {     @Override
    public void onSuccess(JSONObject response) {
    recommendResult in
   // the functionality of rendering a block of product recommendations
    }
});

Full example:

Code Block
languagejava
themeFadeToGrey
Params recommender_params = new Params();
recommender_params.put(Params.Parameter.ITEM, "100500");
recommender_params.put(Params.Parameter.SEARCH_QUERY, "To be or not to be");
recommender_params.put(Params.Parameter.CATEGORY_ID, "146");
recommender_params.put(Params.Parameter.LIMIT, "15");
recommender_params.put(Params.Parameter.BRANDS, "Alas,poor,Yorick");
recommender_params.put(Params.Parameter.CATEGORIES, "1,146,100500");
PersonaClick.recommend("1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener() {
    @Override
    public void onSuccess(JSONObject response) {
        // the functionality of rendering a block of product recommendations
    }
});
Table of Contentsclasspersonaclick-fixed-position
}



Column

Page Navigation

Table of Contents
maxLevel3
indent0px
stylenone




Related Pages

Filter by label (Content by label)
showLabelsfalse
showSpacefalse
sorttitle
cqllabel = "recommenders"