Lewati ke konten utama

Simulasikan Hasil (Test Mock)

MarkdownChatGPTClaude

Di sandbox, Anda dapat mensimulasikan hasil proses tanpa bergantung pada pengambilan biometrik sungguhan. Tambahkan field expected_result ke body permintaan Buat Proses — sisa integrasi (rendering SDK, pengambilan biometrik, Dapatkan Proses) tetap persis sama seperti flow sungguhan.

Mock ini tidak melewatkan langkah pengambilan biometrik. Pengguna (atau skrip pengujian Anda) tetap perlu menyelesaikan flow normal — yang berubah adalah, setelah selesai, proses mengembalikan nilai yang ditentukan dalam expected_result, bukan hasil evaluasi sungguhan.

Setiap flow hanya menerima salah satu dari dua format di bawah ini, tergantung bagaimana flow tersebut dikonfigurasi:

FormatKapan digunakan
id_cloud_one_resultFlow yang mengembalikan hasil tunggal (disetujui, ditolak, risiko tinggi, dst.)
authentication_infoFlow yang mengembalikan sinyal individual (UnicoId, Trust, Liveness, IdAge, IdFace...)

Mengirim format yang tidak sesuai dengan flow Anda, atau mengirim keduanya sekaligus, akan menghasilkan error — lihat Error.

Endpoint​

LingkunganURL
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Mock ini hanya tersedia di sandbox. Di production, field expected_result akan ditolak.

Hasil tunggal — id_cloud_one_result

Gunakan ini ketika flow Anda mengembalikan hasil tunggal bergaya persetujuan.

Parameter body

FieldTipeWajibDeskripsi
expected_result.​id_cloud_one_resultstringyaHasil tunggal yang akan disimulasikan. Harus berupa hasil yang benar-benar dihasilkan oleh flow Anda — periksa konfigurasi flow Anda untuk hasil yang dikenalinya.

Contoh​

curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"id_cloud_one_result": "PROCESS_RESULT_APPROVED"
}
// ... parameter lainnya sama dengan yang digunakan pada panggilan Buat Proses sungguhan
}'

Respons (200 OK)​

{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDCHECK"],
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}

simulated: true menandai proses ini sebagai memiliki hasil simulasi, bukan evaluasi sungguhan.

Nilai yang memungkinkan untuk id_cloud_one_result sama dengan nilai hasil proses yang didokumentasikan di Menafsirkan hasil — hanya kirim hasil yang benar-benar dikenali oleh flow Anda.

BrazilSinyal individual — authentication_info

Gunakan ini ketika flow Anda mengembalikan sinyal terpisah, bukan hasil tunggal.

Setiap sinyal yang biasanya dikembalikan oleh flow Anda harus ada di authentication_info. Mengirim hanya sebagian akan ditolak — Anda tidak dapat mem-mock satu sinyal dan membiarkan sisanya menggunakan evaluasi sungguhan.

trust_result vs. identity_fraudsters_result

trust_result dan identity_fraudsters_result merepresentasikan sinyal yang sama (indikasi penipuan identitas): trust_result mencakup sisi negatif, identity_fraudsters_result sisi positif. Gunakan salah satu yang sesuai dengan hasil yang ingin Anda simulasikan.

Untuk nilai yang memungkinkan pada setiap field, lihat Hasil kapabilitas dalam authenticationInfo.

Flow frictionless tidak didukung dalam format ini — lihat Sinyal tidak didukung.

Contoh​

curl -X POST https://api.idcloud.uat.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"expected_result": {
"authentication_info": {
"authentication_result": "AUTHENTICATION_RESULT_POSITIVE",
"liveness_result": "LIVENESS_RESULT_LIVE",
"id_age_result": "ID_AGE_RESULT_POSITIVE"
}
}
// ... parameter lainnya sama dengan yang digunakan pada panggilan Buat Proses sungguhan
}'

Respons (200 OK)​

{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"flow": "your-sandbox-flow",
"simulated": true,
"capacities": ["PROCESS_CAPACITY_IDUNICO", "PROCESS_CAPACITY_IDAGE"],
"authenticationInfo": {
"authenticationResult": "AUTHENTICATION_RESULT_POSITIVE",
"livenessResult": "LIVENESS_RESULT_LIVE",
"idAgeResult": "ID_AGE_RESULT_POSITIVE"
},
"person": { "duiType": "DUI_TYPE_BR_CPF", "duiValue": "12345678909" }
}
}

Sinyal tidak didukung​

Sinyal di bawah ini tidak didukung oleh mock, dalam format apa pun:

  • multi_accounts
  • data_mismatch
  • serial_fraudster
  • smart_revalidation_result
  • passkey_result (sudah usang)

Flow frictionless (autentikasi tanpa pengambilan biometrik) hanya didukung dalam format id_cloud_one_result — tidak berfungsi dengan authentication_info.

Catatan tentang respons​

Skor hanya dikembalikan ketika hasil identitas tidak meyakinkan (inconclusive). Field score_engine_result hanya mencerminkan nilai ketika authentication_result adalah AUTHENTICATION_RESULT_INCONCLUSIVE. Jika Anda mem-mock authentication_result sebagai POSITIVE atau NEGATIVE bersamaan dengan score_engine_result yang bukan nol, respons akhir mengembalikan score_enabled: SCORE_ENABLED_FALSE dan score: 0, terlepas dari nilai yang dikirim.

Ini adalah perilaku normal API — aturan yang sama berlaku untuk proses sungguhan, tidak spesifik untuk mock. Jika skenario yang ingin Anda uji bergantung pada munculnya skor dalam respons, gunakan authentication_result: AUTHENTICATION_RESULT_INCONCLUSIVE.

Error​

SituasiError
expected_result di luar sandboxPERMISSION_DENIED
id_cloud_one_result dan authentication_info dikirim bersamaanINVALID_ARGUMENT
authentication_info: {} kosongINVALID_ARGUMENT
authentication_info tidak menyertakan sinyal yang dikembalikan oleh flowError validasi — sertakan setiap sinyal
Nilai id_cloud_one_result yang tidak dikenali oleh flowError validasi
flow tidak mendukung mockingError validasi

Selanjutnya​

Setelah membuat proses yang di-mock, selesaikan pengambilan biometrik secara normal dan gunakan Dapatkan Proses untuk mengambil hasil yang di-mock.