This is a low level API, we recommend you to use the Findify Merchant JS, or the Findify Feedback JS to speed up the integration.
Sends analytics information in order to help the personalization algorithm deliver more relevant items to the user
Generic structure
{
"event": "EVENT NAME", //REQUIRED, Event name
"properties": {
// HERE ARE THE PROPERTIES RELATED TO EACH EVENT
},
"key": string, //REQUIRED, Merchant API Key
"t_client": timestamp, //REQUIRED, Timestamp client in milliseconds
"user": {
"uid": string, //REQUIRED, Permanent User ID
"sid": string, //REQUIRED, Session ID
"ip": string, //REQUIRED, IP of the customer
"ua": string, //REQUIRED, User-agent
"lang": [string] //OPTIONAL, Languages
}
}
Click-suggestion event
This event should be sent when the customer clicks on the Search Suggestion using Findify's Autocomplete.
{
"event": "click-suggestion",
"properties": {
"rid": string, //REQUIRED, Request id preceding the clickthrough
"suggestion": string //REQUIRED, Suggestion that is clicked
}
}
Click-item event
This event should be sent when the customer clicks on any products (including product matches) in any of the Findify's solutions: Search Results/Smart Collections/Recommendations/Autocomplete.
{
"event": "click-item",
"properties": {
"rid": string, // REQUIRED, Request id preceding the clickthrough, required for click happening on items coming from Findify
"item_id": string, // REQUIRED, Item ID clicked
"variant_item_id": string //REQUIRED, Variant ID clicked
}
}
Page redirect event
This event should be sent when the customer will be redirected with the Page Redirect feature.
{
"event": "redirect",
"properties": {
"rid": string, // REQUIRED, Request id preceding the redirection
"suggestion": string // REQUIRED, Suggestion that leads to the redirection
}
}
Purchase event
This event needs to be sent when the customer fully completed the Order Purchase, and got to the Order Confirmation page.
{
"event": "purchase",
"properties": {
"order_id": string, // REQUIRED, Order ID
"currency": string, // REQUIRED, Currency of the purchase
"revenue": double, // REQUIRED, Total revenue
"total_discount": double, // OPTIONAL, total order discount
"total_tax": double, //OPTIONAL, total tax applied to the order
"total_shipping": double, //OPTIONAL, total shipping applied to the order
"affiliation": string, // OPTIONAL, Affiliation of the purchase
"line_items": [
{
"item_id": string, // REQUIRED, Item ID bought
"variant_item_id": string, //REQUIRED, Variant ID clicked
"unit_price": double, // REQUIRED, Sale price of the product
"quantity”: int // REQUIRED, Quantity bought
}
]
}
}
Cart content event
This event can be sent at all times: when the customer gets to the Cart Page or adds/delete the product to/from the cart.
{
"event": "update-cart",
"properties": {
"line_items": [
{
"item_id": string, // REQUIRED, Item ID
"variant_item_id": string, //REQUIRED, Variant ID clicked
"unit_price": double, // REQUIRED, Sale price of the product
"quantity": int // REQUIRED, Quantity bought
}
]
}
}
Add to cart event
This event should be sent ONLY if the customer clicked on the Add To Cart button that is integrated into Findify widgets: Search Results/Smart Collections/Recommendations/Autocomplete. You should not send this event, if the customer clicked on the Add To Cart button from the Product Page.
You should also send the click-item event along with the add-to-cart event.
{
"event": "add-to-cart",
"properties": {
"item_id": string, // REQUIRED, Item ID
"variant_item_id": string, //REQUIRED, Variant ID clicked
"quantity": int, // REQUIRED, Quantity bought,
"rid": string, // REQUIRED, Request id preceding the add to cart button click from the Findify search results/collections/recommendations
}
}
Page view
This event should be sent when the customer gets to the new page (Any Page). If the customer has landed on the Product Pages, you need to add the product details in the call (item_id and variant_item_id).
{
"event": "view-page",
"properties": {
"url": string, // REQUIRED, URL of the page viewed
"ref": string, // REQUIRED, Referer of the page
"width": int, // REQUIRED, Width of the customer's browser
"height": int, // REQUIRED, Height of the customer's browser
"item_id": string, // REQUIRED, Item ID - only for product pages
"variant_item_id": string //REQUIRED, Variant - only for product Pages
}
}