Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Update User Profile
Method Objective
The method updates the user's profile or creates a new profile bound to the user's current device if it was not created earlier.
Note |
---|
If you don't have user data, never send bogus data. It'll cause problems in profile handling in the future. For example, don't send a non-existent email, like |
Syntax and parameters
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("profile", "set", params, success, error); |
Name | Type | Requirement | Description |
---|---|---|---|
params | Object | required | Object with request parameters. |
success | Function | optionally | A callback function, to which the API response will be passed. Response type: object. |
error | Function | optionally | A callback function that will be called when an error occurs (any HTTP status code other than 200). |
Main request parameters
Tip |
---|
User data must be sent each time it becomes available:
|
Name | Type | Description |
---|---|---|
string | User Email. | |
first_name | string | User First Name. |
gender | string | User Gender (m – male, f – female). |
id | number/string | Store side user ID. |
last_name | string | User Surname. |
phone | string | User Phone. |
Additional request parameters
Name | Type | Description |
---|---|---|
age | number | User age (in years). |
auto | Object array | List of vehicles. See description below. |
birthday | string | User birthday in the format YYYY-MM-DD. |
bought_something | boolean | The user has or hasn't ever bought something in the store. |
fb_id | string | Facebook User ID. |
kids | Object array | User's children. See description below. |
location | string | The user's current location from the list of locations in the product feed. |
loyalty_bonuses | number | The current number of store bonuses at the user. |
loyalty_bonuses_to_next_level | number | The number of store bonuses necessary for the user to reach the next loyalty level. |
loyalty_card_location | string | The location (from the list of locations in the product feed) where the user last used the loyalty card. |
loyalty_id | string | The Loyalty Program user ID (loyalty card). |
loyalty_status | string | The user's current status in the loyalty program. |
telegram_id | string | Telegram User ID. |
vk_id | string | VKontakte User ID. |
The "auto" object properties
Name | Type | Description |
---|---|---|
brand | string | Vehicle Brand. |
model | string | Vehicle Model. |
vds | string | Vehicle's VDS/VIN. |
The "kids" object properties
Name | Type | Description |
---|---|---|
gender | string | Child's age (m – male, f – female). |
birthday | string | Child's birthday in the format YYYY-MM-DD. |
Custom Properties
Name | Type | Description | ||
---|---|---|---|---|
A custom property can have any name except the reserved ones | string | The custom property must be created before it can be used. Located there: Account > Settings > Profile Property
| ||
integer | ||||
float | ||||
array of string | ||||
json | ||||
date (YYYY-MM-DD hh:mm:ss) |
Example of use
Code Block | ||
---|---|---|
| ||
personaclick("profile", "set", { id: 100500, email: "john.doe@examplemail.com", phone: "4400114527199", first_name: "John", last_name: "Doe", birthday: "1990-03-11", age: 31, gender: "m", location: "NY", bought_something: true, loyalty_id: "000001234567", loyalty_card_location: "NY", loyalty_status: "5% discount", loyalty_bonuses: 1123, loyalty_bonuses_to_next_level: 1877, fb_id: "000000000354677", vk_id: "vk031845", telegram_id: "0125762968357835", kids: [ {gender: "m", birthday: "2001-04-12"}, {gender: "f", birthday: "2015-07-28"} ], auto: [ {brand: "Nissan", model: "Qashqai", vds: "TM7N243E4G0BJG978"} ], custom_string_property: "the string value of the custom property", custom_integer_property: 100500, custom_float_property: 7.62, custom_array_of_string_property: ["value1", "value2", "value3"], custom_json_property: {key1: value1, key2: value2, key3: value3}, custom_date_property: "2021-12-31 23:55:00" }); |
Read User Profile
Method Objective
The method returns accumulated (depersonalized) profile data of the current user.
Note |
---|
Most of the data is computational based on the user's interaction with the products. |
Syntax and parameters
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("profile", "get", callback, force); |
Name | Type | Requirement | Description |
---|---|---|---|
callback | Function | required | The callback function that takes the API response. The API response type is an object. |
force | boolean | optionally | Allows disabling data caching. By default, caching is enabled. |
API response
Name | Type | Description | ||
---|---|---|---|---|
gender | string | The gender of the current user.
| ||
computed_gender | string | The calculated value of gender is based on the user's interaction with the products. | ||
children | Object array | Data about the children of the current user. Each element of the array can contain the following properties:
| ||
cosmetic_hair | object | The hair properties of the current user:
| ||
cosmetic_skin | object | The skin properties of the current user:
Each of the properties above has the following properties and values:
| ||
cosmetic_perfume | object | Perfume preferences of the current user. The following properties and values are available:
| ||
allergy | boolean | Whether the current user is allergic. | ||
fashion_sizes | object | Lists clothing types with preferred sizes for each. See available type values in the Apparel & Accessories section. The value of each property is an array with the user's preferred clothing sizes. | ||
compatibility | object | The preferred brand and model of the vehicle. The following properties are available:
| ||
vds | string | The fourth to ninth position in the VIN is the Vehicle Descriptor Section or VDS. | ||
pets | object | The user's pet. The following properties are available:
| ||
jewelry | object | The jewelry preferences of the current user. The following properties are available:
| ||
realty | object | Real estate of the current user. The following properties are available:
| ||
income_level | string | The income level of the current user. Available values: cheap, medium, premium. | ||
has_email | boolean | Does the user's profile contain an email? | ||
custom_properties | Object | The object contains the values of the custom properties that were marked as available for the public part (frontend). The custom properties are located there: Account > Settings > Profile property |
Example of use
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("profile", "get", function(profile) {
console.log(profile.gender);
}); |
Get Last Order Products
Method Objective
The method allows getting detailed information about the products of the last order of the current user.
Syntax and parameters
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("orders", "last_for_user", callback, error); |
Name | Type | Requirement | Description |
---|---|---|---|
callback | Function | required | The callback function that takes the API response. The API response type is an array. |
error | Function | optionally | A callback function that will be called when an error occurs (any HTTP status code other than 200). |
API response
Each object in the array contains the following properties.
Name | Type | Description |
---|---|---|
barcode | string | Product barcode, if it was imported in the product catalog |
brand | string | Product vendor |
categories | Object array | Object array with details of the product category hierarchy, where each object has properties: "id" – category ID (type: string) "name" – category name (type: string) "parent" – parent category ID (type: string) "url" – category page url (type: string) |
category_ids | String array | Array of IDs of the product category hierarchy |
currency | string | Product currency (type: string, matches the currency of the PersonaClick account, or the user value set in the settings of the PersonaClick account) |
description | string | Product description |
discount | number | The percentage difference between the old price and current price |
discount_formatted | string | The percentage difference between the old price and current price that is formatted as a string with the "%" symbol |
fashion_colors | Object array | Object array with details of the product category hierarchy, where each object has properties: "color" – product color (type: string) "picture" – color-matched product image (type: string) |
fashion_original_sizes | array | Original product sizes |
fashion_sizes | array | Normalised product sizes (see XML) |
id | string | Product ID |
image_url | string | URL of the original product image |
image_url_handle | string | Relative URL of the original product image |
image_url_resized | Object | 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 |
is_new | boolean | New arrival product (type: boolean). See the parameter in the product catalog import (XML, HTTP API) |
leftovers | string | Rough number of the products left in stock. Available values are: "one" - one product "few" - 2-10 products "lot" - over 10 products |
model | string | Model and product name |
name | string | Product name |
oldprice | number | Integer old price of the product |
oldprice_formatted | string | Formatted integer old price of the product, including currency |
oldprice_full | number | Old price of the product |
oldprice_full_formatted | string | Formatted old price of the product, including currency |
params | Object array | 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). |
price | number | Integer current price of the product |
price_formatted | string | Formatted integer current price of the product, including currency |
price_full | number | Current price of the product |
price_full_formatted | string | Formatted current price of the product, including currency |
rating | number | Product rating |
stock_quantity | number | The available quantity of products |
url | string | Product page URL |
url_handle | string | Relative product page URL |
Example of use
Code Block | ||||
---|---|---|---|---|
| ||||
personaclick("orders", "last_for_user", function(products) {
console.log(products);
}); |
Column | ||||
---|---|---|---|---|
Page Navigation
|
Related Pages
|