This is a low level API, we recommend you to use the simple recommendation route to enable easy configuration via the Merchant Dashboard.
Get a list of items that have been bought in the same session after viewing the currently viewed item by other customers.
You can pass an array of rules to the widget to filer widget results.
An example of rules object for different types of data:
[{
type: 'text',
name: 'brand',
values: [{value: ['Some-Test-Brand']}, {value: ['Some-Other-Brand']}]
}, {
type: 'range',
name: 'price',
values: [{from: 10}, {to: 20}, {from: 10, to: 20}]
}, {
type: 'category',
name: 'category',
values: [{value: ['Top-Level']}, {value: ['Top-Level', 'Second-level']}]
}]
Request Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|
item_id | string | Yes | Item ID to get recommendations for |
Request Body Parameters
| Parameter | Type | Required | Default | Description |
|---|
t_client | date-time | Yes | - | Timestamp when the request is sent from the browser |
user | object | Yes | - | User identification object |
user.uid | string | Yes | - | User ID (max 32 characters) |
user.sid | string | Yes | - | Session ID (max 32 characters) |
user.email | string | No | - | User email address |
user.ip | string | No | - | User IP address |
user.ua | string | No | - | User agent string |
user.lang | array of strings | No | - | User language preferences |
offset | integer | No | 0 | Pagination offset |
limit | integer | No | 5 | Maximum number of results (max 20) |
callback | string | No | - | JSONP callback function name |
log | boolean | No | false | Enable logging |
label | string | No | - | Recommendation widget label for analytics |
rules | array of objects | No | - | Rules to filter recommendation results |
Response
Success Response (200)
Returns a list of recommended items based on what other customers bought after viewing the specified item.
Authentication
Include your API key in the X-Key header: 2e963f3e-38bd-4c00-9636-c00e48945eb7
Code Examples
Shell
curl --request POST \
--url https://api-v3.findify.io/v3/recommend/items/6411354119/viewed/bought \
--header "X-Key: 2e963f3e-38bd-4c00-9636-c00e48945eb7" \
--header "Content-Type: application/json" \
--data '{
"user": {
"lang": ["en-GB"],
"uid": "test1",
"sid": "ssid",
"email": "test@test.com",
"ip": "192.168.0.1",
"ua": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
},
"t_client": 1484742065791,
"offset": 0,
"limit": 5,
"log": false,
"label": "viewed-bought-recommendation"
}'
JavaScript (SDK)
//Please, don't forget to include the SDK script
//Which you can find here: https://github.com/findify/javascript-sdk
var client = FindifySDK.init({
key: '2e963f3e-38bd-4c00-9636-c00e48945eb7',
user: {
uid: 'test1',
sid: 'ssid',
email: 'test@test.com'
},
log: false
});
var request = {
offset: 0,
limit: 5,
item_id: '6411354119',
label: 'viewed-bought-recommendation'
};
client.recommendations('bought', request).then(function (response) {
console.log(response);
});
JavaScript (Node.js)
var request = require("request");
var options = {
method: 'POST',
headers: {
"X-key": "2e963f3e-38bd-4c00-9636-c00e48945eb7"
},
url: 'https://api-v3.findify.io/v3/recommend/items/6411354119/viewed/bought',
body: {
user: {
lang: ['en-GB'],
uid: 'test1',
sid: 'ssid',
email: 'test@test.com',
ip: '192.168.0.1',
ua: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'
},
t_client: 1484742065791,
offset: 0,
limit: 5,
log: false,
label: 'viewed-bought-recommendation'
},
json: true
};
request(options, function(error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
PHP
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure API key authorization: key
Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Key', '2e963f3e-38bd-4c00-9636-c00e48945eb7');
$api_instance = new Swagger\Client\Api\DefaultApi();
$recommendation = new \Swagger\Client\Model\RecommendationRequest(array(
'user' => array(
'uid' => 'test1',
'sid' => 'ssid',
'email' => 'test@test.com',
'ip' => '192.168.0.1',
'ua' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
'lang' => array(
'en-US',
'en-GB',
'no'
)
),
't_client' => '1484741395471',
'offset' => 0,
'limit' => 5,
'log' => false,
'label' => 'viewed-bought-recommendation'
));
try {
$result = $api_instance->recommendItemsItemIdViewedBoughtPost('6411354119', $recommendation);
echo $result;
}
catch (Exception $e) {
echo 'Exception when calling DefaultApi->recommendItemsItemIdViewedBoughtPost: ', $e->getMessage(), PHP_EOL;
}
?>