事件接入默认关闭,需要选择开启。请在 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 字段
有些操作如果缺少特定字段就无法关联,因此校验会拒绝这些事件,而不是存储无人能关联的证据。示例: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。 - 支付和争议事件沿用交易保留期。它们永远不会按事件计划过期,且各类别的覆盖设置无法缩短其保留期。
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 事件提交
使用范围受限的凭证,直接从设备采集事件。