Порядок работы
1
Выпустите учётные данные мониторинга
Ваш бэкенд вызывает
POST /v3/events/sdk-token/ с вашим API-ключом и vendor_data пользователя.2
Отправьте событие с устройства
Приложение отправляет запрос на
POST /v1/events/ (или POST /v1/events/batch/) с заголовком X-Monitoring-Token.3
Правила работают как обычно
Событие обогащается, агрегируется и проверяется по тем же правилам, по которым проверяется событие, отправленное с сервера.
Выпуск учётных данных
Для выпуска требуется, чтобы приём событий был включён для приложения. Пока он выключен, этот endpoint отвечает
403 с {"code": "event_monitoring_disabled"}, а не выдаёт учётные данные, которые не смогут ничего записать.Отправка
Что проверяет сервер
- Привязка к субъекту. Учётные данные привязаны к одному
vendor_dataв момент выпуска. Блокsubjectв теле запроса перезаписывается, поэтому подменённый клиент не может писать в хронологию другого пользователя. - Сетевой контекст. Адрес, user agent, accept-language и origin берутся из запроса, и эти значения, вычисленные сервером, важнее любых подсказок клиента при оценке правил. В данных правила это различие фиксируется как источник поля.
- Ограничение категорий. Учётные данные, ограниченные категорией
session, не могут отправить событиеpayment: сервер отклоняет его с400. - Бюджет использований. Пакет расходует одно использование на каждое событие, поэтому пакет из 500 событий не может пройти через учётные данные на 10 использований как одно использование.
- Привязка к origin. Если задано
bind_to_origin, запрос,Originкоторого не совпадает, отклоняется, в том числе запрос безOriginвообще.
Пакетная отправка
Что отбрасывать при перегрузке
Если нужно отбрасывать события, отбрасывайте дешёвые. Их можно безопасно отбросить:session.page_view · session.sdk_heartbeat · session.sdk_loaded · session.device_seen · session.bot_signal_observed · bonus.promotion_viewed · affiliate.referral_clicked
Эти отбрасывать нельзя - сначала отправьте их:
каждое событие security, payment, dispute и responsible_gambling, а также gameplay.bet_placed, gameplay.bet_settled и gameplay.p2p_settlement.
Эндпоинты списков возвращают ту же классификацию для каждого события в поле is_droppable, поэтому клиент может опираться на него, а не на жёстко заданную копию списка.
Совместимость заголовков
Основной заголовок -X-Monitoring-Token. X-Transaction-Token принимается как временный псевдоним, чтобы приложение, которое уже использует путь с учётными данными транзакций, могло перейти постепенно.
Выбор канала
Оба канала создают одинаковые записи событий, и к ним применяются одинаковые правила. Используйте серверный канал, когда конечного пользователя нет.
Дальше
Приём событий
Формат конверта, категории, хранение и идемпотентность.
Правила для событий
Правила скорости, соотношений, последовательностей и корреляции.