KYB会话生命周期:状态与网络钩子 (ZH)
端到端追踪KYB验证——会话状态、各功能状态、业务实体状态,以及保持记录同步的网络钩子——每家公司仅需2.00美元。.

KYB验证并非简单的“是/否”答案,它是一个包含多个动态环节的流程。注册查询可能即时通过,而文档验证可能需要重新提交,实体反洗钱(AML)则可能需要分析师审查。为了清晰地集成KYB,您需要确切地了解验证的每个部分所处的状态,并且您的系统需要在任何状态改变时立即更新。这就是会话生命周期和网络钩子(webhook)的作用。
Didit的商业验证API公开了完整的状态机:整体会话状态、每个功能的状态、一旦进入管理后的业务实体的独立状态集,以及在每次变更时触发的网络钩子。完整的公司验证费用为2.00美元,本指南将详细介绍整个生命周期——包括所有状态、所有网络钩子以及将它们连接起来的管理API。
关键要点
- 三层状态。KYB验证包括会话状态、各功能状态,以及(一旦被管理)业务实体状态。
- 八种会话状态。
NOT_STARTED(未开始)、IN_PROGRESS(进行中)、APPROVED(已批准)、DECLINED(已拒绝)、IN_REVIEW(审核中)、RESUBMITTED(已重新提交)、ABANDONED(已放弃)、EXPIRED(已过期)。 - 每个KYB功能的六种功能状态:
NOT_FINISHED(未完成)、APPROVED(已批准)、DECLINED(已拒绝)、IN_REVIEW(审核中)、RESUB_REQUESTED(请求重新提交)、AWAITING_USER(等待用户)。 - 受管理下的三种实体状态:
ACTIVE(活跃)、FLAGGED(已标记)、BLOCKED(已阻止)。 - 所有变动均通过网络钩子通知。会话的
status.updated和data.updated(带有session_kind: business);受管理实体的business.status.updated和business.data.updated。 - 完整的管理API —
POST /v3/businesses/create/、GET /v3/businesses/、GET /v3/businesses/{vendor_data}/、PATCH .../update-status/。
KYB生命周期涵盖的内容
KYB验证会产生三层状态,每一层都回答一个不同的问题:
- 会话回答“整体验证进展如何?”
- 每个功能回答“注册局/公司反洗钱/文件/关键人物检查进展如何?”
- 业务实体回答“该公司目前在我们系统中的运营状况如何?”
您需要读取这三层状态,并通过网络钩子而不是轮询来保持它们同步。验证从会话开始,解决其功能,得出整体结果,然后——一旦您开始管理公司——携带一个您可以根据情况变化来控制的业务实体状态。
重要性
如果没有细粒度的状态,KYB集成就会退化为猜测:一个单一的“待处理”标志无法告诉您是哪个检查导致了延迟,也无法说明采取什么行动可以解除阻塞。通过按功能划分的状态,您可以精确地进行路由——要求申请人重新提交文件,将实体反洗钱匹配排队等待分析师审查,提示UBO完成其KYC——而不是使整个验证失败。
网络钩子之所以重要,是因为KYB是异步的。注册数据、文档OCR和筛选结果会在不同时间到达,人工审查所需时间更长。轮询变更既浪费资源又缓慢;网络钩子会在变更发生的那一刻推送信息,因此您的记录无需通过定时任务(cron job)频繁访问API即可反映真实情况。
技术细节
KYB会话通过统一的/v3/ API创建,并报告其生命周期状态。
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "your_kyb_workflow_id",
"vendor_data": "merchant_6601",
"callback": "https://yourapp.com/kyb/callback"
}'
status.updated 网络钩子包含会话状态和各功能状态:
{
"event": "status.updated",
"session_kind": "business",
"session_id": "kyb_3a90f1c2",
"vendor_data": "merchant_6601",
"status": "IN_REVIEW",
"features": {
"kyb_registry": "APPROVED",
"kyb_company_aml": "IN_REVIEW",
"kyb_documents": "RESUB_REQUESTED",
"kyb_key_people": "APPROVED"
}
}
会话状态。 NOT_STARTED, IN_PROGRESS, APPROVED, DECLINED, IN_REVIEW, RESUBMITTED, ABANDONED, EXPIRED。
功能状态。 kyb_registry、kyb_company_aml、kyb_documents 和 kyb_key_people 各自报告以下状态之一:NOT_FINISHED、APPROVED、DECLINED、IN_REVIEW、RESUB_REQUESTED、AWAITING_USER。
网络钩子。 对于会话:status.updated(生命周期变更)和data.updated(丰富数据),两者都带有session_kind: "business"。对于受管理的实体:business.status.updated和business.data.updated。
价格。 每家公司验证费用为2.00美元。
管理业务实体
一旦公司通过验证,它就成为您通过业务API进行管理的实体:
POST /v3/businesses/create/— 注册一个业务实体。GET /v3/businesses/— 列出受管理的业务。GET /v3/businesses/{vendor_data}/— 通过其vendor_data引用获取某个业务。PATCH .../update-status/— 更改实体状态。
该实体拥有独立于验证会话的状态:ACTIVE(良好状态)、FLAGGED(因风险信号正在审查中)或BLOCKED(已暂停)。这是操作层面——一家公司可能完成了APPROVED的会话,但随后因监控发现问题而被FLAGGED。实体的变更会触发business.status.updated和business.data.updated,以便下游系统保持最新。
端到端的生命周期
典型的验证过程按顺序逐层进行。会话从NOT_STARTED开始,随着功能运行进入IN_PROGRESS,每个功能都会解析——注册局APPROVED,文档可能需要RESUB_REQUESTED直到上传干净的文件,公司反洗钱(AML)IN_REVIEW直到分析师清除匹配项,关键人物APPROVED。当所有功能都稳定后,会话最终变为APPROVED、DECLINED或IN_REVIEW。从那时起,公司作为ACTIVE实体进入管理,其状态随后可能根据持续的监督要求变为FLAGGED或BLOCKED——每次状态转换都会通过网络钩子推送到您。
用例
- 市场平台精确路由卖家:重新提交文件、完成UBO的KYC,或处理实体反洗钱匹配——而无需导致整个入驻失败。
- 金融科技和银行平台通过网络钩子而非轮询保持公司账户记录同步,并根据风险变化标记或阻止实体。
- 贷款提供商跟踪每个承保检查的状态,并通过管理API更新借款人状况。
- 加密B2B平台维护从验证到持续状态的每个交易对手实体的可审计生命周期。
如何与Didit集成
- 构建工作流程。在业务控制台(Business Console)中,创建包含所需功能的KYB工作流程。
- 创建会话。使用您的KYB
workflow_id和vendor_data引用POST /v3/session/。 - 订阅网络钩子。处理会话的
status.updated和data.updated(session_kind: business),以及受管理实体的business.status.updated/business.data.updated。 - 管理实体。使用
POST /v3/businesses/create/、GET /v3/businesses/、GET /v3/businesses/{vendor_data}/和PATCH .../update-status/来保持每家公司处于ACTIVE、FLAGGED或BLOCKED状态。
由于所有这些都基于统一的/v3/ API,同样的生命周期模型也适用于KYC、监控和KYB——为整个身份和欺诈平台提供了一致的状态机。
常见问题
KYB会话状态有哪些?
NOT_STARTED(未开始)、IN_PROGRESS(进行中)、APPROVED(已批准)、DECLINED(已拒绝)、IN_REVIEW(审核中)、RESUBMITTED(已重新提交)、ABANDONED(已放弃)和EXPIRED(已过期)。
各个功能报告哪些状态?
kyb_registry、kyb_company_aml、kyb_documents和kyb_key_people各自报告NOT_FINISHED(未完成)、APPROVED(已批准)、DECLINED(已拒绝)、IN_REVIEW(审核中)、RESUB_REQUESTED(请求重新提交)或AWAITING_USER(等待用户)状态。
我应该订阅哪些网络钩子?
对于会话,是status.updated和data.updated(带有session_kind: business)。对于受管理的业务实体,是business.status.updated和business.data.updated。
验证后如何更改公司的状态?
使用管理API——PATCH .../update-status/——将实体状态设置为ACTIVE、FLAGGED或BLOCKED。
KYB验证的费用是多少?
每家公司2.00美元,用于完整的验证——包括注册、UBO、高级职员和实体反洗钱(AML)。
准备好开始了吗?
阅读文档中的业务验证概述,了解它如何与平台其他部分结合在业务验证产品页面,并在定价页面查看透明的按调用计费价格。准备好后,免费开始——每月500次免费KYC检查,以及每家公司2.00美元的业务验证。