跳转到主要内容
POST
curl
事件接收需要主动开启。发送事件前,请先在 Transactions > Settings > Event monitoring 中开启此功能。在开启之前,该端点会返回 403,并附带 "code": "event_monitoring_disabled"。
事件接收介绍事件封装、十类事件、必需的 payload 键以及数据保留类别。事件规则说明哪些规则在请求中运行,哪些规则异步运行。如果要从浏览器或应用发送事件,而不是从后端发送,请使用 SDK 事件提交。

授权

x-api-key
string
header
必填

您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 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 无法看到终端用户的连接,因此规则进行丰富并使用的 IP 是您发送的 network_context.ip_address。

transaction_context
object

金额上下文。此处的非空值也会满足操作所需的 payload 键。

payload
object

类别的领域字段,JSON 编码后最多 16384 字节。部分操作需要指定键(在 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。以 _changed 结尾的每个 security 操作都需要 changed_field,并且当字段为 password、mfa_method、mfa、email、phone、withdrawal_address、payout_method 或 api_key 时,还需要 previous_reference_hash 或 new_reference_hash。请发送哈希和引用,切勿发送卡号、完整提现地址、密码哈希或 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
必填

事件根据其保留类别到期并被删除的时间。对于 monetary_or_compliance(支付和争议)事件为 Null。

idempotent_replay
boolean
必填

当具有此 event_id 且内容相同的事件已被存储时为 true;返回的值为已存储事件的值,且不会再次运行任何规则。

rule_matches
object[]
必填

匹配该事件的规则。

最后修改于 2026年11月7日