Ambil proses yang sudah ada berdasarkan identifier-nya. Sesuai kontrak API, hasil sudah dikembalikan secara sinkron saat proses dibuat — gunakan endpoint ini untuk kueri ulang, audit, dan dukungan.
Sebelum mengambil proses, tinjau konfigurasi webhook dan strategi fallback kami — klik di sini.
Endpoint
| Lingkungan | URL |
|---|---|
| Production | GET https://api.id.unico.app/processes/v1/{processId} |
| Sandbox | GET https://api.id.uat.unico.app/processes/v1/{processId} |
Permintaan
| Header | Nilai |
|---|---|
Authorization | Bearer <access_token> |
APIKEY | API key yang telah disediakan. |
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
processId | string (UUID) | ya | Identifier proses yang dikembalikan oleh Create Process. |
Contoh
- cURL
- Node.js
curl -X GET https://api.id.unico.app/processes/v1/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.id.unico.app/processes/v1/${processId}`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
APIKEY: apiKey
}
}
);
const result = await res.json();
Respons
Kontrak ini bersifat unik — field idCloud.result membawa keputusan konsolidasi dari kapabilitas yang digunakan.
Unico mengonsolidasikan hasil dari kapabilitas yang dijalankan menjadi satu idCloud.result, siap untuk menentukan langkah berikutnya dalam alur Anda — tanpa perlu mengorkestrasi hasil individual.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
id | string (UUID) | Identifier proses. |
status | integer | 1 (memproses), 2 (perbedaan), 3 (selesai dengan sukses), 4 (dibatalkan), 5 (error). |
| idCloud.result | Arti | Tindakan yang direkomendasikan |
|---|---|---|
| approved | Orang nyata dan identitas tervalidasi. | Lanjutkan alur. |
| denied | Identitas tidak tervalidasi, pemeriksaan liveness gagal, atau risiko ekstrem teridentifikasi. | Akhiri alur atau alihkan ke alur alternatif. |
| critical-risk | Tingkat risiko kritis teridentifikasi. | Akhiri alur atau arahkan ke peninjauan manual. |
| high-risk | Tingkat risiko tinggi teridentifikasi. | Arahkan ke peninjauan manual atau alur alternatif. |
| retry | Capture atau skor tidak cukup untuk dievaluasi. | Minta pengguna melakukan capture baru. |
| inconclusive | Bukti tidak cukup untuk sebuah keputusan. | Arahkan ke peninjauan manual atau alur alternatif. |
Nilai yang dikembalikan bergantung pada recipe yang dikonfigurasi dalam APIKey Anda. Lihat Alur untuk nilai hasil yang dapat dikembalikan oleh setiap recipe.
Klien di Brasil dapat menerima respons per kapabilitasStruktur respons secara keseluruhan tetap sama — hasil tunggal adalah default-nya.

Struktur respons secara keseluruhan tetap sama — hasil tunggal adalah default-nya.
Integrasi di Brasil dapat menerima hasil per kapabilitas yang terbuka. Setiap kapabilitas yang diaktifkan di APIKey menambahkan blok tersendiri ke respons — field untuk kapabilitas yang dinonaktifkan tidak disertakan.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": {
"result": "yes"
},
"riskLevel": {
"result": "inconclusive"
},
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"identityFraudsters": {
"result": "inconclusive"
},
"government": {
"serpro": 87
},
"liveness": 1,
"idAge": {
"result": "yes"
},
"cardholderVerification": {
"result": "approved"
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
unicoId.result | string | yes, no, inconclusive — lihat Verifikasi Identitas. |
riskLevel.result | string | not_approved, critical_risk, high_risk, inconclusive — lihat Klasifikasi Risiko Penipuan. |
idFace.result | string | FOUND — lihat Pengidentifikasi Wajah. |
idFace.personId | string | Pengidentifikasi opak stabil untuk wajah, dikembalikan bersama idFace.result = FOUND. Ketika tidak ada wajah yang dapat diidentifikasi dalam gambar, proses mengembalikan error 20532 alih-alih blok idFace. |
identityFraudsters.result | string | Tidak digunakan lagi. Gunakan riskLevel sebagai gantinya. Klien dengan integrasi yang sedang berjalan dapat terus menggunakannya sambil mengoordinasikan migrasi dengan tim proyek mereka. |
government.serpro | integer | Skor kemiripan Serpro (0–100, -1, -2). Tersedia di Brasil saja. Lihat Hasil Kemiripan Serpro. |
liveness | integer | 1 (lulus), 2 (gagal) — lihat Deteksi Kehidupan. |
idAge.result | string | yes, no, inconclusive — lihat Verifikasi Usia. Tersedia di Brasil saja. |
score | integer | Skor risiko probabilistik. Muncul ketika unicoId.result = inconclusive dan orkestrasi skor risiko aktif. Nilai positif menunjukkan probabilitas lebih tinggi sebagai pemegang; nilai negatif menunjukkan risiko lebih tinggi. Tersedia di Brasil saja. |
cardholderVerification.result | string | approved, unsure — lihat Cardholder Verification. Tidak muncul selama status belum 3 (selesai). Tersedia di Brasil saja. |
Klien di Meksiko dapat menerima blok RENAPO VerificationRespons mempertahankan struktur yang sama dan menambahkan blok idGov.

Respons mempertahankan struktur yang sama dan menambahkan blok idGov.
Integrasi di Meksiko dengan RENAPO Verification aktif menerima blok idGov tambahan berisi data yang disimpan RENAPO untuk CURP pengguna. Ini adalah jawaban terpisah dari hasil identitas.
{
"id": "11111111-2222-3333-4444-555555555555",
"status": 3,
"idCloud": { "result": "approved" },
"idGov": {
"government_valid": true,
"curp": "PUEA880304MDFRJN04",
"government_name": "ANA PRUEBA EJEMPLO",
"date_of_birth": "1988-03-04",
"age": 38,
"gender": "F",
"deceased": false,
"is_mexican": true,
"citizenship": "MEXICO",
"state_of_birth": "Ciudad de México",
"state_iso": "MX-CMX",
"issuing_entity_code": "DF",
"municipality_registration": ""
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
idGov | object | Data RENAPO untuk CURP. Tidak ada jika kapabilitas tidak diaktifkan. {} jika RENAPO tidak merespons. Hanya Meksiko. Lihat RENAPO Verification. |
Kapan menggunakan endpoint ini
Kontrak API mengembalikan hasil secara sinkron, jadi sebagian besar integrasi tidak memerlukan endpoint ini. Gunakan ketika:
- Anda hanya menyimpan
processIddan perlu mengambil hasil lengkap nanti (audit, dukungan). - Anda menduga respons asli hilang dalam transit (error jaringan setelah platform menyelesaikan pekerjaan).
- Anda sedang membangun alat back-office yang meninjau proses historis.
Kode Error
- 400 Bad Request
- 404 Not Found
- 403 Forbidden
- 410 Gone
- 429 Too Many Requests
- 500 Internal Server Error
| Code | Message | Deskripsi |
|---|---|---|
20023 | O parâmetro processId não foi informado. | Parameter process id tidak ada. |
20002 | O parâmetro APIKey não foi informado. | Parameter APIKEY tidak ada di header permintaan. |
20001 | O parâmetro authtoken não foi informado. | Parameter token integrasi tidak ada di header permintaan. |
| Code | Message | Deskripsi |
|---|---|---|
50001 | O processo informado não foi encontrado. | Proses tidak ada di database. |
| Code | Message | Deskripsi |
|---|---|---|
30017 | User does not have permission to perform this action. | JWT yang salah format atau pengguna tanpa izin untuk melakukan operasi ini. |
10502 | O token informado está expirado. | Ketika access-token yang digunakan telah kedaluwarsa. |
10501 | O token informado é inválido. | Token autentikasi tidak valid. |
10201 | O AppKey informado é inválido. | Parameter APIKEY belum dimasukkan atau tidak ada. |
Proses ada tetapi menghasilkan error. Hanya mengembalikan id dan status: 5.
Batas rate tercapai. Ketika sistem Anda menerima error HTTP 429, Anda harus mengimplementasikan mekanisme untuk mencegah kegagalan berantai dan menghindari memperburuk pembatasan.
Praktik terbaik:
- Periode pendinginan (backoff): Segera hentikan atau kurangi permintaan berikutnya dari sistem Anda. Jangan terus-menerus mencoba ulang permintaan yang gagal dalam loop yang ketat.
- Antrean & pembatasan (Queueing & throttling): Buffer atau antrean permintaan keluar dari 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 s, 2 s, 4 s, 8 s) dan tambahkan penundaan acak kecil ("jitter") untuk mencegah efek kawanan di mana semua permintaan yang diantrean mencoba ulang pada milidetik yang sama persis.
Terus-menerus mengirim permintaan ke endpoint yang dibatasi rate tanpa menerapkan backoff dapat memperpanjang periode pembatasan dan sangat memengaruhi throughput operasional sistem Anda. Membatasi permintaan dengan benar dari sisi Anda memastikan integrasi yang lebih lancar dan lebih tangguh.
Untuk batas default, peningkatan permintaan, dan detail tambahan, lihat Batas Rate.
| Code | Message | Deskripsi |
|---|---|---|
99999 | Internal failure! Try again later | Ketika terjadi error internal. |
Alur
Recipe adalah kombinasi kapabilitas (liveness, verifikasi identitas, sinyal risiko, dokumen...) yang dikonfigurasi dalam APIKey proyek Anda. Recipe menentukan apa yang dijalankan Unico dalam setiap proses dan bagaimana hasilnya dikonsolidasikan menjadi satu result — Anda tidak perlu mengorkestrasi apa pun di sisi Anda.
Unico memiliki katalog recipe yang sudah ditetapkan, diberi nama dan versi (misalnya byunico-idlive-idunico-oneresponse-std). Beberapa recipe eksklusif untuk Brasil, seperti yang menyertakan Skor, Serpro, atau verifikasi usia.
Kombinasi kapabilitas — alur proyek Anda — ditentukan dalam konfigurasi APIKey Anda. Periksa recipe yang sudah ditetapkan atau hubungi kontak proyek Unico Anda untuk menyesuaikannya.