Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Method Objective
The method returns an API response when requesting product recommendations.
Note |
---|
Please note that the priority way of placing the product recommendations blocks on the site is to insert the DIV tag created in the PersonaClick account and fill it automatically with the PersonaClick library. The instruction below is intended for exceptional cases when an automatic drawing of the block doesn't give the maximum necessary functionality. |
Syntax and parameters
Code Block | ||
---|---|---|
| ||
personaclick("recommend", PersonaClick.recommend(code, params, success, errorcallback); |
Name | Type | Requirement | Description | ||||
---|---|---|---|---|---|---|---|
code | string | required | Unique code of the recommendation block. See this value in the "data-recommender-code" attribute of the block created in PersonaClick account. | ||||
params | objectenum | required | Object with request Request parameters. | ||||
successcallback | function | required | A callback function, to which the API response will be passed. Response type: object. | error | function | optionallyA callback function that will be called when an error occurs (any HTTP status code other than 200). |
Request parameters
Name | Type | Requirement | Description | |
---|---|---|---|---|
itemITEM | number/string | required in some cases | Product ID. This parameter is mandatory for the requests of blocks that use the algorithms "Similar" and "Also bought". | |
exclude | array | optionally | Product IDs array, which should be excluded from the recommended products list. | |
category | number/CATEGORY_ID | string | required in some cases | Category ID. This parameter is mandatory for all blocks set on category pages. |
searchSEARCH_queryQUERY | string | required in some cases | The text of the search query. This parameter is mandatory for the requests of blocks that use the "Search" algorithm. | |
limitLIMIT | numberstring | optionally | A maximum number of products in the API response. | |
locationsLOCATIONS | arraystring | optionally | Array String with location IDs separated by comma. If used, the API response will return products available in the listed locations. | |
brandsBRANDS | arraystring | optionally | Array String with brand names separated by comma. If If used, only the products of the listed brands will be returned in the API response. | |
exclude EXCLUDE_ brandsBRANDS | arraystring | optionally | Array String with brand names separated by comma. If If used, the API response will exclude the products of the listed brands. | |
categoriesCATEGORIES | arraystring | optionally | Array String with category IDs separated by comma. If If used, the API response will only return products that are included in the listed categories. | |
discountDISCOUNT | boolean | optionally | If 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. | |
EXTENDED | boolean | optionally | Allows getting extended data in the "recommeds" property of the API response. |
API response properties
Name | Type | Description |
---|---|---|
html | string | HTML-code of the block with products. The template is customized in the PersonaClick account. |
title | string | The block title. Corresponds to the value of the "Action" element in the block rules. |
productsrecommends | array/Object | Array with product IDs. If an extended response is requested, this property will have an object array with extended information for each product. |
id | number | Unique 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":
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("recommend", "1fd1b3495137bc3c9299816026acf36f", {item: 100500}, function(Params recommender_params = new Params(); recommender_params.put(Params.Parameter.ITEM, "100500"); PersonaClick.recommend("1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener() { @Override public void onSuccess(JSONObject response) { // the functionality of rendering a block of product recommendations }, function(error) { // when something went wrong } }); |
For blocks with algorithms that require the "Category ID":
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("recommend", "1fd1b3495137bc3c9299816026acf36f", {category: 146}, function(response) {Params recommender_params = new Params(); recommender_params.put(Params.Parameter.CATEGORY_ID, "146"); PersonaClick.recommend("1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener() { @Override public void onSuccess(JSONObject response) { // the functionality of rendering a block of product recommendations }, function(error) { // when something went wrong} }); |
For blocks with an algorithm that requires the "Search Query":
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("recommend", "1fd1b3495137bc3c9299816026acf36f", {search_query:Params recommender_params = new Params(); recommender_params.put(Params.Parameter.SEARCH_QUERY, "To be or not to be"}, function(); PersonaClick.recommend("1fd1b3495137bc3c9299816026acf36f", recommender_params, new Api.OnApiCallbackListener() { @Override public void onSuccess(JSONObject response) { // the functionality of rendering a block of product recommendations }, function(error) { // when something went wrong} }); |
Full example:
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("recommend", "1fd1b3495137bc3c9299816026acf36f", {item: 100500, exclude: [3, 14, 159, 26535], category: 146, search_query: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", limit: 15, brands: ["Alas", "poor", "Yorick"], categories: [1, 146, 100500]}, function(response) { ); 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 }, function(error) { // when something went wrong } }); |
Table of Contents | ||
---|---|---|
|