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 Generate PDF: Laporan Kepatuhan KYC & KYB
GET /v3/session//generate-pdf/ untuk mengunduh laporan kepatuhan KYC atau KYB ber-branding dari Didit. White Label, siap audit, harga per penggunaan.
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>"Dukungan KYC dan KYB
Berlaku untuk sesi Verifikasi Pengguna (KYC) dan Verifikasi Bisnis (KYB). Didit secara otomatis mengarahkan ke templat PDF yang sesuai:- Sesi Verifikasi Pengguna (KYC) → laporan dengan bagian verifikasi identitas, Deteksi Liveness, pencocokan wajah, AML, dan POA.
- Sesi Verifikasi Bisnis (KYB) → laporan dengan bagian registri perusahaan, pihak kunci (UBO/pejabat), dokumen, AML, kuesioner, telepon, email, dan analisis IP jika fitur tersebut termasuk dalam alur kerja.
Konvensi nama file
| Jenis | Nama file |
|---|---|
| Pengguna | session_<session_id>.pdf |
| Bisnis | business_<session_id>.pdf |
Content-Disposition: attachment; filename=....
Persyaratan status
Sesi harus berada diAPPROVED, DECLINED, atau IN_REVIEW agar PDF dapat dibuat. Sesi yang sedang berjalan atau belum dimulai akan mengembalikan 403.
Contoh
- PDF Verifikasi Pengguna (KYC)
- PDF Verifikasi Bisnis (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
White Label
Ketika aplikasi memiliki kustomisasi White Label yang aktif, PDF akan menggunakan logo dan URL kebijakan privasi Anda. Atur di Console → Customization.Izin
Memerlukanread:sessions. Cakupan yang sama berlaku untuk kedua jenis.
Terkait
- Ikhtisar sesi
- Ambil sesi: versi JSON dari keputusan yang sama
- Unduh PDF riwayat pengguna: setiap sesi yang dapat dilaporkan dari satu pengguna dalam satu file
- Skema respons KYB: kolom yang disertakan dalam PDF bisnis
Otorisasi
Kunci API aplikasi Anda, dari Developers -> API keys di Business Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat https://docs.didit.me/console/api-keys.
Parameter Path
UUID dari sesi Verifikasi Pengguna (KYC) atau Verifikasi Bisnis (KYB) yang akan dirender — session_id yang dikembalikan oleh POST /v3/session/. Path yang sama berlaku untuk kedua jenis sesi; gunakan nama file Content-Disposition pada respons untuk mengetahui jenis laporan yang Anda terima.
Harus berupa UUID huruf kecil dengan format yang benar. Rute ini hanya cocok dengan UUID yang valid, sehingga nilai yang salah format akan ditolak oleh router URL sebelum kode aplikasi apa pun berjalan dan responsnya adalah halaman HTML 404, bukan envelope JSON {"detail": ...} yang ditunjukkan di bawah ini. Pengonversi UUID rute hanya cocok dengan bentuk huruf kecil kanonikal — UUID heksadesimal huruf besar akan ditolak dengan HTML 404.
"11111111-2222-3333-4444-555555555555"
Respons
Dokumen PDF hasil render, dikembalikan langsung sebagai biner application/pdf — tidak ada pembungkus JSON dan tidak ada pengalihan URL unduhan. Isi dimulai dengan magic bytes %PDF (PDF 1.7). Simpan ke file .pdf atau alirkan langsung ke pemanggil Anda.
The response is of type file.