Lewati ke konten utama

Kode error

Halaman ini adalah sumber kebenaran tunggal untuk penanganan error. Kode error khusus SDK didokumentasikan di halaman Error handling masing-masing SDK; halaman ini mencakup error di tingkat kontrak API.

Kode status HTTP

KodeArtiBerlaku di mana
200 OKPermintaan berhasil.Semua kontrak.
201 CreatedResource dibuat (jarang; sebagian besar pembuatan mengembalikan 200).Kontrak API.
400 Bad RequestPayload tidak valid atau field yang diperlukan tidak ada. Body mengidentifikasi field yang bermasalah.Semua kontrak.
401 UnauthorizedAutentikasi tidak ada, kedaluwarsa, atau tidak valid.Semua kontrak.
403 ForbiddenAutentikasi valid tetapi tenant tidak diaktifkan untuk resource yang diminta (misalnya, memanggil kemampuan yang tidak ada dalam APIKEY Anda).Web & SDK, API.
404 Not FoundResource tidak ada atau tidak milik tenant yang terautentikasi.Semua kontrak.
409 ConflictResource ada tetapi tidak dalam status yang tepat untuk operasi ini (misalnya, mengambil dokumen dari proses yang masih berlangsung).Web & SDK, API.
410 GoneResource pernah ada tetapi dihapus sesuai kebijakan retensi (endpoint pengambilan dokumen), atau proses ada tetapi berakhir dalam kondisi error — lihat Dapatkan Proses.Endpoint pengambilan dokumen; API Dapatkan Proses.
429 Too Many RequestsAnda mencapai rate limit. Coba ulang dengan exponential backoff.Semua kontrak.
5xxError platform. Coba ulang dengan backoff; jika persisten, hubungi dukungan dengan response body dan timestamp.Semua kontrak.

Error autentikasi (401)

PenyebabGejala
Private key salah (assertion ditandatangani dengan key yang salah)401, Authentication failed (1.2.21)
aud tidak sesuai dengan URL environment401
Klaim exp sudah lewat401, Authentication failed
Algoritma tidak didukung (gunakan RS256)401
Campuran kredensial sandbox / production401, meskipun kredensial terlihat benar
Header APIKEY tidak ada (hanya kontrak API)401
x-api-key tidak valid (hanya Magic Link)401

Lihat Authentication > Common errors untuk daftar pemecahan masalah lengkap.

Hasil tingkat kemampuan (200 dengan hasil negatif)

200 OK tidak berarti pengguna lulus verifikasi — artinya platform menyelesaikan pekerjaan. Keputusan yang menghadap pengguna berada di response body, bukan status HTTP:

FieldNilai negatifMuncul di mana
process.resultPROCESS_RESULT_FAILEDWeb & SDK
process.authenticationInfo.livenessResultNOWeb & SDK
liveness2API
unicoId.resultnoAPI
data.result.statusnot_verifiedMagic Link

Kebijakan retry

StatusHarus dicoba ulang?Cara
5xxYaExponential backoff (1s, 2s, 4s, 8s, …). Batasi hingga 5 percobaan.
429YaPatuhi header Retry-After jika ada; jika tidak, gunakan exponential backoff.
4xx (lainnya)TidakPermintaan salah. Perbaiki input sebelum mencoba ulang.
401KondisionalRefresh access token sekali. Jika permintaan baru juga mengembalikan 401, masalahnya struktural — jangan coba ulang.
Idempotency

Platform IDCloud saat ini tidak mengekspos mekanisme idempotency-key pada endpoint pembuatan. Berhati-hatilah saat mencoba ulang POST /client/v1/process atau POST /processes/v1 — error jaringan pada 5xx mungkin sudah berhasil di sisi server, dan percobaan ulang akan membuat proses duplikat. Jika ragu, ambil proses terbaru berdasarkan ID korelasi internal Anda sebelum mencoba ulang.

Di mana error SDK berada

Katalog error Web SDK, Android SDK, iOS SDK, dan Flutter SDK didokumentasikan di halaman Error handling khusus masing-masing SDK:

Ini mencakup error di sisi perangkat (izin kamera ditolak, timeout pengambilan, jaringan tidak dapat dijangkau di perangkat) — terpisah dari error di sisi API yang didokumentasikan di sini.