Menguji di sandbox tanpa menghabiskan kredit
Sandbox adalah mode per application di mana setiap penyedia layanan disimulasikan, tidak ada yang ditagih, dan Anda bisa memaksa hasil verifikasi apa pun yang Anda butuhkan - approved, declined, atau in review.
Sandbox adalah mode pada sebuah application, bukan saklar di dalam application live Anda. Buat sebuah application kedua dalam mode sandbox, gunakan API key-nya, dan setiap pemeriksaan akan disimulasikan, tidak ada yang ditagih, dan Anda bisa memaksa hasil apa pun yang Anda inginkan. Jika Anda hanya melihat satu application produksi, Anda perlu membuat application sandbox - mode ini dipilih per application.
Sandbox milik Didit setara dengan kartu uji coba dari penyedia pembayaran: memungkinkan Anda mereproduksi hasil verifikasi apa pun sesuai permintaan, tanpa memanggil penyedia layanan sungguhan, menangani data pribadi sungguhan, atau menyentuh saldo Anda.
#Sandbox adalah mode pada sebuah application
Ini adalah bagian yang paling sering membingungkan kebanyakan orang. Live dan sandbox adalah application yang terpisah di dalam organisasi yang sama, sehingga trafik uji coba dan data produksi tidak pernah tercampur. Setiap application memiliki mode live atau sandbox.

- Sebuah key hanya milik satu application - key milik app sandbox tidak bisa menyentuh session live.
- Buat key terpisah untuk pengujian, bukan memakai ulang key live.
- Buat application kedua
Di konsol, buka pemilih application di bagian atas dan buat application baru. Pilih sandbox sebagai modenya.
- Gunakan API key dari application itu
Ambil API key dari API & Webhooks saat application sandbox sedang dipilih. Tidak ada "key uji coba" terpisah pada sebuah application live - key itu sendiri adalah lingkungannya.
- Bangun workflow di dalamnya
Application sandbox memiliki workflow-nya sendiri. Bangun ulang (atau salin) alur yang ingin Anda uji.
- Buat session seperti biasa
Endpoint yang sama, jalur kode yang sama. Satu-satunya perbedaan adalah key mana yang Anda kirimkan.
Jika konsol Anda hanya menampilkan satu application produksi dan tidak ada cara menambahkan application sandbox, minta tim support untuk mengaktifkan pembuatan application sandbox untuk organisasi Anda - itu adalah pengaturan tingkat akun, bukan sesuatu yang salah Anda konfigurasikan.
#Apa yang diubah sandbox, dan apa yang tidak
| Sandbox | Live | |
|---|---|---|
| Penyedia eksternal | Semua disimulasikan - tidak ada pihak ketiga yang benar-benar dipanggil | Sungguhan |
| Penagihan | Tidak pernah ditagih; pemeriksaan saldo dilewati | Ditagih per feature yang selesai |
| Batas pembuatan session | 500 per 24 jam, per application | Saldo Anda |
| Payload webhook | "environment": "sandbox" | "environment": "live" |
| Data yang diekstrak dan status | Disimulasikan oleh skenario yang Anda pilih | Diturunkan dari pengambilan gambar sungguhan |
| Media yang direkam | Disimpan secara nyata, persis seperti session live | Disimpan |
Sandbox menyimpan media yang direkamnya - dokumen, swafoto, video liveness, file bukti alamat - persis seperti session live. Hasilnya yang disimulasikan, tetapi unggahannya nyata, jadi gunakan dokumen contoh dan data uji coba yang disediakan alur tersebut, bukan dokumen identitas sungguhan atau informasi pribadi sungguhan.
Karena hasil tidak pernah bergantung pada piksel gambar, foto yang sengaja dibuat buruk tidak akan menghasilkan decline di sandbox. Skenario yang menentukan.
#Memilih hasil
Kirim slug skenario sebagai sandbox_scenario saat Anda membuat session, atau biarkan penguji memilihnya sendiri: session sandbox dalam alur yang di-hosting menampilkan pemilih skenario di dalam kartu sebelum pengambilan gambar dimulai, ditambah deretan dokumen contoh di bawah komponen unggah dan sebuah banner "hanya data uji coba" yang selalu tampil.
Skenario-skenario ini mencakup hasil-hasil yang benar-benar Anda butuhkan untuk pengujian:
| Ingin menguji | Skenario |
|---|---|
| Semua disetujui | approve |
| Dokumen kedaluwarsa | decline_document_expired |
| Dokumen tidak terbaca | decline_could_not_recognize_document |
| Kegagalan checksum MRZ | decline_mrz_validation |
| Di bawah usia minimum | decline_minimum_age |
| Pencocokan wajah terlalu rendah | decline_face_match_low_similarity |
| Serangan presentasi pada liveness | decline_liveness_attack |
| Hit sanksi / PEP AML | decline_aml_hit |
| Alamat IP diblokir | decline_ip_blocklist |
| Ketidaksesuaian alamat pada bukti alamat | decline_poa_address_mismatch |
| Chip NFC gagal integritas | decline_nfc_chip_not_verified |
| Validasi database tidak menemukan apa pun | decline_database_no_match |
| Perlu tinjauan manual (AML) | review_aml_possible_match |
| Perlu tinjauan manual (pencocokan wajah ambang batas) | review_face_match_borderline |
| Perlu tinjauan manual (kecocokan alamat sebagian) | review_poa_partial_match |
| Ketidaksesuaian registri KYB | decline_kyb_registry_mismatch |
Skenario review_* ada agar Anda bisa menguji seluruh jalur tinjauan manual - antrean tinjauan konsol, webhook In Review, reviewer yang menyetujui atau meminta resubmission - tanpa perlu input bertaraf decline.
Katalog skenario dan nilai ajaib yang aktif disajikan oleh API itu sendiri di
GET /v1/sandbox/scenarios/. Jika sebuah slug di sini terlihat sudah usang, percayakan pada endpoint tersebut.
Referensi lengkap: pengujian sandbox.
#Membedakan keduanya di kode Anda sendiri
Setiap webhook membawa field environment - "sandbox" atau "live". Cabangkan logika Anda berdasarkan itu daripada mencoba menyimpulkan lingkungan dari key-nya, dan Anda tidak akan pernah salah mengira session uji coba sebagai pelanggan sungguhan.
#Yang tidak akan dilakukan sandbox
- Sandbox tidak akan mengembalikan data registri sungguhan untuk perusahaan sungguhan. KYB sandbox menggunakan respons registri yang disimulasikan.
- Sandbox tidak akan mengirim SMS atau email sungguhan. Verifikasi telepon dan email disimulasikan, sehingga Anda tidak bisa memakai sandbox untuk melihat pratinjau keterkiriman pesan sungguhan.
- Sandbox tidak akan memakai kuota gratis bulanan Anda - yang juga berarti menjalankan sandbox tidak memberi tahu Anda apa pun tentang sisa pemeriksaan gratis Anda.
#Jika Anda memerlukan verifikasi uji coba sungguhan
Beberapa hal memang membutuhkan panggilan live sungguhan - memeriksa apakah layanan database sebuah negara tertentu sudah tersedia untuk Anda, atau mengonfirmasi pengiriman SMS ke operator tertentu. Itu membutuhkan top up kecil pada application live, bukan sandbox. Tanyakan pada tim support sebelum mengeluarkan biaya untuk itu, agar mereka bisa memastikan dulu bahwa layanan tersebut benar-benar aktif di akun Anda.
