API для передачи событий
Передача событий через Data Layer
Для передачи событий, связанных с взаимодействием пользователя с элементами интерфейса (например, добавление товара в корзину), используется POST-метод:
/api/{uuid}/event/datalayer.json
Параметры запроса:
- Заголовки:
accept: application/json, text/plain, */*
content-type: application/json
-
user-agent: {User-Agent браузера пользователя}
-
Тело запроса (JSON):
event
— Тип события (например,add_to_cart
,purchase
,view_item
и т.д.). Список поддерживаемых событий соответствует структуре Google Data Layer E-commerce events. Подробнее: Google Data Layer.user_id
— Уникальный идентификатор пользователя.widget_id
— Идентификатор виджета, который можно найти в личном кабинете.items
— Массив объектов, описывающих товары:item_id
— Идентификатор товара.price
— Цена товара.item_category
— Категория товара.
value
— Общая стоимость товаров в корзине.currency
— Валюта (например,RUB
).session_id
— Идентификатор сессии (необязательный).
Пример запроса:
curl 'https://api4.searchbooster.io/api/9a0bfa13-dadf-4c37-9fad-deaa7a266506/event/datalayer.json' \
-H 'accept: application/json, text/plain, */*' \
-H 'content-type: application/json' \
--data-raw '{
"event": "add_to_cart",
"user_id": "UNIQUE_USER_ID",
"widget_id": 156,
"items": [
{
"item_id": "568053",
"price": 12599,
"item_category": "Потолочные люстры"
}
],
"value": 12599,
"currency": "RUB",
"session_id": ""
}'
Передача событий в поисковом окне
Для передачи информации о кликах пользователя следует использовать GET-метод event в формате:
/api/{uuid}/event/click.json
Информация передается в рамках GET-параметров: - type = Тип события - (productClick, productClickCompletions, categoryClick, specialOfferClick,suggestionsClick,popularClick,brandClick, historyClick). - entityId - айди обьекта, по которому кликнул пользователь - например id товара или название бренда; - params (JSON):
- offerId - айди товара, по которому кликнул пользователь; // необязательный
- pos - позиция обьекта в выдаче;
- row - номер строки выдачи, в которой находится товар; // необязательный
- col - номер колонки выдачи, в которой находится товар; // необязательный
- clickType - значение "contextmenu" (использование контекстного меню) или "click" (обычный клик).
Во всех обозначенных методах могут быть переданы GET-параметры userId, searchId, queryId - необходимы для отслеживания действий пользователя.
-
userId характеризует пользователя;
-
searchId его поисковую сессию;
-
queryId каждый отдельный запрос.
Важно соблюдать уникальность данных параметров для эффективной работы всех существующих механизмов построения ранжирования.
Пример запроса для передачи клика по бренду в подсказках
'https://api.searchbooster.net/api/ca8fc618-9ee9-48f1-b9b6-92e810424297/event/click.json?type=brandClick¶ms=%7B%22pos%22%3A%221%22%2C%22clickType%22%3A%22click%22%7D&entityId=%D0%9E%D0%9E%D0%9E%20%22%D0%A1%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%22®ionId=&userId=L407EDDe_aiEp2DyUR1s5_wAKA6WoMlm6OscI8_79wU%7C6.22.10.56&queryId=Q83ZWIw_YAvmLDTHcTTLt'
API получения статистики
Для использования данного API метода необходимо выполнить следующие шаги:
- Получение основного токена:
-
Токен можно получить по ссылке: https://admin.searchbooster.io/profile
-
Получение токена статистики:
- Необходимо осуществить запрос, указав UUID_проекта и основной токен, используя следующий curl запрос:
curl 'https://web4.searchbooster.io/api/sources/<UUID_проекта>' \
-H 'accept: application/json' \
-H 'authorization: Bearer ОСНОВНОЙ_ТОКЕН' \
-H 'origin: https://admin.searchbooster.io'
-
В ответе на запрос необходимо взять токен статистики из параметра
data.statJwt
. Токен статистики действителен в течение 1 суток. -
Запрос к статистике (пример для популярных запросов):
- Выполните curl запрос, указав токен статистики, полученный на предыдущем шаге:

curl 'https://cube.searchbooster.net/cubejs-api/v1/load?query=%7B%22measures%22%3A%5B%22Queries.count%22%5D%2C%22filters%22%3A%5B%7B%22member%22%3A%22Queries.firstInSession%22%2C%22operator%22%3A%22equals%22%2C%22values%22%3A%5B%221%22%5D%7D%2C%7B%22member%22%3A%22Queries.type%22%2C%22operator%22%3A%22equals%22%2C%22values%22%3A%5B%22search%22%5D%7D%5D%2C%22order%22%3A%7B%22Queries.count%22%3A%22desc%22%7D%2C%22dimensions%22%3A%5B%22Queries.lowerQuery%22%5D%2C%22timeDimensions%22%3A%5B%7B%22dimension%22%3A%22Queries.date%22%2C%22dateRange%22%3A%5B%222024-07-01T00%3A00%3A00.000Z%22%2C%222024-07-31T00%3A00%3A00.000Z%22%5D%2C%22granularity%22%3Anull%7D%5D%2C%22limit%22%3A1000%7D&queryType=multi' \
-H 'accept: */*' \
-H 'accept-language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'authorization: <ТОКЕН_СТАТИСТИКИ>' \
-H 'origin: https://admin.searchbooster.io'
После выполнения этих шагов, вы получите выгрузку с необходимыми данными. Вы можете также запрашивать другие срезы и параметры.