事件目录
会话事件在用户会话和企业会话之间共用。 payload 中的session_kind 字段会告诉你该事件属于哪一种会话。
实体级事件与会话级事件是分开的。
会话级事件
申请人上传证件、提交关键人员或 AML 重新筛查完成时,不会发送
data.updated。
如需跟踪这些进度,请使用 status.updated,或获取会话决策。
企业实体事件
你可以在 Webhook 目标上订阅以上任意组合。
完整的企业/用户实体事件参考,请见实体 Webhook。
Payload 结构
会话 Webhook 使用扁平的 payload,没有data 包装层。
信封、签名标头以及所有共用字段,都记录在 Webhook 参考中。
KYB 会话还包含以下字段:
KYB 会话的 status.updated
decision 块包含 registry_checks[]、key_people_checks[]、document_verifications[]、aml_screenings[] 以及其他 KYB 数组。
KYB 会话的 data.updated
data.updated 与 status.updated 使用相同的扁平信封,并额外包含一个说明触发原因的 trigger。
当会话状态为 Approved、Declined、In Review 或 Abandoned 时,它还会包含当前的 decision。
请重新获取决策,以查看发生了哪些变化。
该 payload 没有 changed_fields 列表。
business.status.updated 和 business.data.updated
实体事件同样是扁平的。它们包含 vendor_business_id、vendor_data、status(ACTIVE、FLAGGED 或 BLOCKED)以及 created_at。
business.status.updated 还会包含 previous_status。
business.data.updated 还会包含 changed_fields,以及格式为 { field: { previous, current } } 的 changes 映射。
签名验证
每个 Webhook 都使用目标的共享密钥以 HMAC-SHA256 签名。 请使用X-Signature-V2 标头验证原始请求正文(推荐)。其 X-Timestamp 标头距当前时间已超过 300 秒的投递将被拒绝。
Webhook 参考列出了所有签名标头、签名密钥轮换的重叠期以及代码示例。
重试策略
- 返回
5xx或404、超时或连接失败时,最多重试 2 次,分别在约 1 分钟和约 4 分钟后进行,之后该投递会被丢弃。 - 其他
4xx和3xx响应不会重试。 - 每次重试都保持相同的
event_id,因此请以它进行去重。 - 你可以从目标的投递日志中重新发送某次投递。完整策略见 Webhook 参考。
订阅
在 Webhook 目标上订阅你关心的事件:status.updated 和 data.updated 事件中的 session_kind === "business"。
后续步骤
Webhook 参考
目标、签名、重试和常见模式。
状态
会话与功能状态参考。
响应结构
解析 KYB 决策 payload。