Recommendation
Log a recommendation event
To capture the diversity of use cases our customer base, we allow several different types of recommendation events to be communicated.
Event | Meaning |
---|---|
recommendation_result_view | recommendation results became visible to user |
recommendation_result_click | user clicked one of the recommended items |
To log an event make a POST
request to:
POST https://ac.cnstrc.com/v2/behavioral_action/<event_type>
where event_type
is one of recommendation_result_view
, recommendation_result_click
.
Requests have to also include query string parameters
and body of the request has to have JSON object with the necessary fields, depending on event type (documented below).
Example
- Shell
- JavaScript
- Python
- Java
- iOS
- Android
- C#
Log an event
curl -X POST -H 'Content-Type: application/json' \
-u '[your token]:' \
"https://ac.cnstrc.com/v2/behavioral_action/recommendation_result_view? \
section=<section used> \
&key=<your API key> \
&c=<client id> \
&i=<user id> \
&s=<session number>" \
-d '{
"url": "https://example.com/catalog",
"pod_id": "1",
"num_results_viewed": 5
}'
// This method is not currently supported.
# This method is not currently supported.
// This method is not currently supported.
// This method is not currently supported.
// This method is not currently supported.
// This method is not currently supported.
info
The above command returns a 204 Success response on success.
Query String Parameters
Parameter | Type | Required? | Description |
---|---|---|---|
key | string | Yes | The key of the index you'd like to log events for. |
c | string | Yes | Client id. The library responsible for making the request |
i | string | Yes | User's device id. An anonymized user identification hash. |
s | integer | Yes | Session number. The counter for the session in which the behavior event occurred. We recommend to increment the session number every 30 minutes |
ui | string | No | Your internal ID for a user (if available) |
_dt | integer | No | Unix timestamp in seconds of when the event happened |
us | array of strings | No | User segment |
section | string | No | Your autosuggest and search results can have multiple sections like "Products" and "Search Suggestions". This indicates which section was searched. See your dashboard for the section names to use. |
origin_referrer | string | No | The url where the event originated. |
JSON Parameters
Recommendation result view
Parameter | Type | Required? | Description |
---|---|---|---|
url | string | Yes | URL of the page where recommendation was displayed |
result_count | integer | No | Total number of search results |
result_page | integer | No | Current page of search results |
result_id | string | No | result_id returned by Krestor search response |
items | array of objects | No | Items that were loaded. Up to 100 items, each object has to include either item_id or item_name keys, and optionally can include variation_id . All values are strings. |
pod_id | string | Yes | The recommendation pod ID |
num_results_viewed | integer | Yes | The number of results that the user viewed |
Recommendation result click
Parameter | Type | Required? | Description |
---|---|---|---|
pod_id | string | Yes | The recommendation pod ID |
strategy_id | string | No | ID of the recommendation strategy |
item_id | string | No | ID of the item that was clicked (either it or item_name is required) |
item_name | string | No | Name of the item that was clicked (either it or item_id is required) |
variation_id | string | No | ID of the variation that was shown to the user when the result was clicked |
result_count | integer | No | Total number of results |
result_page | integer | No | Current page of results |
result_id | string | No | result_id returned by Krestor recommendation response |
result_position_on_page | integer | No | Position of the result that was clicked relative to the current page |
num_results_per_page | integer | No | Number of results on the current page |