跳转到主要内容
有时 OCR 会误读证件、水电费账单或公司登记信息。Didit 提供三个 PATCH 端点,您可以调用它们修正提取的数据,而无需重新进行整个验证流程。 四个端点均接受您的 客户端 API 密钥 或 用户授权请求头。成功时,四个端点都会触发 data.updated Webhook,以便您的系统和下游分析数据保持同步。

共享要求

  • 授权:客户端 API 密钥(标准的 x-api-key / Authorization Bearer 请求头)或用户授权令牌。
  • 权限:
    • KYC 与 POA:write:sessions
    • KYB 企业与关键人员方:write:businesses
  • 会话状态(仅适用于 KYC / POA):必须为 APPROVED、DECLINED、IN_REVIEW 或 KYC_EXPIRED 之一。尚未进入可审核状态的会话无法修改。KYB 企业更新不设状态限制。
  • 必须存在功能记录:只有会话采集过 KYC,才能修改 KYC 字段;采集过 POA,才能修改 POA 字段;会话包含公司登记核验,才能修改 KYB 企业字段。
  • 部分更新:仅更改您包含的字段。省略某个字段则保持其原样。发送 null 可清除 extra_fields 中的某个键。
  • Webhook:成功更新会触发 data.updated,其中 session_kind: "user" 或 "business"。会话的审计日志会记录哪些具体字段被更改,以及由谁更改。

更新 KYC 身份数据

PATCH /v3/session/{sessionId}/update-data/ 修改从证件中提取的任意字段。支持基于图谱的多实例工作流,可通过可选的 node_id 查询参数或请求体字段指定目标。当一个会话包含多个 KYC 步骤时,可借此定位特定的 KYC 记录。

可修改字段

parsed_address 仅接受以下嵌套键:address_type、city、region、street_1、street_2、postal_code、country(ISO 3166-1 alpha-2)。

示例

对于多实例图谱工作流,可在 URL 后添加 ?node_id=feature_ocr_2(或在请求体中传入 "node_id": "feature_ocr_2"),以定位特定的 KYC 记录。

更新地址证明 (POA) 数据

PATCH /v3/session/{sessionId}/update-poa-data/ 修改从地址证明文件中提取的字段。其状态限制和权限要求与 KYC 更新相同。同样支持 node_id,用于多实例工作流。

可修改字段

示例

更新 KYB 企业数据

PATCH /v3/session/{sessionId}/kyb/{companyUuid}/update-data/ 更正 KYB 企业中由注册信息提取的字段。该端点会同时编辑企业的规范字段和 registry_data,因此控制台中的 “Extracted from Registry” 视图会反映您的更正。user_provided_data(终端用户在托管流程中确认的内容)不会被修改。系统会记录 last_console_edit_at,并触发一个 trigger: "console_registry_edit" 的 data.updated Webhook。

要求

  • 权限:write:businesses(与 KYC / POA 权限不同)。
  • URL 中的 companyUuid 必须属于指定的 sessionId,否则将返回 404。
  • 没有会话状态限制:KYB 企业数据可随时更正。

可修改字段

您省略的任何字段都保持不变。您发送的任何字段都会写入规范列(如果存在对应列),并合并到 registry_data 中。合并到 registry_data 时,日期会序列化为 ISO 8601 字符串。

示例

响应:完整的 KYB 企业对象,结构与会话决策中的 registry_checks[].company 相同。

跳过关键人员

PATCH /v3/session/{sessionId}/kyb/parties/{partyUuid}/ 将关键人员豁免验证,适用于无法完成自身检查的人员。常见原因是子会话被删除:一旦分配给 UBO 或董事的个人 KYC 被删除,其状态即被冻结,永远无法完成,因此 KYB 没有任何可以让其脱离 Awaiting User 的途径。跳过该人员后,它会从关键人员汇总中移除,检查会立即重新计算,会话即可完成处理,并通过或被拒绝。

要求

  • 权限:write:businesses。
  • URL 中的 partyUuid 必须属于指定的 sessionId,否则将返回 404。
  • 不受 allow_skip 限制。 该角色设置仅限制申请人在填写托管关键人员页面时可以跳过的内容;此端点是运营人员的覆盖操作,即使对于申请人原本无法跳过的角色也有效。

请求体

requires_verification 被有意保持不变,因此被覆盖的人员会显示为 requires_verification: true 且 is_skipped: true,记录中依然可以看出规则要求过检查。

示例

响应:更新后的人员对象,结构与会话决策中 key_people_checks[].submitted.parties[] 的条目相同。 系统会触发一个 trigger: "console_key_people_skip" 的 data.updated Webhook。
子会话已被删除的人员,其决策负载中会标记为 kyc_session_deleted: true(企业类人员则为 kyb_sub_session_deleted: true),并且其 kyc_session_url / kyb_sub_session_url 会返回 null,因为该链接已无法访问。仅删除子会话不会自动批准该人员:关键人员检查会转为 In Review,由人工做出决定。

更新后会发生什么

  • Webhook:会话上会触发 data.updated,负载中包含会话的 session_kind("user" 或 "business")。在 Webhook 目标层级订阅一次,并根据 session_kind 进行路由。
  • 审计记录:会话会精确记录哪些字段发生了变化、变化前后的值,以及(对于用户认证的调用)操作人的邮箱。可在控制台的 Events 标签页中查看。
  • 地址重新地理编码:对于更改了 address / poa_address 的 KYC 和 POA 更新,Didit 会在后台重新运行地理编码。地理编码失败会被忽略,因此更新不会因地理编码问题而失败。
  • AML 重新评估:如果会话的 AML 尚未完成,更改姓名、出生日期或国籍的 KYC 更新可能会重新触发 AML 筛查。结果会显示在会话决策中。

何时不应使用这些端点

  • 重新进行整个验证:如果客户需要重新拍摄证件照片或重新上传证件,请使用 update-status 将会话转为 Resubmitted。
  • 修改用户或企业实体的资料字段:请使用 PATCH /v3/users/{vendor_data}/ 或 PATCH /v3/businesses/{vendor_data}/。这些端点更新的是实体级数据,而不是会话级数据。
  • 编辑关键人员详情:目前没有公开 API 可用于修改人员的姓名、角色或股权数据;这些数据通过托管流程提交。唯一可修改的字段是 is_skipped(参见跳过关键人员)。

错误

后续步骤

获取会话

获取完整决策,查看更新后的字段。

更新状态

数据更正后,批准、拒绝或重新打开会话。

Webhook

订阅 data.updated 事件。
最后修改于 2026年11月7日