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 через API электронной подписи
Скачайте подписанный PDF одного документа из шага электронной подписи для сессии KYC или KYB с помощью вашего API-ключа Didit.
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>"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). PDF уровня Advanced (AES) также содержит подпись PAdES с меткой времени. PDF уровня Simple не содержит цифровой подписи, печати или метки времени. Перед возвратом файла Didit сверяет сохранённый файл с sha256_signed. Если значения не совпадают, возвращается 409 с signature_document_changed.
Документ, который ещё не подписан, возвращает 404 с signature_not_signed. После того как вы удалите сессию, этот маршрут возвращает 404.
Связанные материалы
- Отчёт по электронной подписи: что содержит подписанный PDF.
- Скачать доказательства подписи
- Проверка подписей
Авторизации
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"
id документа в signatures[].documents[].
Ответ
Подписанный PDF.
The response is of type file.