跳转到主要内容
交易是资金本身。事件则是你的平台掌握的其他一切信息:提现之前的那次登录、在两个账户之间转移筹码的那局牌、被重复领取的奖金、一周后才到达的拒付。 事件采用统一的信封结构(每个类别均相同),具备设计上的幂等性,并由同一规则引擎评估,该引擎也为你的交易评分。
事件接入默认关闭,需要选择开启。请在 Transactions → Settings → Event monitoring 中开启。 在开启之前,不会有任何变化:你现有的交易规则仍只针对交易触发。规则默认只作用于交易,除非你明确纳入事件,否则不会意外创建事件规则。在开启之前,每个写入通道(POST /v3/events/、POST /v3/events/batch/、POST /v3/events/sdk-token/,以及 /v1/events/ 设备通道)都会返回 403 和 {"code": "event_monitoring_disabled"},且不会存储、补充信息或评估任何内容。读取不受影响。

Endpoints

/v3/ 通道是服务端通道,与交易 API 其余部分使用相同的 x-api-key 认证。/v1/events/ 通道是设备通道,参见 SDK 事件提交。

事件信封结构

类别

十个一级类别,每个都有类型化校验和托管的规则字段。 auth 是面向产品的宽泛类别;security 是风险等级更高的子集,带有账户接管规则所读取的有序生命周期。

必填 payload 字段

有些操作如果缺少特定字段就无法关联,因此校验会拒绝这些事件,而不是存储无人能关联的证据。
只发送引用和哈希,绝不发送原始机密信息。支付工具、提现目标和账户控制变更会以您发送的哈希引用形式存储。切勿发送卡号、完整提现地址、密码哈希或 MFA 密钥。

示例:P2P 结算

示例:拒付

争议生命周期只允许追加:更正应作为新的 dispute 事件提交,而不是修改第一条事件。

幂等性

event_id 在每个应用内唯一,它就是整个幂等性约定。
  • 相同的 event_id,相同的内容:返回 200 和 "idempotent_replay": true,以及最初存储的事件。可以随意重试。
  • 相同的 event_id,不同的内容:返回 409。说明您误用了已有的 ID。

批量

POST /v3/events/batch/ 最多接受500 个事件。批量请求按设计支持部分成功:一条格式错误的页面浏览事件,绝不能导致同批次的拒付事件也失败。
只要有任何事件被拒绝,响应为 207 Multi-Status;全部成功则为 201 Created。

状态

correlation_pending: true 表示仍需运行一条跨主体规则;它会在几分钟内完成,事件的状态和分数会就地更新。参见异步规则。

保留

事件的数量远高于交易,因此每个事件到达时都会归入一个保留类别。 由此表得出两条规则:
  • 命中规则的事件属于证据,因此会自动提升为 risk_relevant。
  • 支付和争议事件沿用交易保留期。它们永远不会按事件计划过期,且各类别的覆盖设置无法缩短其保留期。
可在 Transactions → Settings → Event monitoring 中按应用覆盖三个可过期类别的保留期(每类 1-730 天)。

IP 丰富信息

事件与交易一样,带有相同的 IP 信息补充,包括国家、ASN、VPN/代理和数据中心标记。信息补充按每个唯一 IP 地址解析,而不是按事件解析。一个会话从同一地址触发 200 次页面浏览时,该地址只解析一次。 低价值遥测走得更远:只有当其他事件已经解析过该地址时,它才会读取补充信息。它绝不会自行触发查询。 GET /v3/events/enrichment-metrics/ 会返回结果,控制台也会在事件列表上方显示相同的数字:

读取事件

筛选参数:event_category、action_type、status、retention_class、subject_vendor_data、business_vendor_data、session_id、device_fingerprint、ip_address、game_id、round_id、affiliate_code、payment_reference_id、counterparty_vendor_data、matched_only、occurred_from、occurred_to、search。多值筛选需要重复参数(如 ?status=A&status=B)。

单个主体的时间线

vendor_data 仅在同一实体类型内唯一:同一个 ID 可能同时对应一个用户和一家企业,Didit 会将它们视为两个不同的主体。entity_type 用于指定你要查询的对象:individual(默认值)或 company。如果使用企业 ID 时省略该参数,返回的是个人的时间线,而不是两者都返回。同样的列表筛选参数也适用于此。 GET /v3/events/{event_uuid}/ 会额外返回 payload、设备上下文、IP 信息富化、该主体缓存的风险信号,以及每个规则匹配结果及其证据,包括每个匹配字段是由服务端推导、由 SDK 推导,还是由客户提供。 DELETE /v3/events/{event_uuid}/delete/ 用于删除单个事件。被删除的事件将不再出现在任何读取接口的返回结果中,且删除操作不可撤销。

下一步

事件规则

基于事件数据的速率、比率、序列和关联规则。

SDK 事件提交

使用范围受限的凭证,直接从设备采集事件。
最后修改于 2026年11月7日