Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.signatures.download_document(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
)
with open("download.pdf", "wb") as file:
file.write(content)import { writeFile } from "node:fs/promises";
import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const content = await didit.sessions.signatures.downloadDocument(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
);
await writeFile("download.pdf", Buffer.from(await content.arrayBuffer()));ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
resp, err := client.Sessions.Signatures.DownloadDocument(ctx, "11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
file, err := os.Create("download.pdf")
if err != nil {
log.Fatal(err)
}
defer file.Close()
if _, err := io.Copy(file, resp.Body); err != nil {
log.Fatal(err)
}import java.nio.file.Path;
import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
client.sessions().signatures().downloadDocument("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
.writeTo(Path.of("download.pdf"));<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$content = $didit->sessions->signatures->downloadDocument('11111111-2222-3333-4444-555555555555', 'feature_signature', '11111111-2222-3333-4444-555555555555');
$content->saveTo('download.pdf');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.signatures.download_document(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555"
)
File.binwrite("download.pdf", content)using System;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var content = await client.Sessions.Signatures.DownloadDocumentAsync("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.pdf");curl --request GET \
--url https://verification.didit.me/v3/session/{sessionId}/signatures/{nodeId}/documents/{documentId}/file/ \
--header 'x-api-key: <api-key>'"<string>"电子签名
下载已签名文档 API:签名 PDF
使用 API 密钥,下载 Didit KYC 或 KYB 会话中电子签名步骤里某份文档的已签名 PDF。
GET
/
v3
/
session
/
{sessionId}
/
signatures
/
{nodeId}
/
documents
/
{documentId}
/
file
/
Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.signatures.download_document(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
)
with open("download.pdf", "wb") as file:
file.write(content)import { writeFile } from "node:fs/promises";
import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const content = await didit.sessions.signatures.downloadDocument(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
);
await writeFile("download.pdf", Buffer.from(await content.arrayBuffer()));ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
resp, err := client.Sessions.Signatures.DownloadDocument(ctx, "11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
file, err := os.Create("download.pdf")
if err != nil {
log.Fatal(err)
}
defer file.Close()
if _, err := io.Copy(file, resp.Body); err != nil {
log.Fatal(err)
}import java.nio.file.Path;
import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
client.sessions().signatures().downloadDocument("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
.writeTo(Path.of("download.pdf"));<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$content = $didit->sessions->signatures->downloadDocument('11111111-2222-3333-4444-555555555555', 'feature_signature', '11111111-2222-3333-4444-555555555555');
$content->saveTo('download.pdf');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.signatures.download_document(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555"
)
File.binwrite("download.pdf", content)using System;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var content = await client.Sessions.Signatures.DownloadDocumentAsync("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.pdf");curl --request GET \
--url https://verification.didit.me/v3/session/{sessionId}/signatures/{nodeId}/documents/{documentId}/file/ \
--header 'x-api-key: <api-key>'"<string>"返回某份证件的已签署 PDF,前提是其签署人已完成签署。您无需自行构建 URL:决策中每份已签署证件的路径都位于
该 PDF 包含签署人查看的证件,并印有其字段值,以及证据页(除非该步骤的
signatures[].documents[].signed_file 中。
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/documents/{document_id}/file/' \
-H 'x-api-key: YOUR_API_KEY' \
-o agreement-signed.pdf
signature_evidence_page 已关闭)。高级(AES)PDF 还包含带时间戳的 PAdES 签名;简单 PDF 没有数字签名、印章或时间戳。返回文件前,Didit 会将存储文件与 sha256_signed 进行核对。如果两者不一致,则返回 409 及 signature_document_changed。
尚未签署的证件会返回 404 及 signature_not_signed。在您删除会话后,该路由将返回 404。
相关内容
授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
路径参数
用户验证(KYC)或企业验证(KYB)会话。
示例:
"11111111-2222-3333-4444-555555555555"
电子签名步骤:signatures[] 中项目的 node_id。
示例:
"feature_signature"
signatures[].documents[] 中证件的 id。
响应
已签署的 PDF。
The response is of type file.
最后修改于 2026年11月7日