signatures[] 数组项中找到该结果:
- 用于用户验证(KYC)和企业验证(KYB)会话的
GET /v3/session/{sessionId}/decision/。 - V3 会话 Webhook 的
decision,在会话状态为Approved、Declined、In Review或Abandoned时发送。 - 控制台中该会话的签名选项卡,以及 PDF 报告中的签名部分。
signatures 才会包含在决策中。在签署人进入该步骤之前,它是一个空数组。KYC 步骤包含一个项;KYB 步骤中每位签署人对应一个项。
示例
签名对象
在
status 变为 signed 之前,切勿将签署人视为已签署。在高级电子签名(AES)中,若证书、时间戳或 signed_file 为 null,则表示尚未完成签名。已签署的简单签名包含 signed_file,但证书和时间戳始终为 null。
签署人
文件
字段
documents[].fields[] 的每一项代表文档的一个字段,包含其在此签署人副本上的值:
下载已签署文档
将signed_file 和 evidence_file 中的路径与您的 API 密钥结合使用。每个路由都会直接返回 PDF 本身。
在返回响应之前,Didit 会根据记录的 SHA-256 检查存储的文件。如果不一致,已签署 PDF 和证据路由将返回
409,图像路由将返回 400,且均包含 signature_document_changed。当 KYB 步骤有多个签署人时,调用证据路由请务必传入 signature_id。
已签署 PDF
已签署 PDF 按顺序包含以下内容:- 向签署人展示的文档页面,每个字段值都已印在您放置的位置。
- 证据页,除非您关闭了
signature_evidence_page。 - 仅限高级(AES):PAdES 签名,附带 Didit 签发的 RFC 3161 时间戳以及未来验证该签名所需的吊销数据。简单 PDF 在证据页后结束,不包含数字签名、印章或时间戳。
Signed with Didit ·,后接签名 id 的前 8 个字符。
Didit 会在向签署人展示的文档字节之后追加字段值、证据页和签名。该展示文档是已签署文件的精确前缀,因此仍然可以针对已签署 PDF 校验 sha256_original。
证据 PDF
证据 PDF 会记录单个签署人的以下信息:- 等级和格式。
- 签署人姓名、其签署身份,对于 KYB 还包括企业名称。
- 已验证的身份证件会话(仅限高级 (AES))。
- 确认信息:渠道、脱敏后的目的地和时间(仅限高级 (AES))。
- 签署人的地址。
- 每个文档:标题、页数和原始文件的 SHA-256。对于 Word 文档,还包含 Word 文件的名称和 SHA-256、转换器版本以及 PDF 的 SHA-256。
- 采用的签名:键入(附带其手写风格)或绘制、采用的时间,以及签名和首字母签名的图像。
- 每个字段(按文档划分):其标签、页面和类型、其值(签名或首字母签名则为图像)、值的来源(例如 由签署人键入、已验证的身份证件 或 您的 API)、填充时间 (UTC),以及对于签署人键入的值,记录其当时的地址。
- 最终同意:签署人在审核屏幕上同意的文本,以及同意的时间。
- 每个已签署文件的 SHA-256,对于高级(AES),还包括证书(颁发给、颁发者、序列号和有效期)以及时间戳。
重新验证签名
POST /v3/session/{session_id}/signatures/{node_id}/validate/ 会重新读取该步骤的每个已签署 PDF 并检查其 SHA-256。对于高级(AES)签名,它还会验证 PAdES 签名、其证书、吊销数据和时间戳。简单签名没有数字签名,因此仅核验文件的完整性。它将结果保存在 validation 中并返回更新后的 signatures[]。发送 signature_id 可核验单个签署人。此接口需要 write:sessions 权限,在控制台中对应重新验证按钮。如果存储的已签署 PDF 与其 sha256_signed 不再匹配,则返回 400 及 signature_document_changed。
在文件完成签署之前,validation 为 null。如果 Didit 无法确认签署结果,validation 为 { "valid": null, "reason": "signature_provider_outcome_unknown", "checked_at" },并且 status 会保持为 signing 直至问题解决:请将其视为未签署。
在 PDF 报告中
PDF 报告会打印签名部分,包含签署人、确认信息、证书、时间戳以及带有哈希值的文件。当文件包含字段时,紧随其后的是电子签名 · 字段页面,每个文件对应一个表格:包含每个字段的值、签名和姓名首字母图像、时间以及来源。签名部分在 KYC 报告中位于银行验证之后,在 KYB 报告中位于文件之后。传递pages=signature 可仅打印该部分。