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");"<string>"API de génération PDF : rapports de conformité KYC et KYB
Didit : téléchargez des rapports PDF KYC ou KYB en marque blanche, prêts pour l’audit, via GET /v3/session//generate-pdf/.
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");"<string>"Prise en charge de KYC et KYB
Cette fonctionnalité fonctionne pour les sessions Vérification des utilisateurs (KYC) et Vérification d’entreprise (KYB). Didit achemine automatiquement chaque session vers le modèle de PDF approprié :- Session Vérification des utilisateurs (KYC) → rapport avec des sections consacrées à la vérification d’identité, à la détection du vivant, à la correspondance faciale, à l’AML et au justificatif de domicile (POA).
- Session Vérification d’entreprise (KYB) → rapport avec registre des sociétés, personnes clés (bénéficiaires effectifs et dirigeants), documents, AML, questionnaire, téléphone, e-mail et analyse de l’IP, lorsque ces fonctionnalités font partie du workflow.
Convention de nommage des fichiers
| Type | Nom de fichier |
|---|---|
| Utilisateur | session_<session_id>.pdf |
| Entreprise | business_<session_id>.pdf |
Content-Disposition: attachment; filename=....
Exigence de statut
La session doit être dans l’étatAPPROVED, DECLINED ou IN_REVIEW pour générer un PDF. Les sessions en cours ou non démarrées renvoient 403.
Exemples
- PDF de vérification des utilisateurs (KYC)
- PDF de vérification d'entreprise (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
Marque blanche
Lorsque la personnalisation en marque blanche est activée pour l’application, le PDF utilise votre logo et votre URL de politique de confidentialité. Configurez-les dans Console → Customization.Autorisation
Requiertread:sessions. La même portée s’applique aux deux types.
Voir aussi
- Vue d’ensemble des sessions
- Récupérer la session — version JSON de la même décision
- Télécharger le PDF de l’historique utilisateur — toutes les sessions pouvant faire l’objet d’un rapport pour un utilisateur, dans un seul fichier
- Schéma de réponse KYB — champs inclus dans les PDF entreprise
Autorisations
La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.
Paramètres de chemin
UUID de la session de Vérification des utilisateurs (KYC) ou de Vérification d'entreprise (KYB) à générer — le session_id renvoyé par POST /v3/session/. Le même chemin fonctionne pour les deux types de session ; utilisez le nom de fichier dans Content-Disposition sur la réponse pour identifier le type de rapport que vous avez reçu.
Doit être un UUID bien formé en minuscules. La route ne correspond qu'aux UUID valides ; par conséquent, une valeur mal formée est rejetée par le routeur d'URL avant même l'exécution du code de l'application, et la réponse est une page HTML 404 plutôt que l'enveloppe JSON {"detail": ...} illustrée ci-dessous. Le convertisseur d'UUID de la route ne correspond qu'à la forme canonique en minuscules — les UUID avec des valeurs hexadécimales en majuscules sont rejetés avec l'erreur HTML 404.
"11111111-2222-3333-4444-555555555555"
Réponse
Le document PDF généré, renvoyé directement au format binaire application/pdf — il n'y a pas d'encapsulation JSON ni d'indirection par URL de téléchargement. Le corps commence par les octets magiques %PDF (PDF 1.7). Enregistrez-le dans un fichier .pdf ou transmettez-le à votre appelant sous forme de flux.
The response is of type file.