Lewati ke konten utama

Buat Proses Dokumen

MarkdownChatGPTClaude

Endpoint ini menangani dua alur dokumen yang berbagi path yang sama tetapi berbeda dalam parameter body:

  • Pengambilan baru — mengirimkan gambar dokumen dalam base64 untuk diproses (field document.files diperlukan).
  • Penggunaan ulang — melewati pengambilan gambar dengan merujuk dokumen yang sebelumnya diambil (field document.documentId diperlukan).

Alur yang aktif ditentukan oleh apakah document.documentId diberikan dalam body permintaan.

Sebelum membuat proses dokumen, gunakan Dapatkan Dokumen yang Dapat Digunakan Ulang untuk memeriksa apakah pengguna sudah memiliki dokumen yang tersedia untuk digunakan ulang.

Untuk alur integrasi lengkap, lihat Ikhtisar API.

Endpoint​

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

Permintaan​

Headers
HeaderNilai
AuthorizationBearer <access_token> (lihat Autentikasi)
APIKEYKunci API yang telah ditetapkan dengan Document Capture and Reuse diaktifkan.
Content-Typeapplication/json
Parameter body
FieldTipeWajibDeskripsi
subject.duiTypeintegeryaPengidentifikasi tipe dokumen. Lihat nilai duiType di bawah.
subject.codestringyaNilai pengidentifikasi pengguna sesuai yang 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.
document.purposestringyaTujuan bisnis. Nilai: creditprocess, carpurchase, paybypaycheck, onboarding, fgts.
document.authProcessIdstringyaID proses biometrik yang terhubung ke pengambilan dokumen ini.
document.filesarrayyaGambar dokumen dalam base64 (depan dan/atau belakang).
document.files[].datastringyaGambar dokumen dalam base64 (PNG, JPEG, atau WebP, maks 800 KB).
subsidiaryIdstringtidakID cabang — hanya diperlukan jika terdapat beberapa cabang.
Nilai duiType
NegaraKodeDeskripsi
AR6Paspor Argentina
AR7DNI Argentina
AR49SIM Argentina (Licencia Nacional de Conducir)
AT34Nomor Pajak Austria (STNR)
BE36Nomor Nasional Belgia (NN)
BR1CPF Brasil
BR5Paspor Brasil
BR14CNPJ Brasil
CA28SIN Kanada
CH33Nomor AHV/AVS Swiss
CL9RUN Chili
CL52Paspor Chili
CL57SIM Chili (Licencia de Conducir)
CO26NIT Kolombia
CO53Paspor Kolombia
CO55SIM Kolombia (Licencia de Conducción)
CO56Kartu Kewarganegaraan Kolombia (Cédula de Ciudadanía)
DE41Nomor Identifikasi Pajak Jerman (IdNr)
DK29CPR Denmark
EC10NI Ekuador
ES50Nomor Identitas Warga Asing Spanyol (NIE)
ES51Dokumen Identitas Nasional Spanyol (DNI)
FI35Kode Identitas Pribadi Finlandia (HETU)
FR46Nomor Referensi Pajak Prancis (SPI)
GB30Nomor Asuransi Nasional Inggris (NINO)
GT12CUI Guatemala
ID16NIK Indonesia
IE47Nomor Layanan Publik Pribadi Irlandia (PPSN)
IT37Codice Fiscale Italia (CF)
LU48Nomor Identifikasi Nasional Luksemburg (Matricule)
MX2CURP Meksiko
MX25RFC Meksiko (Perorangan)
MX58SIM Meksiko (Licencia de Conducir)
NG8NIN Nigeria
NG20Nomor Verifikasi Bank Nigeria (BVN)
NG43Token BVN Nigeria (hash)
NG44Token NIN Nigeria (hash)
NL42Nomor Layanan Warga Negara Belanda (BSN)
NO39Nomor Identitas Nasional Norwegia (Fødselsnummer)
PE27RUC Peru
PE40DNI Peru
PE54Paspor Peru
PL31PESEL Polandia
PT45Nomor Identifikasi Pajak Portugal (NIF)
SE32Nomor Pribadi Swedia (PNR)
SE38Nomor Koordinasi Swedia (Samordningsnummer)
TR24Nomor Identifikasi Turki (TCKN)
US4SSN Amerika Serikat
US11Paspor Amerika Serikat
US18SIM Amerika Serikat
US21Kartu Paspor Amerika Serikat
US22Paspor Polikarbonat Amerika Serikat
US23Kartu Identitas Amerika Serikat
UY13CI Uruguay
ZZ15Alamat email
ZZ17Nomor telepon
—0Tidak ditentukan
—3Pengidentifikasi internal Unico

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"
},
"document": {
"purpose": "onboarding",
"authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"files": [
{ "data": "/9j/4AAQSkZJR..." }
]
}
}'

Respons​

200 OK
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"document": {
"id": "doc-abc-123",
"type": "unico.moja.dictionary.br.cnh.v2.Cnh",
"cpfMatch": true,
"faceMatch": true,
"content": {
"numero": "12345678",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "2000-05-20T00:00:00Z",
"categoria": "B",
"dataExpiracao": "2030-05-20T00:00:00Z"
},
"fileUrls": [
"https://storage.unico.app/documents/doc-abc-123/front.jpg"
]
}
}
FieldTipeDeskripsi
idstring (UUID)Pengidentifikasi proses.
statusinteger3 (selesai dengan sukses), 5 (selesai dengan kegagalan).
document.idstringPengidentifikasi dokumen yang diambil. Gunakan nilai ini dalam permintaan document.documentId di masa mendatang untuk penggunaan ulang.
document.typestringTipe dokumen yang diidentifikasi, berupa nama dictionary yang sepenuhnya terkualifikasi. Lihat nilai document.type di bawah.
document.cpfMatchbooleantrue jika pengidentifikasi yang diekstrak dari dokumen cocok dengan subject.code.
document.faceMatchbooleantrue jika wajah pada dokumen cocok dengan foto selfie biometrik dari document.authProcessId.
document.contentobjectField yang diekstrak melalui OCR. Struktur bervariasi berdasarkan tipe dokumen — klik di sini untuk detail field.
document.fileUrlsarrayURL sementara (validitas 10 menit) untuk mengunduh gambar dokumen.

Hanya field yang berhasil diekstrak yang ada di document.content; apa pun yang tidak dapat dibaca oleh OCR dihilangkan alih-alih dikembalikan dalam keadaan kosong.

Nilai document.type
Skema terpadu

Semua tipe dokumen yang menggunakan skema terpadu — unified_schema pada referensi field — dilaporkan dalam document.type sebagai unico.moja.dictionary.<country>.generic.v1.<DocumentType>, di mana <country> adalah kode ISO 3166-1 alpha-2 dalam huruf kecil dan <DocumentType> adalah tipe yang diidentifikasi. Misalnya:

  • unico.moja.dictionary.ar.generic.v1.IdCard: Kartu identitas Argentina
  • unico.moja.dictionary.us.generic.v1.PolycarbonatePassport: Paspor polikarbonat Amerika Serikat
Skema spesifik

Tipe dokumen yang menggunakan skema field-nya sendiri — terdaftar di bawah specific_document_schemas pada referensi field — ditampilkan pada tabel di bawah ini:

NegaraNilaiDokumen
BRunico.moja.dictionary.br.rg.v2.RgRG
BRunico.moja.dictionary.br.cnh.v2.CnhCNH (SIM)
BRunico.moja.dictionary.br.cin.v1.CinCIN
BRunico.moja.dictionary.br.passaporte.v1.PassaportePaspor
MXunico.moja.dictionary.mx.ine.v1.IneKredensial pemilih INE
MXunico.moja.dictionary.mx.lpc.v1.LpcLicencia para conducir (SIM)
MXunico.moja.dictionary.mx.pasaporte.v1.PasaportePaspor
—unico.moja.dictionary.other.unknown.v1.UnknownTipe tidak dapat diidentifikasi — document.content kosong

Tidak ada ekstraksi OCR yang dilakukan dan tidak ada field yang dilaporkan ketika document.type adalah unico.moja.dictionary.other.unknown.v1.Unknown.

Kode Error​

KodePesanDeskripsi
99989The document is invalid.Objek document memiliki struktur tidak valid.
99988The document is empty.Objek document tidak ada dalam body permintaan.
20900O base64 informado não é válido.Parameter base64 tidak valid. Kemungkinan penyebab: bukan gambar atau merupakan 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.
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.Nilai pengidentifikasi 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.
20068The document.documentId or document.files parameter must be present.document.documentId maupun document.files tidak disediakan.
20067The document.purpose parameter is invalid.Nilai tidak dikenal di document.purpose.
20066The document.authProcessId parameter is invalid.Nilai tidak valid di document.authProcessId.
20062The useCase field is invalid.Nilai tidak dikenal di field 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 dokumen 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.
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 dari header permintaan.
20001O parâmetro authtoken não foi informado.Parameter token integrasi tidak ada dari 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.

Langkah selanjutnya​