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 подписи
Скачайте подпись или инициалы подписанта в формате PNG, которые он поставил в поле документа электронной подписи в Didit.
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"
}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-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.
Параметры пути
Сессия проверки пользователей (KYC) или верификации бизнеса (KYB).
"11111111-2222-3333-4444-555555555555"
Шаг «Электронная подпись»: node_id элемента в signatures[].
"feature_signature"
Поле в копии этого подписанта, как в image_url поля.
Ответ
Изображение.
The response is of type file.