Lewati ke konten utama

Buat Proses

Endpoint ini menangani dua use case yang berbagi path yang sama tetapi berbeda dalam parameter body, kapabilitas, dan field respons:

  • Integrasi — memvalidasi siapa pengguna tersebut dengan membandingkan wajah mereka dengan basis identitas Unico (subject.duiType + subject.code diperlukan).
  • Transaksional — memverifikasi bahwa ini adalah orang yang sama dari proses sebelumnya dengan membandingkan wajah-dengan-wajah (referenceProcessId ATAU array references dengan selfie / process id diperlukan).

Use case aktif ditentukan oleh APIKEY yang dikirim di header permintaan.

Untuk alur integrasi lengkap, lihat Ringkasan API.

Endpoint

LingkunganURL
ProductionPOST https://api.id.unico.app/processes/v1
SandboxPOST https://api.id.uat.unico.app/processes/v1

Permintaan

Headers
HeaderNilai
AuthorizationBearer <access_token> (lihat Autentikasi)
APIKEYAPI key yang telah disediakan — menentukan use case aktif dan kapabilitas yang diaktifkan.
Content-Typeapplication/json
Parameter body
FieldTipeWajibDeskripsi
subject.duiTypeintegeryaPengidentifikasi tipe dokumen. Lihat nilai duiType di bawah.
subject.codestringyaNilai pengenal sebagaimana didefinisikan oleh subject.duiType. Tanpa titik atau tanda hubung.
subject.namestringtidakNama lengkap.
subject.genderstringtidakM atau F.
subject.birthDatestring (ISO 8601)tidakTanggal lahir (YYYY-MM-DD).
subject.emailstringtidakAlamat email.
subject.phonestringtidakNomor telepon E.164.
useCasestringtidakKonteks operasi, misalnya Onboarding.
subsidiaryIdstringtidakID cabang — diperlukan hanya jika terdapat beberapa cabang.
imageBase64stringyaSelfie yang ditangkap oleh front-end Anda, dalam base64.
Nilai duiType
NegaraKodeDeskripsi
BR1CPF Brasil
BR5Paspor Brasil
MX2CURP Meksiko
AR6Paspor Argentina
AR7DNI Argentina
US4SSN Amerika Serikat
US11Paspor Amerika Serikat
US18SIM Amerika Serikat
ID16NIK Indonesia
NG8NIN Nigeria
CL9RUN Chili
EC10NI Ekuador
GT12CUI Guatemala
UY13CI Uruguay
ZZ15Alamat email
ZZ17Nomor telepon
MX25RFC Meksiko (Perorangan)
CO26NIT Kolombia
PE27RUC Peru
CA28SIN Kanada
DK29CPR Denmark
GB30Nomor Asuransi Nasional Inggris (NINO)
PL31PESEL Polandia
SE32Nomor Pribadi Swedia (PNR)
AT34Nomor Pajak Austria (STNR)
FI35Kode Identitas Pribadi Finlandia (HETU)
0Tidak ditentukan
3Pengidentifikasi internal Unico
Persyaratan gambar
  • Resolusi minimum: 640 x 480 (standar HD)
  • Ukuran file maksimum: 800 KB (kompresi JPEG92 disarankan)
  • Format yang diterima: PNG, JPEG, WebP
  • Token JWT dari SDK kedaluwarsa setelah 10 menit dan hanya dapat digunakan sekali

Contoh

curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"imageBase64": "/9j/4AAQSkZJR..."
}'

Respons

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"riskLevel": { "result": "inconclusive" },
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"government": { "serpro": 87 },
"liveness": 1
}
Field respons bergantung pada APIKey Anda

Contoh di atas menampilkan semua kemungkinan field kapabilitas. Respons aktual Anda hanya akan menyertakan field untuk kapabilitas yang diaktifkan dalam konfigurasi APIKey Anda — field untuk kapabilitas yang dinonaktifkan tidak disertakan sama sekali. Hubungi manajer proyek Unico Anda untuk mengaktifkan atau menyesuaikan kapabilitas.

FieldTipeDeskripsi
idstring (UUID)Identifier proses. Gunakan dengan Dapatkan Proses untuk kueri ulang.
statusinteger1 (memproses), 3 (selesai dengan sukses), 5 (error).
unicoId.resultstringyes, no, inconclusive — lihat Verifikasi Identitas.
riskLevel.resultstringapproved, reproved, risk-critical, risk-high, inconclusive — lihat nilai yang mungkin di bawah atau Klasifikasi Risiko Penipuan.
idFace.resultstringFOUND, NOT_FOUND — lihat Pengidentifikasi Wajah.
idFace.personIdstringPengidentifikasi opak stabil untuk wajah. Hanya ada ketika idFace.result = FOUND.
identityFraudsters.resultstringTidak digunakan lagi. Gunakan riskLevel sebagai gantinya. Klien dengan integrasi yang sedang berjalan dapat terus menggunakannya sambil mengoordinasikan migrasi dengan tim proyek yang bertanggung jawab.
government.serprointegerSkor kemiripan Serpro (0–100, -1, -2). Tersedia di Brasil saja. Lihat Hasil Kemiripan Serpro.
livenessinteger1 (lulus), 2 (gagal) — lihat Deteksi Kehidupan.
riskLevel.result — nilai yang mungkin
NilaiMakna
approvedIni adalah wajah pemegang ID, dan tidak ditemukan bukti terkait penipuan.
reprovedPenolakan direkomendasikan, karena beberapa indikator penipuan terdeteksi.
risk-criticalPenolakan direkomendasikan, namun keputusan akhir ada pada kebijaksanaan Anda. Risiko kritis menunjukkan bahwa kami menemukan setidaknya 2 bukti kuat adanya penipuan.
risk-highPenolakan juga direkomendasikan, namun keputusan tetap ada pada Anda. Risiko tinggi menunjukkan bahwa kami menemukan setidaknya satu bukti kuat adanya penipuan.
inconclusiveTidak ditemukan bukti kuat adanya penipuan. Oleh karena itu, tidak dapat disimpulkan apakah terdapat risiko yang relevan atau tidak.
informasi

Ketika unicoId.result = inconclusive dan orkestrasi Skor Risiko aktif, proses mungkin mengembalikan status: 1 (memproses). Poll Dapatkan Proses atau gunakan webhook untuk mengambil hasil akhir.

400 Bad Request

Payload salah format, gambar tidak valid, atau field wajib tidak ada. Lihat Kode Error di bawah.

403 Forbidden

Bearer token atau APIKEY tidak ada, kedaluwarsa, atau tidak valid. Lihat Autentikasi.

409 Conflict

processId yang diberikan sudah ada untuk tenant ini. Lihat Kode Error di bawah.

429 Too Many Requests

Batas rate tercapai. Ketika sistem Anda menerima error HTTP 429, Anda harus menerapkan mekanisme untuk mencegah kegagalan berantai dan menghindari memperburuk pembatasan.

Praktik terbaik:

  • Periode pendinginan (backoff): Segera hentikan atau batasi permintaan berikutnya dari sistem Anda. Jangan terus-menerus mencoba ulang permintaan yang gagal dalam loop ketat.
  • Antrian & pembatasan: Buffer atau antrikan permintaan keluar di sisi Anda untuk mengontrol aliran lalu lintas sebelum mengirimnya kembali.
  • Exponential backoff dengan jitter: Saat mencoba ulang, tingkatkan waktu tunggu secara eksponensial antar percobaan (misalnya, 1 detik, 2 detik, 4 detik, 8 detik) dan tambahkan penundaan acak kecil ("jitter") untuk mencegah efek kawanan di mana semua permintaan yang diantrikan mencoba ulang pada milidetik yang sama persis.
peringatan

Terus-menerus menghubungi endpoint yang dibatasi rate tanpa melakukan backoff dapat memperpanjang periode pembatasan dan sangat memengaruhi throughput operasional sistem Anda. Pembatasan permintaan yang tepat di sisi Anda memastikan integrasi yang lebih lancar dan lebih tangguh.

Untuk batas default, peningkatan permintaan, dan detail tambahan, lihat Rate Limits.

Kode Error

CodeMessageDeskripsi
20900O base64 informado não é válido.Parameter base64 tidak valid. Kemungkinan penyebab: bukan gambar atau percobaan injeksi.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.Resolusi gambar yang diunggah terlalu rendah.
20513The referenced process was not found.referenceProcessId menunjuk ke proses yang tidak ada atau tidak lagi dapat diakses.
20512The referenced process is not available for reuse.Proses referensi ada tetapi tidak tersedia untuk digunakan kembali.
20509The subject.name field is invalid.subject.name mengandung karakter tidak valid.
20508The subject.gender field is invalid.subject.gender harus M atau F.
20507O parâmetro subject.code é inválido.CPF tidak standar atau tidak ada.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.Ukuran gambar melebihi 800 KB; kompres ke JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Format base64 tidak valid atau tidak didukung.
20065The referenceProcessId field is invalid.referenceProcessId bukan UUID yang valid.
20062The useCase field is invalid.Nilai yang tidak dikenali di field useCase.
20024The referenceProcessId field is missing.Parameter referenceProcessId tidak diberikan dan references tidak dikirim sebagai alternatif.
20021The subject.phone field is invalid.Format subject.phone tidak valid (IDD + kode area + nomor, 13 karakter).
20019The subject.birthDate field is invalid.subject.birthDate di luar format ISO 8601 (YYYY-MM-DD).
20009O parâmetro imagebase64 não foi informado.Parameter gambar selfie tidak ada.
20008The subject.email field is invalid.Format email tidak valid di subject.email.
20006O parâmetro subject.name não foi informado.Parameter subject.name tidak ada.
20005O parâmetro subject.code não foi informado.Parameter subject.code tidak ada.
20004O parâmetro subject não foi informado.Parameter subject tidak ada.
20003The request body is missing or invalid.Payload null atau tidak valid.
20002O parâmetro APIKey não foi informado.Parameter APIKEY tidak ada di header permintaan.
20001O parâmetro authtoken não foi informado.Parameter token integrasi tidak ada di header permintaan.
10508The JWT with the captured face has already been used.JWT hanya dapat digunakan sekali.
10507The JWT with the captured face is expired.JWT kedaluwarsa; harus dikirim dalam 10 menit.
10506The imageBase64 field is not a valid JWT from SDK.imageBase64 bukan JWT valid yang dihasilkan oleh SDK.

Selanjutnya

  • Untuk melihat kueri hasil proses Integrasi, lihat Dapatkan Proses.
  • Untuk operasi Dokumen dan Verifikasi Usia, lihat halaman masing-masing di bagian ini.