Skip to content

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&params=%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&regionId=&userId=L407EDDe_aiEp2DyUR1s5_wAKA6WoMlm6OscI8_79wU%7C6.22.10.56&queryId=Q83ZWIw_YAvmLDTHcTTLt' 

API получения статистики

Для использования данного API метода необходимо выполнить следующие шаги:

  1. Получение основного токена:
  2. Токен можно получить по ссылке: https://admin.searchbooster.io/profile

  3. Получение токена статистики:

  4. Необходимо осуществить запрос, указав 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'

После выполнения этих шагов, вы получите выгрузку с необходимыми данными. Вы можете также запрашивать другие срезы и параметры.