Lewati ke konten utama

Buat Proses

Ini adalah titik masuk dari setiap integrasi Web & SDK. Back-end Anda memanggilnya untuk membuat proses; front-end Anda menggunakan token yang dikembalikan untuk merender iFrame, mengalihkan pengguna, atau menginisialisasi SDK native.

Untuk alur integrasi lengkap, lihat Ikhtisar Web & SDK.

Endpoint

LingkunganURL
ProduksiPOST https://api.idcloud.unico.app/client/v1/process
SandboxPOST https://api.idcloud.uat.unico.app/client/v1/process

Permintaan

Header
HeaderNilai
AuthorizationBearer <access_token> (lihat Autentikasi)
Content-Typeapplication/json
Parameter body
FieldTipeWajibDeskripsi
callbackUristringyaURL ke mana pengguna diarahkan setelah perjalanan selesai. Gunakan / untuk alur SDK native di mana callback ditangani dalam aplikasi.
flowstringyaPengenal alur — menentukan kapabilitas yang dijalankan. Contoh: idunicodocs, idunicosign, idchecktrust, idtoken, idsmart. Lihat Alur yang tersedia.
purposestringyaTujuan bisnis. Nilai yang diterima: creditprocess, biometryonboarding, carpurchase, ageverification.
person.duiTypeenumyaTipe dokumen. Nilai yang diterima: DUI_TYPE_BR_CPF, DUI_TYPE_MX_CURP, DUI_TYPE_US_SSN, DUI_TYPE_BR_PASSPORT, DUI_TYPE_AR_PASSPORT, DUI_TYPE_AR_DNI, DUI_TYPE_NG_NIN, DUI_TYPE_CL_RUN, DUI_TYPE_EC_NI, DUI_TYPE_US_PASSPORT, DUI_TYPE_GT_CUI, DUI_TYPE_UY_CI, DUI_TYPE_ZZ_EMAIL, DUI_TYPE_ID_NIK, DUI_TYPE_ZZ_PHONE_NUMBER, DUI_TYPE_US_DRIVER_LICENSE, DUI_TYPE_NG_BVN.
person.duiValuestringyaNomor dokumen, tanpa format.
person.friendlyNamestringtidakNama tampilan pengguna yang ditampilkan di UI perjalanan. Maksimum 50 karakter.
person.phonestringtidakNomor telepon dalam format DDI + DDD + nomor, tanpa pemisah. Diperlukan saat mengirim notifikasi melalui SMS atau WhatsApp.
person.emailstringtidakAlamat email. Diperlukan untuk alur dengan Tanda Tangan Elektronik.
person.notificationsarraytidakSaluran notifikasi untuk mengirim tautan perjalanan. Setiap item memiliki notificationChannel: NOTIFICATION_CHANNEL_WHATSAPP, NOTIFICATION_CHANNEL_SMS, atau NOTIFICATION_CHANNEL_EMAIL.
bioTokenIdstring (UUID)kondisionalTidak lagi disarankan. Gunakan references sebagai gantinya. ID proses biometrik referensi. Diperlukan untuk alur validasi 1:1 (idtoken, idtokentrust, idtokensign) dan Revalidasi Cerdas (idsmart).
referencesarraykondisionalInput referensi untuk validasi 1:1 dan alur Revalidasi Cerdas, menggantikan bioTokenId. Setiap item berisi referenceType (REFERENCE_TYPE_IMAGE_BASE64 atau REFERENCE_TYPE_PROCESS_ID) dan referenceContent (gambar berformat base64 atau UUID proses).
useCasestringkondisionalKasus penggunaan Revalidasi Cerdas. Diperlukan untuk idsmart. Contoh: USE_CASE_LOGIN, USE_CASE_IDENTITY_REVALIDATION_7_DAYS, USE_CASE_FIN_TRANSACTIONS.
clientReferencestringtidakIdentifier internal Anda untuk proses ini (kunci asing untuk referensi silang di portal).
companyBranchIdstring (UUID)tidakID cabang. Hanya diperlukan jika akun layanan memiliki lebih dari satu cabang yang terkait.
expiresInstringtidakJendela validitas proses sejak pembuatan. Format: "3600s". Default 7 hari jika tidak diisi.
flow_configobjecttidakOverride konfigurasi per alur.
flow_config.biometry_capture.enabled_back_camerabooleantidakGunakan kamera belakang perangkat. Tidak kompatibel dengan pengambilan dokumen atau alur Tanda Tangan Elektronik.
contextualizationobjecttidakKonteks transaksi yang ditampilkan kepada pengguna selama perjalanan untuk menjelaskan pengambilan.
contextualization.currencystringtidakKode mata uang yang ditampilkan kepada pengguna. Nilai yang diterima: BRL, MXN, USD.
contextualization.pricenumbertidakJumlah transaksi yang ditampilkan kepada pengguna.
contextualization.localeobjecttidakTeks alasan yang dilokalisasi. Kunci: ptBr, enUs, esMx — masing-masing dengan string reason yang ditampilkan selama perjalanan.

Contoh

curl -X POST https://api.idcloud.unico.app/client/v1/process \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"callbackUri": "https://app.client.com/callback",
"flow": "idunicodocs",
"purpose": "biometryonboarding",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]"
}
}'

Respons

200 OK
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"state": "PROCESS_STATE_CREATED",
"flow": "idunicosign",
"purpose": "biometryonboarding",
"callbackUri": "https://app.client.com/callback",
"clientReference": "your-internal-id-123",
"companyBranchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"userRedirectUrl": "https://cadastro.unico.app/process/53060f52-f146-4c12-a234-5bb5031f6f5b",
"token": "eyJhbGciOiJSUzI1NiIs...",
"webAppToken": "eyJhbGciOiJSUzI1NiIs...",
"createdAt": "2023-10-09T09:15:25.417105Z",
"expiresAt": "2023-10-09T16:15:25.417105Z",
"capacities": [],
"authenticationInfo": {},
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"phone": "5511912345678",
"email": "[email protected]",
"notifications": []
},
"companyData": {
"branchId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"countryCode": "BR"
}
}
}
FieldTipeDeskripsi
process.idstring (UUID)Identifier proses. Gunakan untuk mengambil hasil melalui Get Process.
process.stateenumPROCESS_STATE_CREATED — proses dibuat, perjalanan belum dimulai. PROCESS_STATE_FAILED — pembuatan proses gagal.
process.flowstringIdentifier alur yang dikirim saat pembuatan.
process.purposestringTujuan bisnis yang dikirim saat pembuatan.
process.callbackUristringCallback URI yang dikirim saat pembuatan.
process.clientReferencestringIdentifier internal Anda yang dikirim saat pembuatan. Hanya ada jika disertakan dalam permintaan.
process.companyBranchIdstring (UUID)ID cabang. Hanya ada jika disertakan dalam permintaan.
process.userRedirectUrlstringURL untuk mengalihkan pengguna (integrasi Web Redirect dan iFrame). Jangan ubah URL ini.
process.tokenstringJWT untuk menginisialisasi Web SDK iFrame.
process.webAppTokenstringJWT untuk menginisialisasi SDK native (Android, iOS, Flutter).
process.createdAtstring (date-time)Timestamp ketika proses dibuat.
process.expiresAtstring (date-time)Timestamp setelah proses kedaluwarsa dan tidak dapat lagi diselesaikan.
process.capacitiesarrayKapabilitas yang dikonfigurasi untuk proses ini.
process.authenticationInfoobjectInformasi autentikasi untuk proses (kosong pada saat pembuatan).
process.personobjectEcho dari objek person yang dikirim saat pembuatan.
process.companyData.branchIdstring (UUID)ID cabang yang terkait dengan proses.
process.companyData.countryCodestringKode negara yang terkait dengan cabang (contoh: BR, MX).
400 Bad Request

Dikembalikan saat payload permintaan salah format, field yang diperlukan tidak ada, atau nilai flow tidak dikenal.

401 Unauthorized

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

429 Too Many Requests

Batas rate tercapai. Coba lagi setelah interval yang ditunjukkan dalam header respons.

Kode Error

KodePesanDeskripsi
3invalid flowKetika alur yang ditentukan tidak ada.
3invalid person: friendly name exceeds 50 characters.Ketika nama tampilan melebihi 50 karakter.
3invalid purposeKetika tujuan yang diberikan tidak valid.
3invalid callbackUri: unable to parse callbackUri: parse "": empty url, invalid callbackUri: url:Ketika callbackUri yang diberikan tidak valid.
3invalid person: email required for notification channel NOTIFICATION_CHANNEL_EMAIL, invalid email address for notification channel NOTIFICATION_CHANNEL_EMAILKetika email yang diberikan tidak valid dan notifikasi email dikonfigurasi.
3invalid person: phone number required for notification channel NOTIFICATION_CHANNEL_WHATSAPP, phone number does not contain 13 chars for notification channel NOTIFICATION_CHANNEL_WHATSAPPKetika nomor telepon yang diberikan tidak valid dan notifikasi SMS atau WhatsApp dikonfigurasi.
3idnsv2/GetPublicID request error: rpc error: code = InvalidArgument desc = invalid dui valueKetika identifier yang diberikan (duiValue) tidak valid.
3invalid expiresIn argumentKetika nilai expiresIn tidak valid.
9XX ID Apikeys are not setKetika API Key tidak dikonfigurasi dengan benar.

Langkah selanjutnya

  • Setelah pengguna menyelesaikan perjalanan, panggil Get Process untuk mengambil hasil, atau tunggu webhook.