Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.signatures.download_field_image(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
)
with open("download.png", "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.downloadFieldImage(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
);
await writeFile("download.png", Buffer.from(await content.arrayBuffer()));ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
resp, err := client.Sessions.Signatures.DownloadFieldImage(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.png")
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().downloadFieldImage("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
.writeTo(Path.of("download.png"));<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$content = $didit->sessions->signatures->downloadFieldImage('11111111-2222-3333-4444-555555555555', 'feature_signature', '11111111-2222-3333-4444-555555555555');
$content->saveTo('download.png');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.signatures.download_field_image(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555"
)
File.binwrite("download.png", content)using System;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var content = await client.Sessions.Signatures.DownloadFieldImageAsync("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.png");curl --request GET \
--url https://verification.didit.me/v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/ \
--header 'x-api-key: <api-key>'"<string>"{
"code": "signature_document_changed",
"detail": "signature_document_changed"
}{
"detail": "You do not have permission to perform this action."
}{
"code": "signature_field_not_found",
"detail": "signature_field_not_found"
}电子签名
签名图片 API:下载已采用签名 PNG
通过 Didit 下载签署人在电子签名文档字段中添加的签名或首字母,格式为 PNG。
GET
/
v3
/
session
/
{sessionId}
/
signatures
/
{nodeId}
/
fields
/
{fieldId}
/
image
/
Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.signatures.download_field_image(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
)
with open("download.png", "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.downloadFieldImage(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555",
);
await writeFile("download.png", Buffer.from(await content.arrayBuffer()));ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
resp, err := client.Sessions.Signatures.DownloadFieldImage(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.png")
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().downloadFieldImage("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555")
.writeTo(Path.of("download.png"));<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$content = $didit->sessions->signatures->downloadFieldImage('11111111-2222-3333-4444-555555555555', 'feature_signature', '11111111-2222-3333-4444-555555555555');
$content->saveTo('download.png');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.signatures.download_field_image(
"11111111-2222-3333-4444-555555555555",
"feature_signature",
"11111111-2222-3333-4444-555555555555"
)
File.binwrite("download.png", content)using System;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var content = await client.Sessions.Signatures.DownloadFieldImageAsync("11111111-2222-3333-4444-555555555555", "feature_signature", "11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.png");curl --request GET \
--url https://verification.didit.me/v3/session/{sessionId}/signatures/{nodeId}/fields/{fieldId}/image/ \
--header 'x-api-key: <api-key>'"<string>"{
"code": "signature_document_changed",
"detail": "signature_document_changed"
}{
"detail": "You do not have permission to perform this action."
}{
"code": "signature_field_not_found",
"detail": "signature_field_not_found"
}返回签署人为某个字段应用的签名或姓名首字母,格式为 PNG。图片路径位于字段的
手绘签名是签署人绘制的图像,也是盖印到已签名 PDF 中的图像。键入签名是签署人经过验证的姓名,采用其所选的手写风格;已签名 PDF 会以相同风格的文本形式保存该签名。如需提供签名本身的证明,请使用已签署文档和证据。
如果字段不属于该签署人,或未应用签名或姓名首字母,则返回
image_url 中,具体位于 signatures[].documents[].fields[] 下,因此无需自行构造路径。调用此接口需要 read:sessions 权限。
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/fields/{field_id}/image/' \
-H 'x-api-key: YOUR_API_KEY' \
-o signature.png
404,并附带 signature_field_not_found。如果已存储的图像与其记录的 SHA-256 不再匹配,则返回 400,并附带 signature_document_changed。删除会话后,该路由返回 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"
该签名人副本上的字段,如该字段的 image_url 中所示。
响应
图像。
The response is of type file.
最后修改于 2026年11月7日