Lewati ke konten utama

Verifikasi Usia

Untuk alur integrasi lengkap, lihat Gambaran Umum API.

Endpoint

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

Permintaan

Header
HeaderNilai
AuthorizationBearer <access_token> (lihat Autentikasi)
APIKEYAPI key yang telah disediakan — harus memiliki kemampuan Verifikasi Usia yang diaktifkan.
Content-Typeapplication/json
Parameter body
KolomTipeWajibDeskripsi
subjectobjectyaKontainer informasi pengguna.
subject.codestringkondisionalCPF (BR) atau CURP (MX), tanpa pemformatan. Wajib diisi ketika alur menyertakan Deteksi Kehidupan atau Verifikasi Identitas (lihat kemampuan Verifikasi Usia); tidak wajib untuk alur khusus Verifikasi Usia saja.
subject.namestringtidakNama lengkap pengguna.
subject.genderstringtidakM untuk laki-laki atau F untuk perempuan.
subject.birthDatestring (ISO 8601)tidakTanggal lahir (YYYY-MM-DD).
subject.emailstringtidakAlamat email pengguna.
subject.phonestringtidakNomor telepon: kode negara + kode area + nomor, tanpa pemisah (mis. 5519725570707).
useCasestringtidakPengidentifikasi use case operasi.
subsidiaryIdstringtidakID cabang — hanya wajib jika ada beberapa cabang.
imageBase64stringyaOutput SDK terenkripsi atau gambar base64 (PNG, JPEG, WebP).
Persyaratan gambar
  • Resolusi minimum: 640 × 480 (standar HD)
  • Ukuran file maksimum: 800 KB (kompresi JPEG92 disarankan)
  • Token JWT dari SDK kedaluwarsa setelah 10 menit dan hanya dapat digunakan satu kali

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": {
"code": "12345678909",
"name": "Luke Skywalker",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "AgeVerification",
"imageBase64": "/9j/4AAQSkZJR..."
}'

Respons

200 OK

Kolom respons yang dikembalikan bergantung pada kemampuan mana yang diaktifkan untuk APIKEY Anda.

Hanya Verifikasi Usia (tanpa Deteksi Kehidupan, tanpa Verifikasi Identitas):

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idAge": { "result": "yes" }
}

Verifikasi Usia + Deteksi Kehidupan + Verifikasi Identitas:

{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"idAge": { "result": "yes" },
"liveness": 1
}
KolomTipeDeskripsi
idstring (UUID)Pengidentifikasi proses. Gunakan dengan Dapatkan Proses untuk kueri ulang.
statusinteger3 (selesai dengan sukses), 5 (error). Hanya gunakan status = 3 untuk keputusan bisnis. Untuk semua nilai yang mungkin, lihat Dapatkan Proses.
idAge.resultstringyes, no, inconclusive — Hasil Verifikasi Usia. Selalu ada dalam semua respons.
unicoId.resultstringyes, no, inconclusive — hanya ada ketika Verifikasi Identitas diaktifkan.
livenessinteger1 (lulus), 2 (gagal) — hanya ada ketika Deteksi Kehidupan diaktifkan.
400 Bad Request

Payload tidak valid, gambar tidak valid, atau kolom yang wajib diisi tidak ada.

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. Coba lagi setelah interval yang ditunjukkan dalam header respons Retry-After. Lihat Batas rate.

500 Internal Server Error

Error server yang tidak terduga.

Kode Error

KodePesanDeskripsi
20900O base64 informado não é válido.Parameter base64 tidak valid; kemungkinan masalah gambar atau injeksi.
20807A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.Resolusi gambar di bawah ambang minimum.
20509The subject.name field is invalid.subject.name mengandung karakter yang tidak valid.
20508The subject.gender field is invalid.subject.gender harus M atau F.
20507O parâmetro subject.code é inválido.Nilai pengidentifikasi tidak valid atau tidak ada. Hanya muncul saat Deteksi Kehidupan atau Verifikasi Identitas disertakan dalam alur — tidak wajib untuk alur khusus Verifikasi Usia saja.
20506O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.Payload melebihi 800 KB; kompres ke JPEG92.
20505O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Format tidak didukung atau awalan base64 tidak valid.
20062The useCase field is invalid.Nilai tidak dikenal dalam kolom useCase.
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 berada 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.
20005O parâmetro subject.code não foi informado.Parameter subject.code tidak ada. Hanya muncul saat Deteksi Kehidupan atau Verifikasi Identitas disertakan dalam alur — tidak wajib untuk alur khusus Verifikasi Usia saja.
20004O parâmetro subject não foi informado.Objek subject tidak ada.
20003The request body is missing or invalid.Payload null atau tidak valid.
20002O parâmetro APIKey não foi informado.Header APIKEY tidak ada.
20001O parâmetro authtoken não foi informado.Header token autentikasi tidak ada.
10508The JWT with the captured face has already been used.JWT hanya dapat digunakan satu kali.
10507The JWT with the captured face is expired.JWT melebihi jendela validitas 10 menit.
10506The imageBase64 field is not a valid JWT from SDK.imageBase64 bukan JWT yang valid yang dihasilkan oleh SDK.

Langkah selanjutnya