curl --fail \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/generate-pdf/ \
-H 'x-api-key: YOUR_API_KEY' \
--output report.pdffrom didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.generate_pdf(
"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.generatePdf("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.GeneratePDF(ctx, "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().generatePdf("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->generatePdf('11111111-2222-3333-4444-555555555555');
$content->saveTo('download.pdf');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.generate_pdf("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.GeneratePdfAsync("11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.pdf");API para gerar PDF: relatórios de conformidade KYC e KYB
Descarregue relatórios PDF de KYC ou KYB com marca branca, prontos para auditoria, via GET /v3/session//generate-pdf/ na Didit.
curl --fail \
https://verification.didit.me/v3/session/11111111-2222-3333-4444-555555555555/generate-pdf/ \
-H 'x-api-key: YOUR_API_KEY' \
--output report.pdffrom didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
content = client.sessions.generate_pdf(
"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.generatePdf("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.GeneratePDF(ctx, "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().generatePdf("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->generatePdf('11111111-2222-3333-4444-555555555555');
$content->saveTo('download.pdf');require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
content = didit.sessions.generate_pdf("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.GeneratePdfAsync("11111111-2222-3333-4444-555555555555");
await content.SaveToAsync("download.pdf");Suporte a KYC e KYB
Funciona tanto para sessões de Verificação de utilizadores (KYC) como de Verificação de empresas (KYB). A Didit encaminha automaticamente para o modelo de PDF adequado:- Sessão de Verificação de utilizadores (KYC) → relatório com as secções de verificação de identidade, prova de vida, correspondência facial, AML e comprovativo de morada.
- Sessão de Verificação de empresas (KYB) → relatório com as secções de registo de empresas, pessoas-chave (beneficiários efetivos/administradores), documentos, AML, questionário, telefone, e-mail e análise de IP, quando essas funcionalidades fazem parte do fluxo.
Convenção de nomes de ficheiros
| Tipo | Nome do ficheiro |
|---|---|
| Utilizador | session_<session_id>.pdf |
| Empresa | business_<session_id>.pdf |
Content-Disposition: attachment; filename=....
Requisito de estado
A sessão tem de estar emAPPROVED, DECLINED ou IN_REVIEW para gerar um PDF. Sessões em curso ou não iniciadas devolvem 403.
Exemplos
- PDF de Verificação de utilizadores (KYC)
- PDF de Verificação de empresas (KYB)
curl https://verification.didit.me/v3/session/4c5c7f3a-.../generate-pdf/ \
-H "x-api-key: YOUR_API_KEY" \
-o kyc-report.pdf
curl https://verification.didit.me/v3/session/bs-01HJX1.../generate-pdf/ \
-H "x-api-key: YOUR_API_KEY" \
-o kyb-report.pdf
Marca branca
Quando a aplicação tem a personalização em marca branca ativada, o PDF usa o seu logótipo e o URL da política de privacidade. Configure em Consola → Personalização.Permissão
Requerread:sessions. O mesmo âmbito para ambos os tipos.
Conteúdos relacionados
- Visão geral das sessões
- Obter sessão — versão em JSON da mesma decisão
- Transferir PDF do histórico do utilizador — todas as sessões reportáveis de um utilizador num único ficheiro
- Esquema de resposta KYB — campos incluídos nos PDFs de empresas
Autorizações
A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está incorreta, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.
Parâmetros de caminho
UUID da sessão de Verificação de utilizadores (KYC) ou de Verificação de empresas (KYB) a gerar — o session_id devolvido por POST /v3/session/. O mesmo caminho funciona para ambos os tipos de sessão; utilize o nome de ficheiro em Content-Disposition na resposta para saber que tipo de relatório recebeu.
Tem de ser um UUID bem formatado e em minúsculas. A rota apenas aceita UUIDs válidos, pelo que um valor mal formatado é rejeitado pelo router de URLs antes de qualquer código da aplicação ser executado, e a resposta é uma página HTML de 404 em vez do formato JSON {"detail": ...} apresentado abaixo. O conversor de UUID da rota apenas aceita o formato canónico em minúsculas — UUIDs com carateres hexadecimais em maiúsculas são rejeitados com o 404 em HTML.
"11111111-2222-3333-4444-555555555555"
Resposta
O documento PDF renderizado, devolvido diretamente como binário application/pdf — não há invólucro JSON nem redirecionamento por URL de descarregamento. O corpo começa com os bytes mágicos %PDF (PDF 1.7). Guarde-o num ficheiro .pdf ou transmita-o diretamente para o chamador.
The response is of type file.