Langsung ke konten utama
POST
curl

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
transaction_id
string
wajib

Pengidentifikasi unik Anda untuk transaksi ini (maks 128 karakter).

Contoh:

"your-txn-2026-05-17-001"

transaction_category
enum<string>
wajib

Kategori transaksi. Alias CamelCase (travelRule, userPlatformEvent, gamblingBet, …) juga diterima; nilai yang disimpan/dikembalikan berupa camelCase untuk kategori multi-kata.

Opsi yang tersedia:
finance,
kyc,
travel_rule,
user_event,
audit_trail_event,
gambling_bet,
gambling_limit_change,
gambling_bonus_change,
travelRule
Contoh:

"finance"

transaction_details
object
wajib

Detail keuangan inti dari transaksi.

subject
object
wajib

Subjek (pemohon) dari transaksi.

transaction_at
string<date-time>

Kapan transaksi terjadi. Defaultnya adalah sekarang jika dihilangkan.

time_zone
string

Pengenal zona waktu IANA, misalnya Europe/Madrid.

counterparty
object

Pihak lawan dari transaksi (opsional).

custom_properties
object

Pasangan kunci-nilai arbitrer yang dilampirkan ke transaksi. Setiap kunci dapat dirujuk dalam kondisi aturan dengan jalur kolom custom_values.<key>.

Contoh:
travel_rule_details
object

Data Travel Rule. Saat Travel Rule diaktifkan dan transaction_category adalah travel_rule, Didit menjalankan pertukaran itu sendiri: mengabaikan status, protocol, required, dan obligations_count, serta menggunakan originator_data, beneficiary_data, dan metadata. Jika tidak, Didit menyimpan nilai-nilai ini sebagai catatan Travel Rule pasif. Saat Travel Rule aktif, transfer keluar pada atau di atas ambang batas Anda harus menyertakan apa yang diwajibkan oleh rezimnya (EU TFR atau Rekomendasi FATF 16), yang diperiksa pada sisi yang Anda kirim: kolom yang hilang menghasilkan respons 400 di bawah travel_rule_details.originator_data atau travel_rule_details.beneficiary_data, misalnya "EU TFR mewajibkan nama pengirim."

network_snapshot
object

Snapshot graf jaringan yang dihitung sebelumnya.

include_crypto_screening
boolean | null

Override per transaksi untuk skrining analitik blockchain kripto. Jika bernilai true, skrining kripto dilakukan terlepas dari default aplikasi. Jika bernilai false, skrining kripto dilewati meskipun diaktifkan dalam pengaturan aplikasi. Jika dihilangkan atau null, default tingkat aplikasi yang dikonfigurasikan di Console akan digunakan. Skrining kripto memerlukan transaction_details.direction, currency_kind: "crypto", rantai/mata uang, dan alamat dompet yang dipilih berdasarkan arah: skrining pra-transfer masuk menggunakan counterparty.payment_method.account_id, skrining hash transaksi masuk menggunakan subject.payment_method.account_id, dan skrining keluar menggunakan counterparty.payment_method.account_id. Jika transaction_details.payment_reference_id berisi hash transaksi blockchain, Didit melakukan skrining transaksi dan mengembalikan pengayaan ringkasan transaksi jika tersedia.

Respons

Transaksi dikirimkan dan dipantau. Isi adalah detail transaksi lengkap (bentuk yang sama dengan GET /v3/transactions/{transaction_id}/), yang mencerminkan hasil aturan apa pun yang telah diterapkan.

Catatan pemantauan lengkap untuk satu transaksi, sebagaimana dikembalikan oleh GET /v3/transactions/{transaction_id}/ dan POST /v3/transactions/.

uuid
string<uuid>

Pengenal transaksi yang stabil dari Didit. Gunakan sebagai {transaction_id} untuk panggilan tindak lanjut.

environment
enum<string>

Lingkungan aplikasi yang memiliki transaksi tersebut. Transaksi sandbox disimpan tetapi tidak pernah dievaluasi, diskrining, diberitahukan, atau ditagih, sehingga rule_runs yang kosong berarti "tidak dievaluasi".

Opsi yang tersedia:
live,
sandbox
transaction_number
integer

Nomor transaksi berurutan dalam cakupan aplikasi yang ditampilkan di Konsol (misalnya 4123).

txn_id
string

transaction_id yang Anda berikan saat dibuat (maks 128 karakter). Unik per aplikasi.

txn_date
string<date-time>

Kapan transaksi terjadi (dari transaction_at; defaultnya adalah waktu pengiriman).

zone_id
string | null

Pengenal zona waktu IANA yang diberikan saat dibuat.

transaction_type
string

Kategori tingkat atas sebagaimana disimpan: finance, kyc, travelRule, userPlatformEvent, gamblingBet, gamblingLimitChange, gamblingBonusChange, auditTrailEvent. Perhatikan bahwa nilai multi-kata dikembalikan dalam camelCase bahkan ketika dikirimkan dalam snake_case.

action_type
string

Subtipe dalam kategori tersebut (misalnya deposit, withdrawal, transfer). Default ke kategori jika tidak disediakan.

direction
enum<string>

Arah relatif terhadap subjek. Disimpan dalam huruf besar terlepas dari format huruf yang dikirim (in/out/inbound/outbound diterima sebagai input).

Opsi yang tersedia:
INBOUND,
OUTBOUND
status
enum<string>

Keputusan pemantauan saat ini. Transaksi dibuat dengan status APPROVED; aturan dapat mengubahnya menjadi IN_REVIEW/DECLINED secara sinkron.

Opsi yang tersedia:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
source
enum<string>

Bagaimana catatan berasal: LIVE untuk transaksi yang dikirimkan melalui API atau SDK, IMPORTED untuk transaksi yang dimuat melalui impor konsol.

Opsi yang tersedia:
LIVE,
IMPORTED
amount
string

Jumlah transaksi sebagai string desimal dengan nol di akhir yang dihilangkan (misalnya "1500", "0.5", "0.123456789012345678"). Hingga 18 tempat desimal.

currency
string

Kode mata uang untuk amount. Kode alfabet ISO 4217 apa pun diterima (misalnya EUR, USD, NGN), begitu pula simbol aset kripto (misalnya BTC). Sebaiknya gunakan kode yang saat ini beredar. Tidak semua kode yang diterima memiliki nilai tukar: jika tidak ada nilai tukar yang tersedia untuk kode tersebut (misalnya unit akuntansi ISO XSU, atau simbol kripto yang harganya tidak ditetapkan oleh Didit), konversi otomatis gagal dan preferred_currency_amount dikembalikan sebagai null kecuali permintaan menyertakan amount_in_default_currency yang telah dikonversi sebelumnya.

currency_type
string | null

fiat atau crypto, sebagaimana dikirimkan dalam currency_kind.

amount_in_default_currency
string | null

Jumlah yang Anda berikan setelah dikonversi sebelumnya, sebagai string desimal dengan angka nol di belakangnya dihapus.

default_currency_code
string | null
preferred_currency_amount
string | null

amount dikonversi ke mata uang pilihan aplikasi, jika tersedia.

preferred_currency_code
string | null
payment_details
string | null

Referensi atau memo pembayaran teks bebas dari pengiriman.

payment_txn_id
string | null

Referensi sistem pembayaran eksternal (misalnya hash transaksi blockchain) dari payment_reference_id.

score
integer

Skor risiko yang diakumulasikan oleh aturan (biasanya 0–100). Lebih tinggi = lebih berisiko.

severity
enum<string> | null

Tingkat keparahan risiko kategoris yang ditetapkan oleh aturan/penyedia (UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL). Bernilai null hingga ada yang menetapkannya.

Opsi yang tersedia:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

Alasan yang dapat dibaca mesin untuk status saat ini.

decision_reason_label
string | null

Label yang mudah dibaca manusia untuk decision_reason_code.

vendor_data
string | null

Salinan praktis dari vendor_data pemohon.

metadata
object

Cuplikan dari payload subject dan counterparty seperti yang dikirimkan pada waktu pembuatan.

props
object

custom_properties yang Anda berikan saat pembuatan. Setiap kunci dapat direferensikan dalam kondisi aturan sebagai custom_values.<key>.

tags
object[]

Tag yang dilampirkan ke transaksi (secara manual atau berdasarkan aturan).

parties
object[]

Pihak transaksi (pemohon, pihak lawan).

payment_methods
object[]

Metode pembayaran yang ditautkan ke transaksi.

documents
object[]

File yang dilampirkan ke transaksi dari konsol. [] jika tidak ada.

activities
object[]

Entri log aktivitas (pembuatan, catatan, peninjauan manual, perubahan status).

alerts
object[]

Selalu kosong saat ini. Alert terbuka adalah transaksi dengan status IN_REVIEW atau AWAITING_USER.

rule_runs
object[]

Hasil eksekusi per aturan — aturan mana yang terpicu, beserta dampaknya terhadap skor.

provider_results
object[]

Payload penyedia mentah (skrining AML, analitik blockchain, dll.).

travel_rule
object | null

Transfer atau pemeriksaan Travel Rule. Diisi saat travel_rule_details dikirimkan, dan juga saat Travel Rule diaktifkan dan transaksi dibuat dengan transaction_category: travelRule (Didit menginisiasi pertukaran itu sendiri, bahkan tanpa travel_rule_details). null saat tidak ada transfer atau pemeriksaan. Pada transfer masuk, originator_data dan beneficiary_data pihak lawan tetap disamarkan (data_masked: true) hingga kepemilikan dompet dikonfirmasi.

network_snapshot
object | null

Snapshot graf dari transaksi/pihak terkait yang digunakan oleh mesin aturan. Berupa network_snapshot yang dikirimkan bersama transaksi atau graf yang dibangun Didit dari skrining dompet AML yang berhasil (yang menggantikan graf yang dikirimkan). null jika keduanya tidak ada.

remediation
object | null

Sesi remediasi yang ditawarkan kepada pengguna ketika verifikasi ulang diperlukan. Digantikan oleh action_required, yang merupakan blok kanonikal; dipertahankan untuk kompatibilitas mundur.

action_required
Verification session · object

Tindakan pengguna akhir yang tertunda yang diperlukan untuk menyelesaikan transaksi ini, atau null jika tidak ada. SDK Didit meluncurkan tindakan secara otomatis secara default dan menyegarkan transaksi saat selesai. Dua varian, dibedakan berdasarkan type: verification_session (sesi verifikasi yang di-hosting yang dibuat oleh tindakan aturan) dan wallet_ownership (sesi widget kepemilikan dompet yang dibuat secara otomatis untuk transfer Travel Rule yang memerlukan bukti kendali dompet, diatur oleh pengaturan Travel Rule auto_wallet_verification). Ketika keduanya berlaku, wallet_ownership diprioritaskan karena memblokir pertukaran Travel Rule.

cost_breakdown
object | null

Biaya transaksi ini: total_price dan items, satu untuk setiap biaya, masing-masing dengan usage_type, price, details, dan created_at. Skrining ulang transaksi yang sama merupakan item baru.

Terakhir diubah pada 7 November 2026