---
title: Buat Proses Dokumen
description: Ambil dokumen baru atau gunakan ulang dokumen yang sebelumnya diambil yang terhubung ke proses biometrik.
canonical: https://developer.unico.io/id/dual-api/developers/api-reference/api/post-processes-document
locale: id
generated_by: markdown-export
---

- [/id/](/id/)
- [Referensi API](/id/dual-api/developers/api-reference/)
- [API](/id/dual-api/developers/api-reference/api/)
- Buat Proses Dokumen

**Di halaman ini# Buat Proses Dokumen

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](/id/dual-api/developers/api-reference/api/get-document) untuk memeriksa apakah pengguna sudah memiliki dokumen yang tersedia untuk digunakan ulang.
Untuk alur integrasi lengkap, lihat [Ikhtisar API](/id/dual-api/developers/api-reference/api/).
### Endpoint​

LingkunganURL**Produksi**`POST https://api.id.unico.app/processes/v1`**Sandbox**`POST https://api.id.uat.unico.app/processes/v1`
### Permintaan​

Headers
HeaderNilai`Authorization``Bearer <access_token>` (lihat [Autentikasi](/id/dual-api/developers/api-reference/authentication))`APIKEY`Kunci API yang telah ditetapkan dengan Document Capture and Reuse diaktifkan.`Content-Type``application/json`
Parameter body
Pengambilan baruPenggunaan ulangFieldTipeWajibDeskripsi`subject.duiType`integeryaPengidentifikasi tipe dokumen. Lihat [nilai `duiType`](#duitype-values) di bawah.`subject.code`stringyaNilai pengidentifikasi pengguna sesuai yang didefinisikan oleh `subject.duiType`. Tanpa titik atau tanda hubung.`subject.name`stringtidakNama lengkap.`subject.gender`stringtidak`M` atau `F`.`subject.birthDate`string (ISO 8601)tidakTanggal lahir (`YYYY-MM-DD`).`subject.email`stringtidakAlamat email.`subject.phone`stringtidakNomor telepon E.164.`document.purpose`stringyaTujuan bisnis. Nilai: `creditprocess`, `carpurchase`, `paybypaycheck`, `onboarding`, `fgts`.`document.authProcessId`stringyaID proses biometrik yang terhubung ke pengambilan dokumen ini.`document.files`arrayyaGambar dokumen dalam base64 (depan dan/atau belakang).`document.files[].data`stringyaGambar dokumen dalam base64 (PNG, JPEG, atau WebP, maks 800 KB).`subsidiaryId`stringtidakID cabang — hanya diperlukan jika terdapat beberapa cabang.FieldTipeWajibDeskripsi`subject.duiType`integeryaPengidentifikasi tipe dokumen. Lihat [nilai `duiType`](#duitype-values) di bawah.`subject.code`stringyaNilai pengidentifikasi pengguna sesuai yang didefinisikan oleh `subject.duiType`. Tanpa titik atau tanda hubung.`subject.name`stringtidakNama lengkap.`subject.gender`stringtidak`M` atau `F`.`subject.birthDate`string (ISO 8601)tidakTanggal lahir (`YYYY-MM-DD`).`subject.email`stringtidakAlamat email.`subject.phone`stringtidakNomor telepon E.164.`document.purpose`stringyaTujuan bisnis. Nilai: `creditprocess`, `carpurchase`, `paybypaycheck`, `onboarding`, `fgts`.`document.authProcessId`stringyaID proses biometrik yang terhubung ke dokumen ini.`document.documentId`stringyaID dokumen yang sebelumnya diambil (diperoleh dari [Dapatkan Dokumen yang Dapat Digunakan Ulang](/id/dual-api/developers/api-reference/api/get-document)). Ketika diberikan, `document.files` dapat dihilangkan.`subsidiaryId`stringtidakID cabang — hanya diperlukan jika terdapat beberapa cabang.
**Nilai `duiType`**NegaraKodeDeskripsiAR6Paspor ArgentinaAR7DNI ArgentinaAR49SIM Argentina (Licencia Nacional de Conducir)AT34Nomor Pajak Austria (STNR)BE36Nomor Nasional Belgia (NN)BR1CPF BrasilBR5Paspor BrasilBR14CNPJ BrasilCA28SIN KanadaCH33Nomor AHV/AVS SwissCL9RUN ChiliCL52Paspor ChiliCL57SIM Chili (Licencia de Conducir)CO26NIT KolombiaCO53Paspor KolombiaCO55SIM Kolombia (Licencia de Conducción)CO56Kartu Kewarganegaraan Kolombia (Cédula de Ciudadanía)DE41Nomor Identifikasi Pajak Jerman (IdNr)DK29CPR DenmarkEC10NI EkuadorES50Nomor 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 GuatemalaID16NIK IndonesiaIE47Nomor Layanan Publik Pribadi Irlandia (PPSN)IT37Codice Fiscale Italia (CF)LU48Nomor Identifikasi Nasional Luksemburg (Matricule)MX2CURP MeksikoMX25RFC Meksiko (Perorangan)MX58SIM Meksiko (Licencia de Conducir)NG8NIN NigeriaNG20Nomor 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 PeruPE40DNI PeruPE54Paspor PeruPL31PESEL PolandiaPT45Nomor Identifikasi Pajak Portugal (NIF)SE32Nomor Pribadi Swedia (PNR)SE38Nomor Koordinasi Swedia (Samordningsnummer)TR24Nomor Identifikasi Turki (TCKN)US4SSN Amerika SerikatUS11Paspor Amerika SerikatUS18SIM Amerika SerikatUS21Kartu Paspor Amerika SerikatUS22Paspor Polikarbonat Amerika SerikatUS23Kartu Identitas Amerika SerikatUY13CI UruguayZZ15Alamat emailZZ17Nomor telepon—0Tidak ditentukan—3Pengidentifikasi internal Unico
### Contoh​

Pengambilan baru — cURLPengambilan baru — Node.jsPenggunaan ulang — cURLPenggunaan ulang — Node.js```
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..." }      ]    }  }'
```

```
import fetch from 'node-fetch';const res = await fetch('https://api.id.unico.app/processes/v1', {  method: 'POST',  headers: {    'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,    'APIKEY': process.env.UNICO_API_KEY,    'Content-Type': 'application/json'  },  body: JSON.stringify({    subject: {      duiType: 1,      code: '12345678909',      name: 'Luke Skywalker'    },    document: {      purpose: 'onboarding',      authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',      files: [{ data: documentImageBase64 }]    }  })});const result = await res.json();
```

```
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"    },    "document": {      "purpose": "onboarding",      "authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",      "documentId": "doc-abc-123"    }  }'
```

```
import fetch from 'node-fetch';const res = await fetch('https://api.id.unico.app/processes/v1', {  method: 'POST',  headers: {    'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,    'APIKEY': process.env.UNICO_API_KEY,    'Content-Type': 'application/json'  },  body: JSON.stringify({    subject: {      duiType: 1,      code: '12345678909'    },    document: {      purpose: 'onboarding',      authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',      documentId: 'doc-abc-123'    }  })});const result = await res.json();
```

### 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`id`string (UUID)Pengidentifikasi proses.`status`integer`3` (selesai dengan sukses), `5` (selesai dengan kegagalan).`document.id`stringPengidentifikasi dokumen yang diambil. Gunakan nilai ini dalam permintaan `document.documentId` di masa mendatang untuk penggunaan ulang.`document.type`stringTipe dokumen yang diidentifikasi, berupa nama dictionary yang sepenuhnya terkualifikasi. Lihat [nilai `document.type`](#document-type-values) di bawah.`document.cpfMatch`boolean`true` jika pengidentifikasi yang diekstrak dari dokumen cocok dengan `subject.code`.`document.faceMatch`boolean`true` jika wajah pada dokumen cocok dengan foto selfie biometrik dari `document.authProcessId`.`document.content`objectField yang diekstrak melalui OCR. Struktur bervariasi berdasarkan tipe dokumen — [klik di sini untuk detail field](/id/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json).`document.fileUrls`arrayURL 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 terpaduSemua tipe dokumen yang menggunakan skema terpadu — `unified_schema` pada [referensi field](/id/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) — 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 spesifikTipe dokumen yang menggunakan skema field-nya sendiri — terdaftar di bawah `specific_document_schemas` pada [referensi field](/id/assets/files/document-content-fields-0e4663f2ade946e901bbc7523c21f032.json) — ditampilkan pada tabel di bawah ini:NegaraNilaiDokumenBR`unico.moja.dictionary.br.rg.v2.Rg`RGBR`unico.moja.dictionary.br.cnh.v2.Cnh`CNH (SIM)BR`unico.moja.dictionary.br.cin.v1.Cin`CINBR`unico.moja.dictionary.br.passaporte.v1.Passaporte`PasporMX`unico.moja.dictionary.mx.ine.v1.Ine`Kredensial pemilih INEMX`unico.moja.dictionary.mx.lpc.v1.Lpc`Licencia para conducir (SIM)MX`unico.moja.dictionary.mx.pasaporte.v1.Pasaporte`Paspor—`unico.moja.dictionary.other.unknown.v1.Unknown`Tipe tidak dapat diidentifikasi — `document.content` kosongTidak ada ekstraksi OCR yang dilakukan dan tidak ada field yang dilaporkan ketika `document.type` adalah `unico.moja.dictionary.other.unknown.v1.Unknown`.
### Kode Error​

400 Bad Request403 Forbidden409 Conflict500 Internal Server ErrorKodePesanDeskripsi`99989`The document is invalid.Objek `document` memiliki struktur tidak valid.`99988`The document is empty.Objek `document` tidak ada dalam body permintaan.`20900`O base64 informado não é válido.Parameter base64 tidak valid. Kemungkinan penyebab: bukan gambar atau merupakan percobaan injeksi.`20807`A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480.Resolusi gambar yang diunggah terlalu rendah.`20509`The subject.name field is invalid.`subject.name` mengandung karakter tidak valid.`20508`The subject.gender field is invalid.`subject.gender` harus `M` atau `F`.`20507`O parâmetro subject.code é inválido.Nilai pengidentifikasi tidak standar atau tidak ada.`20506`O base64 informado é muito grande. O tamanho máximo suportado é até 800kb.Ukuran gambar melebihi 800 KB; kompres ke JPEG92.`20505`O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp.Format base64 tidak valid atau tidak didukung.`20068`The document.documentId or document.files parameter must be present.`document.documentId` maupun `document.files` tidak disediakan.`20067`The document.purpose parameter is invalid.Nilai tidak dikenal di `document.purpose`.`20066`The document.authProcessId parameter is invalid.Nilai tidak valid di `document.authProcessId`.`20062`The useCase field is invalid.Nilai tidak dikenal di field `useCase`.`20021`The subject.phone field is invalid.Format `subject.phone` tidak valid (IDD + kode area + nomor, 13 karakter).`20019`The subject.birthDate field is invalid.`subject.birthDate` berada di luar format ISO 8601 (`YYYY-MM-DD`).`20009`O parâmetro imagebase64 não foi informado.Parameter gambar dokumen tidak ada.`20008`The subject.email field is invalid.Format email tidak valid di `subject.email`.`20005`O parâmetro subject.code não foi informado.Parameter subject.code tidak ada.`20004`O parâmetro subject não foi informado.Parameter subject tidak ada.`20003`The request body is missing or invalid.Payload null atau tidak valid.`20002`O parâmetro APIKey não foi informado.Parameter APIKEY tidak ada dari header permintaan.`20001`O parâmetro authtoken não foi informado.Parameter token integrasi tidak ada dari header permintaan.`10508`The JWT with the captured face has already been used.JWT hanya dapat digunakan sekali.`10507`The JWT with the captured face is expired.JWT kedaluwarsa; harus dikirim dalam 10 menit.`10506`The imageBase64 field is not a valid JWT from SDK.`imageBase64` bukan JWT valid yang dihasilkan oleh SDK.Bearer token atau `APIKEY` tidak ada, kedaluwarsa, atau tidak valid. Lihat [Autentikasi](/id/dual-api/developers/api-reference/authentication).KodePesanDeskripsi`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.Access-token telah kedaluwarsa.`10501`O token informado é inválido.Token autentikasi tidak valid.`10201`O AppKey informado é inválido.APIKEY tidak valid atau tidak ada.KodePesanDeskripsi`20073`The processID already exists.`processId` yang diberikan sudah ada untuk tenant ini.KodePesanDeskripsi`99999`Internal failure! Try again laterKetika terjadi error internal.
### Langkah selanjutnya​

Untuk memeriksa apakah dokumen sudah tersedia sebelum panggilan ini, lihat [Dapatkan Dokumen yang Dapat Digunakan Ulang](/id/dual-api/developers/api-reference/api/get-document).
Untuk pembuatan proses biometrik (diperlukan untuk `document.authProcessId`), lihat [Buat Proses](/id/dual-api/developers/api-reference/api/post-processes).
Terakhir diperbarui pada 8 Okt 2026**