# Menguji di sandbox tanpa menghabiskan kredit

Source: https://help.didit.me/id/getting-started/sandbox-and-testing
Updated: 2026-10-12

Pilih Sandbox melalui tombol di bawah nama aplikasi, buat API key sandbox, lalu gunakan. Pemeriksaan disimulasikan, tidak ditagih, dan hasilnya bisa Anda pilih.

Pilih **Sandbox** melalui tombol di bawah nama aplikasi, buat API key sandbox, lalu gunakan. Pemeriksaan disimulasikan, tidak ditagih, dan hasilnya bisa Anda pilih.

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.

## Lingkungan pengujian terpisah

Sandbox adalah aplikasi pengujian bersama organisasi Anda. Data, kunci, webhook, dan daftarnya terpisah dari Live. Pita di bagian atas setiap halaman menandai lingkungan Sandbox.

![Konsol Didit: Menguji di sandbox tanpa menghabiskan kredit](https://help.didit.me/screenshots/api-keys-light.webp)

*Kunci terikat pada aplikasi, sehingga kunci sandbox tidak dapat mengakses data live.*

1. **Beralih ke Sandbox**

   Klik **Sandbox** di bawah nama aplikasi. Sebelum kembali ke **Live**, periksa daftar publikasi alur kerja, kunci atau tautan live, webhook, pembayaran, dan retensi data; lalu konfirmasi atau tetap di Sandbox.

2. **Buat kunci sandbox**

   Buka **Pengembang → Kunci API** dan pilih Sandbox saat membuat kunci. Kunci menentukan lingkungan; kunci live tidak membuat sesi sandbox.

3. **Buat atau salin alur kerja**

   Sandbox memiliki alur kerja sendiri. Buat alur pengujian atau salin dari Live.

4. **Buat session seperti biasa**

   Endpoint yang sama, jalur kode yang sama. Satu-satunya perbedaan adalah key mana yang Anda kirimkan.

> **Note:** Jika **Sandbox** nonaktif, organisasi belum memiliki aplikasi pengujian. Minta dukungan mengaktifkannya; ini pengaturan akun.

## 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 |

> **Warning:** 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.

> **Tip:** 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](https://docs.didit.me/integration/sandbox-testing).

## 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 kredit paket bulanan Anda - yang juga berarti menjalankan sandbox tidak memberi tahu Anda apa pun tentang sisa kredit 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.
