GET /v3/session/<id>/decision/ dan setiap webhook Didit.
Semua Nilai Status
Setiap status adalah string persis yang dikembalikan oleh API dan webhook Didit. Selalu gunakan pencocokan string yang ketat (misalnya
=== "In Review") dalam kode Anda, karena nilai-nilai ini peka terhadap huruf besar-kecil dan mengandung spasi. Nilai Kyc Expired juga menggunakan huruf kapital K tunggal (bukan KYC).Status Sesi
Belum Dimulai: "Not Started"
Belum Dimulai: "Not Started"
Nilai API:
"Not Started"Sesi telah dibuat melalui API, tetapi pengguna belum membuka tautan verifikasi.- Yang perlu dilakukan: Tunggu hingga pengguna memulai, atau kirim pengingat jika waktu berlalu terlalu lama.
- Beralih ke:
"In Progress","Expired"
Sedang Berlangsung: "In Progress"
Sedang Berlangsung: "In Progress"
Nilai API:
"In Progress"Pengguna telah membuka tautan dan sedang menyelesaikan langkah verifikasi secara aktif (pengambilan dokumen, liveness, dan lainnya).- Yang perlu dilakukan: Tidak ada tindakan yang diperlukan, pengguna sedang menjalani alur.
- Beralih ke:
"Approved","Declined","In Review","Abandoned"
Disetujui: "Approved"
Disetujui: "Approved"
Nilai API:
"Approved"Semua pemeriksaan verifikasi lulus. Identitas pengguna telah diverifikasi.- Yang perlu dilakukan: Berikan akses kepada pengguna, perbarui profilnya, dan simpan data keputusan.
- Webhook menyertakan: Objek
decisionlengkap dengan semua hasil fitur. - Beralih ke:
"Kyc Expired"(secara default saat tanggal kedaluwarsa dokumen yang diverifikasi terlewati, kecuali Expiration mode untuk negara dan jenis dokumen tersebut diatur ke Allow expired). Peninjau atau endpoint update-status juga dapat mengatur status ini ke"Declined"atau"Resubmitted".
Ditolak: "Declined"
Ditolak: "Declined"
Nilai API:
"Declined"Satu atau lebih pemeriksaan verifikasi gagal. Pengguna tidak lolos verifikasi.- Yang perlu dilakukan: Beri tahu pengguna. Jika masalahnya dapat diperbaiki, Anda dapat meminta pengajuan ulang.
- Webhook menyertakan: Objek
decisionlengkap dengan peringatan yang menjelaskan kegagalan tersebut. - Beralih ke:
"Resubmitted"(jika peninjau memintanya). Peninjau atau endpoint update-status juga dapat mengatur status ini ke"Approved".
Dalam Peninjauan: "In Review"
Dalam Peninjauan: "In Review"
Nilai API:
"In Review"Pemeriksaan otomatis menandai peringatan yang memerlukan peninjauan manusia. Peninjau kepatuhan harus membuat keputusan akhir.- Yang perlu dilakukan: Peninjau sebaiknya membuka sesi di Console dan menyetujui, menolak, atau meminta pengajuan ulang.
- Webhook menyertakan: Objek
decisionlengkap dengan peringatan. - Beralih ke:
"Approved","Declined","Resubmitted"
Diajukan Ulang: "Resubmitted"
Diajukan Ulang: "Resubmitted"
Nilai API:
"Resubmitted"Peninjau telah meminta pengguna mengulangi langkah verifikasi tertentu (misalnya, mengambil ulang foto dokumen yang buram).- Yang perlu dilakukan: Tunggu hingga pengguna menyelesaikan langkah yang diajukan ulang. Sistem akan mengevaluasi ulang secara otomatis.
- Webhook menyertakan: Objek
resubmit_infodengan daftar fitur yang harus diulang beserta alasannya. - Beralih ke:
"Approved","Declined","In Review", atau"Abandoned"jika jendela sesi berakhir sebelum pengguna mengulangi langkahnya.
Kedaluwarsa: "Expired"
Kedaluwarsa: "Expired"
Nilai API:
"Expired"Sesi melewati batas waktu sebelum pengguna membuka tautan verifikasi.- Yang perlu dilakukan: Buat sesi baru dan kirim tautan baru kepada pengguna.
- Status terminal: tidak ada transisi lebih lanjut.
Ditinggalkan: "Abandoned"
Ditinggalkan: "Abandoned"
Nilai API:
"Abandoned"Pengguna memulai tetapi tidak menyelesaikan verifikasi dalam batas waktu yang diizinkan.- Yang perlu dilakukan: Kirim pengingat atau buat sesi baru.
- Tidak ada transisi otomatis. Peninjau, atau
PATCH /v3/session/{sessionId}/update-status/, tetap dapat mengatur status ini ke"Approved","Declined", atau"Resubmitted".
KYC Kedaluwarsa: "Kyc Expired"
KYC Kedaluwarsa: "Kyc Expired"
Nilai API:
"Kyc Expired"Dokumen yang diverifikasi selama sesi telah melewati tanggal kedaluwarsanya sendiri. Pemicunya adalah tanggal tersebut, bukan jangka waktu yang dihitung dari persetujuan, dan tidak ada peringatan yang dikirim sebelumnya.- Yang perlu dilakukan: Minta pengguna untuk memverifikasi ulang dengan sesi baru.
status.updatedmengirimkan transisi ini, dan hasil verifikasi identitas memuat peringatanDOCUMENT_EXPIRED. - Dikendalikan oleh: Expiration mode untuk negara dan jenis dokumen tersebut di ID verification → Additional settings by country & document type. Reject expired (default) memantau dokumen, sedangkan Allow expired berarti sesi tidak pernah berpindah ke status ini.
- Tidak ada transisi otomatis. Peninjau, atau
PATCH /v3/session/{sessionId}/update-status/, tetap dapat mengatur status ini ke"Approved","Declined", atau"Resubmitted".
Transisi Status
Diagram siklus hidup
Terminal dan Non-Terminal
Menangani Status dalam Kode Anda
Gunakan webhook atau Retrieve Session API untuk merespons perubahan status.Pengajuan Ulang
Status Resubmitted memungkinkan tim kepatuhan Anda memberi pengguna kesempatan kedua tanpa membuat sesi baru.1
Peninjau memulai pengajuan ulang
Dari Console, buka sesi
In Review atau Declined lalu klik Minta Pengajuan Ulang. Pilih langkah mana yang perlu diulang.2
Data sebelumnya diarsipkan
Sistem mereset fitur yang dipilih dan menandai data sebelumnya sebagai
previous_attempt, sehingga jejak audit lengkap tetap tersimpan.3
Pengguna diberi tahu
Jika email tersedia, pengguna menerima email yang telah dilokalkan dengan tautan langsung untuk melanjutkan.
4
Pengguna mengulang langkah tertentu
Pengguna hanya mengulang langkah yang ditandai, bukan seluruh verifikasi.
5
Sistem mengevaluasi ulang
Setelah selesai, sesi otomatis beralih ke
"Approved", "Declined", atau "In Review".Payload Webhook Pengajuan Ulang
reasons memetakan setiap node_id yang diajukan ulang ke kode peringatan dari log paling relevan pada langkah tersebut (kode yang sama dengan yang dilaporkan oleh keputusan), sehingga Anda dapat memetakannya ke teks Anda sendiri. Kode ini juga yang dilokalkan untuk pengguna oleh layar pengajuan ulang pada alur yang di-hosting dan oleh email pengajuan ulang, kecuali untuk peringatan yang dapat mengungkap sinyal skrining atau penipuan (duplikat, AML, daftar blokir, pemeriksaan lintas organisasi, integritas lokasi, dan sejenisnya). Untuk peringatan tersebut, pengguna hanya melihat alasan umum, dan resubmit_info.reasons di webhook Anda selalu berisi kode yang sebenarnya. Langkah tanpa peringatan yang tercatat tidak memiliki entri.
Fitur Mana yang Dapat Diajukan Ulang?
Fitur apa pun dengan status yang belum disetujui: Declined, In Review, Not Finished, Not Started, atau Expired.Praktik Terbaik
Pantau Dalam Peninjauan
Atur alert (email atau Slack) di Didit Console Anda agar Anda diberi tahu saat sesi memerlukan peninjauan manual.
Utamakan Pengajuan Ulang
Jika masalahnya dapat diperbaiki (foto buram, sisi dokumen yang salah), minta pengajuan ulang alih-alih menolak. Cara ini meningkatkan tingkat konversi.
Pantau Drop-off
Tingkat sesi yang Ditinggalkan atau Kedaluwarsa yang tinggi dapat menandakan hambatan UX. Pertimbangkan untuk menyesuaikan TTL sesi atau meningkatkan panduan bagi pengguna.
Penanganan Idempoten
Webhook dapat dikirim ulang. Gunakan
session_id sebagai kunci unik untuk memastikan Anda memproses setiap perubahan status hanya sekali.