Didit tidak mengirim email saat status verifikasi berubah. Siapkan webhook di Pengembang, daftarkan tiap event, simpan signing secret, dan verifikasi signature.

Jawaban singkat

Webhook adalah permintaan HTTP yang dikirim Didit ke URL Anda saat ada sesuatu yang berubah. Tambahkan destinasi di Pengembang → Webhooks, subscribe ke event yang Anda inginkan - tidak ada wildcard, daftarkan semuanya satu per satu - simpan signing secret-nya, dan verifikasi signature-nya sebelum Anda memproses apa pun.

Didit tidak mengirimkan email saat sesi berpindah ke In Review atau Declined. Untuk mengetahui persis kapan sebuah status berubah, tanpa harus me-refresh konsol, siapkan webhook - sebuah URL di server Anda yang secara otomatis dikirimi update oleh Didit.

Webhook adalah pola integrasi yang direkomendasikan. Melakukan polling ke endpoint keputusan tetap bisa jadi cadangan, tapi lebih lambat, membutuhkan lebih banyak permintaan, dan melewatkan event yang hanya pernah dikirim lewat webhook - perubahan data oleh reviewer, perubahan status transaksi, dan perubahan di level entity.

#Menyiapkannya

  1. Pengembang → Webhooks

    Buka aplikasi dan lingkungan Live atau Sandbox yang benar, lalu Pengembang dan Webhooks.

  2. Tambahkan endpoint

    Klik Tambahkan endpoint, isi URL HTTPS dan nama, lalu pilih kejadian. Pertahankan versi v3 yang disarankan kecuali untuk integrasi lama. Tinjau dan konfirmasi.

  3. Simpan rahasia penandatanganan

    Setiap endpoint memiliki rahasia tanda tangan tersendiri yang disamarkan. Klik Tampilkan dan konfirmasi identitas; rahasia disembunyikan lagi dalam 60 detik. Simpan di konfigurasi server. Hubungi dukungan jika tombol nonaktif. Pengembang → Webhooks.

  4. Kirim kejadian uji

    Kirim kejadian uji bertanda tangan untuk memeriksa endpoint, tanda tangan dan penanganan tanpa verifikasi sungguhan.

Tujuan webhook di konsol Didit dengan peristiwa yang dilanggan dan riwayat pengiriman
Setiap tujuan memiliki langganan peristiwa, rahasia penandatanganan, dan log pengiriman sendiri.

#Event yang bisa Anda subscribe

Tidak ada wildcard - daftarkan setiap keluarga event yang Anda inginkan. Menyebarkannya ke beberapa destinasi juga tidak masalah dan sering kali lebih rapi.

EventTerpicu saat
status.updatedStatus sesi KYC atau KYB berubah. Yang hampir pasti Anda inginkan
data.updatedData verifikasi diedit setelah dibuat - misalnya reviewer mengoreksi sebuah field
user.status.updatedPengguna konsolidasi berpindah antara ACTIVE, FLAGGED dan BLOCKED
user.data.updatedProfil, counter, atau identifier pengguna konsolidasi berubah
business.status.updatedStatus bisnis konsolidasi berubah
business.data.updatedData bisnis konsolidasi berubah
transaction.createdSebuah transaksi dibuat dan verdict awalnya sudah siap
transaction.status.updatedStatus sebuah transaksi berubah setelahnya
travel_rule.status.updatedStatus pertukaran Travel Rule berubah
Catatan

Tidak ada session.status.updated atau kyc.completed. Jika Anda men-subscribe nama yang tidak ada di daftar ini, Anda tidak akan menerima apa pun - dan itu akan terlihat persis seperti kegagalan pengiriman. Periksa dulu namanya.

#Yang seharusnya dilakukan endpoint Anda

  • Verifikasi signature-nya sebelum apa pun. Lakukan HMAC pada body permintaan mentah - jangan pernah versi hasil serialize ulang dari JSON yang sudah di-parse, karena menyusunnya kembali menjadi string mengubah byte-nya dan signature-nya tidak akan cocok. Gunakan perbandingan constant-time.
  • Kembalikan 2xx dengan cepat. Lakukan pekerjaan berat secara asinkron, setelah Anda merespons.
  • Bersifat idempotent. Gunakan id event, atau kombinasi id sesi + status + jenis webhook sebagai kunci. Percobaan ulang dan duplikat bisa terjadi.
  • Tangani setiap status yang Anda pedulikan, termasuk yang muncul lama setelah onboarding - sesi yang sudah approved bisa berpindah ke In Review kemudian lewat pemantauan AML berkelanjutan.
  • Hanya HTTPS. Endpoint HTTP biasa tidak didukung.

#Percobaan ulang

Untuk respons 5xx atau 404, Didit mencoba lagi dua kali, sekitar satu menit lalu empat menit kemudian. Batas waktu 5 detik atau kegagalan koneksi tidak dicoba lagi otomatis. Gunakan Kirim ulang di Pengiriman setelah perbaikan; kegagalan akhir menghasilkan peringatan.

Penting

Jangan menganggap setiap webhook pasti diterima. Setelah gangguan, kirim ulang atau ambil keputusan setiap sesi yang hasilnya belum Anda terima.

#Di belakang firewall atau WAF

Didit mengirim dari IP statis 18.203.201.92 dengan user agent DiditWebhook/2.0. Jika edge Anda memblokir klien yang tidak dikenal - seperti kebijakan default Cloudflare - izinkan IP tersebut untuk hostname penerima, atau pengiriman akan gagal sebelum sampai ke kode Anda.

#Belum punya backend?

Anda tetap bisa memantau hasil secara manual di bagian Verifications milik konsol sambil membangunnya, atau gunakan link verifikasi tanpa kode untuk sementara.

#Langkah berikutnya

Masih buntu? Bicara dengan manusia.

Sertakan ID organisasi Anda dan ID sesi yang Anda tanyakan.

Hubungi dukungan