🚧

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

The rid (request id) parameter can be gathered from the Search API call preceding the click-through.

{
    "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
        "email": string     //OPTIONAL, User email
    }
}

Click-suggestion event

Should be sent every time the user will click on the Autocomplete Search Suggestion item.

{
    "event": "click-suggestion",
    "properties": {
        "rid": string,  //REQUIRED, Request id preceding the clickthrough
        "suggestion": string //REQUIRED, Suggestion that is clicked
    }
}

Click-item event

Should be sent every time the customer clicks through the Product Cards in any of the Findify widgets: Autocomplete, Search Results, Smart Collections or Recommendations.

{
    "event": "click-item",
    "properties": {
        "rid": string,      // REQUIRED, Request id preceding the clickthrough, can be retrieved from the preceding Search API response
        "item_id": string,   // REQUIRED, Item ID clicked
      	"variant_item_id": string //REQUIRED, Variant ID clicked
    }
}

Page redirect event

Should be sent every time when the user submits a search query that has a Page Redirect setup in Findify.

{
     "event": "redirect",
     "properties": {
        "rid": string,  // REQUIRED, Request id preceding the redirection
        "suggestion": string // REQUIRED, Suggestion that leads to the redirection
     }
}

Purchase event

Should be sent once the Order is confirmed.

🚧

Order Return

If the customer returns (all or part of) an order, there is unfortunately, no event that can be sent to remove the order from our analytics. If the Purchase event is sent to Findify - that means that the order is successfully completed with the assumption that it won't be returned.

{
    "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 bought
                "unit_price": double,   // REQUIRED, Sale price of the product
                "quantity": int         // REQUIRED, Quantity bought
            }
        ]
    }
}

Cart content event

Should be sent on all pages with the line_items data containing all products added to the cart at the moment.

{
    "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

Should ONLY be sent if the customer clicked on the custom Add To Cart button ONLY on Findify's Product Cards in Search Results, Smart Collections, Autocomplete or Recommendations.
The event needs to be sent along with the click-item event: first click-item event -> 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

Should be sent on all pages.
This is required for proper Personalization and Recommendations (i.e. Recently Viewed type) functionality.

{
    "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 for Product Pages, OPTIONAL for other pages, Product ID
        "variant_item_id": string //REQUIRED for Product Pages, OPTIONAL for other pages, Variant ID
    }
}
Language
Authorization
Header
Click Try It! to start a request and see the response here!