Langsung ke konten utama
POST
curl

Mengapa bersifat stateless

Skrining dompet mandiri tidak menulis apa pun ke tabel transactions, sehingga tidak ada catatan tersimpan yang bisa dirender oleh endpoint ini. Sebagai gantinya, Anda mengirim ulang JSON persis yang sudah diberikan POST /v3/wallet-screening/ kepada Anda, dan Didit merender payload tersebut menjadi PDF tanpa memanggil penyedia lagi.

Kolom report_signature

Setiap respons POST /v3/wallet-screening/ sekarang menyertakan kolom report_signature, yaitu tanda tangan yang tidak dapat diinterpretasikan dan terikat pada aplikasi Anda. Endpoint ini memverifikasinya sebelum merender, sehingga pemanggil tidak dapat mengubah risk_score, severity, sanctions_hit, atau kolom lain lalu mendapatkan PDF berlogo Didit yang tampak rapi untuk hasil yang tidak pernah dihasilkan Didit. Selalu kirim ulang seluruh isi respons tanpa diubah, termasuk report_signature. Mengurutkan ulang kunci tidak masalah; mengubah nilai yang ditandatangani tidak diperbolehkan.

Penagihan

Tidak ada panggilan ke penyedia yang dilakukan dan tidak ada tagihan: endpoint ini hanya merender ulang hasil yang sudah Anda bayar saat memanggil POST /v3/wallet-screening/.

Kesalahan

Langkah selanjutnya

Skrining Dompet

Jalankan skrining dompet sesuai permintaan yang mendasarinya dan dapatkan hasil JSON untuk dikirim ulang ke sini.

Skrining dompet sesuai permintaan

Ikhtisar endpoint skrining dompet mandiri dan model hasilnya.

Otorisasi

x-api-key
string
header
wajib

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.

Body

application/json

Objek JSON yang tidak dimodifikasi yang dikembalikan oleh POST /v3/wallet-screening/, termasuk report_signature.

Struktur yang sama dengan respons POST /v3/wallet-screening/ — teruskan isi respons tersebut kembali apa adanya, termasuk report_signature.

provider
string
wajib

Penyedia yang melakukan skrining (misalnya merklescience, crystal).

screening_type
enum<string>
wajib

Selalu WALLET_SCREENING untuk endpoint ini.

Opsi yang tersedia:
WALLET_SCREENING
risk_score
integer
wajib

Skor risiko 0-100 yang dinormalisasi. Nilai lebih tinggi berarti paparan lebih besar terhadap entitas berisiko. Merkle Science menilai alamat 0-5, yang dipetakan ke 0, 15, 35, 55, 75, atau 95.

severity
enum<string>
wajib

Kelompok risiko diturunkan dari risk_score: 0-9 UNKNOWN, 10-39 LOW, 40-69 MEDIUM, 70-89 HIGH, 90-100 CRITICAL. UNKNOWN adalah rentang terendah, bukan status tanpa data yang terpisah: risk_score 0 (kasus alamat bersih yang umum) berarti tidak ada penilaian buruk, sedangkan skor bukan nol dalam rentang 1-9 adalah sinyal nyata tetapi di bawah LOW - baca risk_score, bukan hanya kelompoknya. Jangan pernah memperlakukan UNKNOWN sebagai indikasi afirmatif bahwa risikonya rendah atau penilaian bersih; jangan menampilkannya sebagai lolos.

Opsi yang tersedia:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
status
enum<string>
wajib

Status hasil skrining.

Opsi yang tersedia:
SCREENED,
PENDING,
ERROR
summary
string
wajib

Ringkasan hasil skrining yang dapat dibaca manusia.

wallet_address
string
wajib

Alamat yang diskrining, dikembalikan apa adanya.

blockchain
string
wajib

Blockchain yang diskrining.

source_of_funds
object[]
wajib

Dari mana alamat tersebut menerima dana, diatribusikan berdasarkan entitas. Setiap entri merupakan rincian eksposur.

destination_of_funds
object[]
wajib

Ke mana alamat tersebut mengirim dana, diatribusikan berdasarkan entitas. Bentuk item sama seperti source_of_funds dengan exposure_direction = outgoing.

counterparty_connections
object[]
wajib

Entitas yang diatribusikan penyedia ke alamat yang diskrining. Untuk Merkle Science, entitas ini berasal dari tag pemilik dan pengguna alamat itu sendiri, sehingga entitas yang sama dapat muncul dua kali, dan tidak membawa aliran dana: received_usd, sent_usd, received_hops, dan sent_hops bernilai null serta percentage adalah 0. Jangan menentukan rute berdasarkan risk_level atau is_direct di sini: gunakan sanctions_hit, dominant_risk_category, dan risk_factors[].is_high_risk untuk keputusan akhir, serta exposure_type di source_of_funds/destination_of_funds untuk menentukan apakah alirannya langsung.

sanctions_hit
boolean
wajib

True jika alamat memiliki paparan sanksi langsung atau tidak langsung.

dominant_risk_category
string | null
wajib

Kategori berisiko tinggi dengan bobot tertinggi, atau null jika tidak ada yang dominan (misalnya sanctioned, mixer, stolen_funds).

report_signature
string
wajib

Tanda tangan HMAC-SHA256 tidak transparan atas hasil persis ini, dengan cakupan ke aplikasi Anda. Tidak memiliki arti tersendiri — kirim ulang seluruh isi respons, tanpa diubah dan termasuk kolom ini, ke POST /v3/wallet-screening/pdf/ untuk merendernya sebagai PDF. Endpoint PDF menolak permintaan dengan kode 400 jika report_signature tidak ada atau jika ada kolom bertanda tangan (misalnya risk_score, severity, sanctions_hit) yang diubah sebelum dikirim ulang.

transaction_hash
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

block_timestamp
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

total_value_usd
number | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

fee_usd
number | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

sender_rows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

receiver_rows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

transaction_flows
object[]

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu kosong pada hasil skrining dompet.

transaction_flows_status
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

transaction_flows_error
string | null

Kolom skrining transaksi, digunakan bersama struktur hasil. Selalu null pada hasil skrining dompet.

network_nodes
object[]

Node graf paparan untuk skrining transaksi. Kosong pada hasil skrining dompet.

network_edges
object[]

Sisi graf paparan untuk skrining transaksi. Kosong pada hasil skrining dompet.

pep_counterparty
boolean | null

Paparan Politically Exposed Person (PEP). null jika tidak ada temuan PEP yang tersedia, yang merupakan semua hasil saat ini karena tidak ada penyedia yang melaporkannya; false hanya untuk hasil skrining negatif yang eksplisit. Jangan mengartikan null sebagai pemeriksaan PEP yang telah selesai.

risk_factors
object[]

Penjelasan berperingkat untuk risk_score: faktor apa yang menghasilkan keputusan ini. Penyedia menilai alamat berdasarkan model mereka sendiri dan hanya mengembalikan keputusan (Merkle Science mengembalikan bilangan bulat 0-5), sehingga skor saja tidak dapat ditindaklanjuti. Diurutkan dari risiko tinggi terlebih dahulu, kemudian berdasarkan nilai yang melewati setiap faktor, dibatasi hingga lima yang terkuat; source_of_funds dan destination_of_funds selalu memuat rincian lengkap. risk_score yang tinggi tanpa entri is_high_risk berarti penyedia tidak melaporkan adanya kecocokan sanksi atau entitas yang diatribusikan dan menilai alamat murni berdasarkan model eksposurnya sendiri - summary menyatakan hal ini secara eksplisit.

raw_response
object

Payload milik penyedia sendiri. Formatnya spesifik untuk tiap penyedia dan dapat berubah tanpa pemberitahuan: baca kolom yang telah dinormalisasi daripada menguraikannya.

Respons

Dokumen PDF hasil render, dikembalikan langsung sebagai biner application/pdf — tidak ada pembungkus JSON.

The response is of type file.

Terakhir diubah pada 7 November 2026