Dapatkan Proses
Sebelum mengambil proses, tinjau konfigurasi webhook dan strategi fallback kami — klik di sini.
Dalam kontrak API, respons POST /processes/v1 sudah merupakan hasil akhir. Endpoint ini ada untuk kueri ulang — misalnya, ketika Anda perlu memeriksa proses yang telah Anda simpan sebelumnya, atau mengaudit transaksi sebelumnya.
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 Buat Proses. |
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
{
"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
}
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.
| Field | Tipe | Deskripsi |
|---|---|---|
id | string (UUID) | Identifier proses. |
status | integer | 1 (memproses), 2 (perbedaan), 3 (selesai dengan sukses), 4 (dibatalkan), 5 (error). |
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, NOT_FOUND — lihat Pengidentifikasi Wajah. |
idFace.personId | string | Pengidentifikasi opak stabil untuk wajah. Hanya ada ketika idFace.result = FOUND. |
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 yang bertanggung jawab. |
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. |
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. |
Parameter path processId tidak ada atau salah format. Lihat Kode Error di bawah.
Bearer token atau APIKEY tidak ada, kedaluwarsa, atau tidak valid.
processId tidak ada atau tidak termasuk dalam tenant yang terautentikasi.
Proses ada tetapi menghasilkan error. Hanya mengembalikan id dan status: 5.
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.
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.
Error server yang tidak terduga.
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
- 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.
| Code | Message | Deskripsi |
|---|---|---|
99999 | Internal failure! Try again later | Ketika terjadi error internal. |