# 如何解读核验结果

Source: https://help.didit.me/zh/verification-sessions/reading-a-verification-result
Updated: 2026-10-12

一个会话的结果由状态、每项检查各自的结果，以及一份警告列表组成 - 警告才是真正告诉你实际发生了什么的部分。

请按以下顺序阅读：先看**整体状态**，再看**各项检查的状态**，最后看**警告**。
只有警告能告诉你*为什么*会是这个结果 - 其余部分只能告诉你*发生了什么*。

[Video: 如何解读核验结果 - Didit 学院](https://www.youtube.com/watch?v=7htTWCWsl60)

无论你查看的是控制台、webhook 负载还是 API 响应，从[商业控制台](https://business.didit.me)的**核验记录**中打开任意会话，看到的都是同样的三层结构。

![Didit 控制台的会话详情页，显示整体判定结果、各项检查结果与提取的数据](https://help.didit.me/screenshots/session-detail-light.webp)

*一个会话，三层结构：整体状态、各项检查结果，以及它们背后的警告。*

## 第一层 - 整体状态

会话的唯一判定结果：已通过、已拒绝、审核中等等。大多数集成正是基于这个结果来采取行动。它是一个综合结果：由你工作流的配置方式将各项检查的结果组合而成，因此它本身不会告诉你究竟是哪一项检查导致了这个结果。

## 第二层 - 每项检查各自的结果

每一项运行过的检查都有自己的状态和数据。你最常见到的有：

| 检查项 | 需要关注什么 |
|---|---|
| **身份证件核验** | 提取到的字段（姓名、证件号码、日期）、证件类型与国家/地区，以及 MRZ 是否通过校验 |
| **被动 / 主动活体检测** | 是否检测到真实活人，以及任何攻击信号 |
| **人脸比对 1:1** | 自拍与证件照片之间的相似度分数 |
| **人脸搜索 1:N** | 该人脸是否匹配已核验用户或黑名单中的条目 |
| **AML 筛查** | 命中记录，每条都带有匹配分数和风险分数 |
| **设备与 IP 分析** | 国家/地区、VPN 或代理信号、被列入黑名单的地址 |
| **地址证明** | 提取到的地址，以及它与你提供的地址匹配的程度 |
| **NFC** | 芯片是否被成功读取，以及其签名是否链接到可信的签发机构 |
| **手机 / 邮箱** | OTP 是否已确认，以及号码或邮箱地址上的风险信号 |

单项检查可以是已通过，而整个会话却是已拒绝，反过来也一样。这是正常现象 - 会话状态是所有检查结果的综合体现，而不是取其中最差的一项。

## 第三层 - 警告

警告这一层才是真正解释结果的部分。每条警告都是附加在触发它的检查上的一个具体、命名过的代码，例如：

- `DOCUMENT_EXPIRED` - 证件的有效期已过。
- `MRZ_VALIDATION_FAILED` - 机读区的校验和未通过。这是一个很强的篡改信号。
- `LOW_FACE_MATCH_SIMILARITY` - 自拍与证件照片的得分低于你设置的阈值。
- `LIVENESS_FACE_ATTACK` - 在自拍过程中检测到仿冒攻击。
- `POSSIBLE_MATCH_FOUND` - AML 发现了一条需要处理的候选命中。
- `NFC_DATA_DOES_NOT_MATCH_OCR` - 芯片数据与印刷数据不一致。
- `IP_ADDRESS_IN_BLOCKLIST` - 该连接来自你屏蔽的地址。

> **Tip:** 在排查某个具体会话时，直接看警告即可。状态告诉你结论；警告告诉你证据。
> 每项功能的完整警告目录都记录在
> [核心技术](https://docs.didit.me/core-technology/id-verification/warnings-id-verification)文档中。

## 提取的数据与你的预期对比

如果你在创建会话时传入了 `expected_details`（例如你已持有的姓名、出生日期或证件号码），结果还会告诉你证件内容是否与之一致。这里出现不一致，通常是你这边的数据录入问题，而不是证件本身有诈，因此在拒绝任何人之前，都值得先检查一下这一点。

> **Warning:** 提取出的姓名可能经过了音译。使用西里尔字母、阿拉伯字母或希腊字母的证件，
> 生成的拉丁字母姓名即使对应的是同一个人，也可能无法与你的记录逐字符匹配。
> 在将姓名不匹配视为欺诈之前，请同时比对证件号码或出生日期。

## sandbox 结果看起来会略有不同

在 sandbox 会话中，控制台会在提取数据的区域标注一个**模拟数据**标签。媒体确实是真实采集的，但字段内容和结果都来自你所选择的场景 - 因此不要对这些数值本身做过多解读。详见[在 sandbox 中测试](https://help.didit.me/zh/getting-started/sandbox-and-testing)。

## 通过编程方式获取同样的内容

webhook 负载和 `GET /v3/session/{id}/decision/` 接口都会在一个 `decision` 对象中携带全部三层信息。请将 webhook 作为你的唯一可信来源，轮询仅用于核对 - 有些事件（例如审核人员对数据的修改）只会通过 webhook 送达。详见[通过 webhook 获取结果](https://help.didit.me/zh/integration/webhooks-basics)。

## 为你的记录获取一份副本

如需用于审计或监管报送，可以将会话下载为 PDF - 其中汇总了每一个步骤、提取的数据、生物识别分数、AML 结果和最终判定结果。详见[下载核验报告](https://help.didit.me/zh/verification-sessions/download-verification-report)。
