Langsung ke konten utama
This guide covers the full integration surface of Pemantauan Transaksi. Panduan cepat membantu Anda mulai; halaman ini membantu Anda mencapai produksi.

Arsitektur

Autentikasi

Gunakan header x-api-key standar. Kunci yang sama dipakai untuk sesi dan entitas. Lihat autentikasi API.

Mengirim transaksi

Hanya ada satu endpoint: POST /v3/transactions/. Lihat mengirim transaksi untuk skema lengkap. Payload minimal:
Payload lebih lengkap dengan metode pembayaran, konteks perangkat, dan properti kustom:
Alias camelCase diterima untuk setiap kolom tingkat atas (txnId, txnDate, type, info, applicant, props, travelRule, includeCryptoScreening); format wire pada SDK dan format snake_case dipetakan ke tempat yang sama.

Pemodelan pihak

Setiap transaksi wajib memiliki subject (pelanggan Anda, yaitu pihak yang Anda pantau) dan counterparty opsional (pihak lawannya). Masing-masing memiliki payment_method sendiri dan konteks device opsional. Dalam respons, keduanya dikembalikan dalam array parties dengan peran APPLICANT dan COUNTERPARTY; pihak tanpa vendor_data disimpan sebagai snapshot eksternal (kind: EXTERNAL) tanpa entitas tertaut. Lihat payload transaksi untuk kolom pihak.

Idempotensi

txn_id (transaction_id yang Anda kirim) bersifat unik per aplikasi. Mengirim ulang transaction_id yang sudah ada akan mengembalikan 400 dengan A transaction with this transaction_id already exists. pada kolom transaction_id; ketika dua permintaan identik datang bersamaan, permintaan kedua menerima 409. Tidak ada respons yang mengembalikan transaksi yang sudah ada. Pada 400 atau 409 untuk transaction_id duplikat, cari transaksi yang sudah ada alih-alih mengirim ulang: baca dengan GET /v3/transactions/{uuid}/ menggunakan uuid dari respons pertama, atau gunakan transaction_id (uuid Didit) yang dibawa webhook transaction.created di samping txn_id Anda. Selalu buat txn_id di sisi Anda sebelum mengirim; jangan mengandalkan ID yang dibuat Didit untuk idempotensi. Gunakan ID database Anda sendiri, UUID, atau hash dari kolom transaksi.

Real-time vs batch

  • Real-time: direkomendasikan untuk sebagian besar kasus penggunaan. Kirim transaksi begitu terjadi di sistem Anda. Aturan dievaluasi secara sinkron dan mengembalikan keputusan.
  • Batch / backfill: untuk ingesti historis, berikan txn_date di masa lalu. Aturan tetap dijalankan dan dapat memicu webhook. Untuk menghindari pemicuan aturan saat backfill, gunakan impor CSV di konsol dengan flag “dry ingest”.

Ingesti historis

Saat Anda bermigrasi dari sistem pemantauan transaksi lain:
  1. Ekspor transaksi historis Anda ke CSV.
  2. Gunakan Transactions → Import history di konsol (atau kirim melalui API secara berulang) dengan txn_date di masa lalu.
  3. Aktifkan aturan hanya setelah ingesti selesai, atau gunakan dry ingest untuk melewati evaluasi aturan.
Berhati-hatilah saat mengevaluasi aturan pada riwayat. Memasukkan riwayat 6 bulan melalui aturan “20 transfer dalam 30 hari” akan menghasilkan ribuan alert sekaligus.

Webhook

Berlangganan ke:
  • transaction.created: setiap transaksi yang dikirim.
  • transaction.status.updated: perubahan status (misalnya analis memindahkan dari IN_REVIEW ke APPROVED, atau pemeriksaan AML asinkron memperbarui skor).
Detail lengkap: webhook TM.

Menangani status

Lihat status TM.

Menautkan transaksi ke entitas

Sertakan vendor_data pada setiap pihak. Manfaatnya:
  • Setiap transaksi diagregasi ke profil Pengguna atau Bisnis.
  • Aturan frekuensi dan perilaku memiliki riwayat lengkap untuk dievaluasi.
  • Pemblokiran entitas otomatis berlaku pada transaksi berikutnya.
vendor_data yang tidak ada bukan error fatal: transaksi disimpan sebagai snapshot eksternal, tetapi Anda kehilangan agregasi tingkat entitas.

Sesi remediasi

Ketika tindakan aturan memindahkan transaksi ke AWAITING_USER, Didit otomatis membuat sesi remediasi, yaitu sesi verifikasi yang di-hosting standar untuk vendor_data yang sama. Aturan kustom selalu menyebutkan alur kerja pada tindakan itu sendiri. Untuk aturan bawaan pustaka, alur kerja akan beralih ke alur kerja remediasi di pengaturan transaksi Anda, lalu ke alur kerja Autentikasi Biometrik aplikasi Anda (jika subjek memiliki wajah referensi yang tersimpan), lalu ke alur kerja default aplikasi Anda. Transaksi Travel Rule dikecualikan dari penggantian otomatis ini. Tindakan yang tertunda pada transaksi tersebut adalah pembuktian kepemilikan dompet. Transaksi (respons, setiap pembacaan berikutnya, dan setiap webhook) memuat sesi ini dalam blok kanonis action_required:
remediation dipertahankan untuk kompatibilitas mundur. action_required adalah blok kanonis, dan blok ini juga memuat tindakan wallet_ownership untuk transfer Travel Rule. Tindakan wallet_ownership tidak mengubah status transaksi dengan sendirinya. Transaksi tetap mempertahankan status yang diberikan aturan Anda, sering kali APPROVED, jadi periksa action_required pada setiap respons, bukan hanya saat AWAITING_USER. Pengguna menyelesaikan verifikasi. Untuk alur kerja Autentikasi Biometrik, pengguna mengambil swafoto yang telah melalui Deteksi Liveness dan dicocokkan dengan wajah yang diambil saat onboarding KYC awal mereka. Ini adalah langkah tambahan paling kuat untuk transaksi bernilai tinggi. Setelah sesi mencapai keputusan, transaksi mengikutinya secara otomatis: APPROVED (decision_reason_code: user_action_approved), DECLINED (user_action_declined), atau IN_REVIEW (user_action_in_review). Webhook transaction.status.updated kemudian dipicu.
Jenis alur kerja apa pun selain KYB dapat dipilih. Alur kerja Autentikasi Biometrik (dan alur kerja yang menjalankan Pencocokan Wajah sebelum Verifikasi Identitas) mensyaratkan subjek sudah memiliki wajah referensi yang tersimpan dari verifikasi yang disetujui. Pengguna yang belum memiliki wajah referensi diarahkan ke alur kerja default aplikasi Anda, dengan catatan pada transaksi yang mencatat penggantian ini.

Praktik terbaik

Batas laju

Lihat pembatasan laju. Pembuatan transaksi adalah salah satu endpoint dengan kapasitas pemrosesan tertinggi; batas tipikalnya berada di kisaran ratusan permintaan per detik. Berhati-hatilah saat mengirim permintaan dalam lonjakan.

Langkah berikutnya

Transaksi

Referensi payload lengkap.

Aturan

Cara aturan dievaluasi.

Webhook

Katalog event.

Pemecahan masalah

Masalah integrasi yang umum.
Terakhir diubah pada 7 November 2026