Перейти к основному содержанию
POST
curl
Отправка событий требует явного включения. Включите её в разделе Transactions > Settings > Event monitoring перед тем, как отправлять события. До этого момента endpoint возвращает 403 с "code": "event_monitoring_disabled".
Прием событий описывает обёртку события, десять категорий, обязательные ключи payload и классы хранения. Правила для событий объясняют, какие правила выполняются в самом запросе, а какие асинхронно. Чтобы отправлять события из браузера или приложения, а не с вашего бэкенда, используйте отправку событий через SDK.

Авторизации

x-api-key
string
header
обязательно

API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.

Тело

application/json

Конверт события, одинаковый для каждой категории. Принимаются псевдонимы в camelCase: eventId, eventCategory (или category), actionType, occurredAt, timeZone (или zoneId), deviceContext (или device), transactionContext, customValues (или props); внутри subject: vendorData, entityType, fullName; внутри session: sessionId, pageUrl; внутри transaction_context: paymentReferenceId.

event_id
string
обязательно

Ваш идентификатор события, уникальный в рамках приложения. Является ключом идемпотентности: повторная отправка тех же event_category, action_type, occurred_at, subject.vendor_data и payload с ним считается повтором, а любые отличия считаются конфликтом.

Maximum string length: 128
Пример:

"login-2026-10-17-000001"

event_category
enum<string>
обязательно

Категория события.

Доступные опции:
auth,
session,
gameplay,
bonus,
affiliate,
payment,
dispute,
security,
responsible_gambling,
custom
Пример:

"auth"

action_type
string
обязательно

Что произошло внутри категории. Открытый словарь; управляемые действия, перечисленные в Сборе событий (например, login, deposit_completed, chargeback_opened), открывают доступ к типизированной валидации и полям управляемых правил. Начальные и конечные пробелы обрезаются.

Required string length: 1 - 128
Пример:

"login"

occurred_at
string<date-time>
обязательно

Когда событие произошло на вашей стороне, ISO 8601 (значение без смещения считывается как UTC). Должно быть не более чем на 7 дней в прошлом и не более чем на 5 минут в будущем.

Пример:

"2026-10-17T09:15:02.481Z"

subject
object
обязательно

Пользователь или компания, к которым относится событие. Соответствует пользователю (или компании) с этим vendor_data в вашем приложении; если сущность отсутствует, она будет создана.

time_zone
string | null

Часовой пояс события на вашей стороне, например Europe/Madrid. Сохраняется вместе с событием; не возвращается endpoint чтения.

Maximum string length: 64
business
object

Компания, к которой относится событие, если она отличается от субъекта. Считывается только vendor_data.

session
object

Ваш контекст сессии для события.

device_context
object

Контекст устройства и сети, сохраняемый в переданном виде и возвращаемый GET /v3/events/{event_uuid}/. На этом серверном маршруте Didit не видит подключение конечного пользователя, поэтому адресом, обогащаемым данными и используемым правилами, является network_context.ip_address в том виде, в котором вы его отправляете.

transaction_context
object

Контекст денежных средств. Непустые значения здесь также соответствуют обязательным ключам payload действия.

payload
object

Доменные поля категории, не более 16384 байт после кодирования в JSON. Для некоторых действий требуются ключи (в payload или transaction_context): для gameplay.p2p_settlement требуются game_id, counterparty_vendor_data, stake_amount, net_result_amount, role и одно из hand_id, round_id, match_id; для gameplay.bet_placed и gameplay.bet_settled требуется game_id; для payment.deposit_initiated, payment.deposit_completed, payment.withdrawal_requested и payment.withdrawal_completed требуются payment_reference_id, amount, currency, payment_method, status; для payment.withdrawal_address_changed требуется withdrawal_address_hash; для dispute.chargeback_opened, dispute.chargeback_won и dispute.chargeback_lost требуются payment_reference_id и одно из dispute_id, chargeback_id; для session.bot_signal_observed требуются telemetry_schema_version и одно из bot_score, actions_per_minute, timing_variance_ms, pointer_entropy, keystroke_entropy, reaction_time_ms_p50; для responsible_gambling.self_exclusion_match требуются registry_source, exclusion_status, identity_match_ref. Для каждого действия категории security, оканчивающегося на _changed, требуется changed_field, а также previous_reference_hash или new_reference_hash, если полем является password, mfa_method, mfa, email, phone, withdrawal_address, payout_method или api_key. Отправляйте хеши и ссылки, но ни в коем случае не номер карты, полный адрес вывода средств, хеш пароля или секрет MFA.

custom_values
object

До 100 ваших собственных ключей, доступных из правил как custom_values.<key>. Значения должны быть скалярными (строка, число, логическое значение или null); вложенные объекты и массивы отклоняются.

Ответ

Идемпотентный повтор: событие с таким event_id и тем же содержимым уже сохранено. Повторное сохранение или оценка не выполнялись; тело ответа описывает сохранённое событие.

Результат приёма одного события. Для нового события и для идемпотентного повтора возвращается одна и та же структура.

event_uuid
string<uuid>
обязательно

Идентификатор сохранённого события в Didit.

event_id
string
обязательно

Ваш event_id.

status
enum<string>
обязательно

Статус после выполнения правил реального времени. См. MonitoringEvent.status.

Доступные опции:
ACCEPTED,
APPROVED,
IN_REVIEW,
DECLINED
score
integer
обязательно

Оценка после выполнения правил в реальном времени.

rules_evaluated_count
integer
обязательно

Количество правил событий, проверенных в запросе. 0 для приложения в песочнице, где правила не выполняются.

Требуемый диапазон: x >= 0
rules_matched_count
integer
обязательно

Количество совпавших правил, включая правила в режиме TEST.

Требуемый диапазон: x >= 0
correlation_pending
boolean
обязательно

true, если асинхронное правило всё ещё должно выполниться. Вызовите GET /v3/events/{event_uuid}/ через несколько минут, чтобы получить окончательные status и score.

retention_class
enum<string>
обязательно

Класс хранения после любого повышения, выполненного совпавшим правилом.

Доступные опции:
low_value,
standard,
risk_relevant,
monetary_or_compliance
expires_at
string<date-time> | null
обязательно

Когда срок хранения события в соответствии с его классом хранения истекает и оно удаляется. Null для событий monetary_or_compliance (платёжные события и события, связанные со спорами).

idempotent_replay
boolean
обязательно

true, если событие с таким event_id и тем же содержимым уже было сохранено; значения соответствуют сохранённому событию, и повторный запуск правил не производился.

rule_matches
object[]
обязательно

Правила, совпавшие с событием.

Последнее изменение 7 ноября 2026 г.