Tangkapan dokumen
Tangkapan dokumen identitas. SDK menampilkan frame untuk membantu pengguna memposisikan dokumen; setelah diposisikan, pengguna mengklik tombol untuk mengambil foto.
SDK tidak melakukan validasi apa pun terhadap apa yang sedang diambil.
| Frame | Deskripsi |
|---|---|
DocumentCameraTypes.CPF | Ambil gambar CPF |
DocumentCameraTypes.CNH | Ambil gambar CNH terbuka |
DocumentCameraTypes.CNH_FRENTE | Ambil gambar bagian depan CNH |
DocumentCameraTypes.CNH_VERSO | Ambil gambar bagian belakang CNH |
DocumentCameraTypes.RG_FRENTE | Ambil gambar bagian depan RG |
DocumentCameraTypes.RG_VERSO | Ambil gambar bagian belakang RG |
DocumentCameraTypes.RG_FRENTE_NOVO | Ambil gambar bagian depan RG baru |
DocumentCameraTypes.RG_VERSO_NOVO | Ambil gambar bagian belakang RG baru |
DocumentCameraTypes.OTHERS("descrição") | Frame generik untuk dokumen lainnya |
Jika Anda perlu mengambil gambar dokumen yang tidak memiliki frame spesifik (misalnya RNE), gunakan DocumentCameraTypes.OTHERS("description") — frame persegi panjang generik yang dapat digunakan untuk memandu tangkapan apa pun.
Untuk daftar lengkap jenis dokumen yang didukung, lihat API Reference > Enums.
Disarankan untuk mengonfigurasi ukuran frame dalam aplikasi Anda guna mengoptimalkan area tangkapan.
Fungsionalitas frame dapat terpengaruh oleh design system yang memiliki komponen grid (Bootstrap, Material-UI, dll.). Untuk meminimalkan risiko ini, posisikan frame (id="box-camera") di tempat yang tidak mewarisi aturan CSS yang tidak diinginkan.
- Desktop
- Mobile
Bungkus frame dalam elemen induk untuk membatasi dimensinya:
<div class="container">
<div id="box-camera"></div>
</div>
.container {
width: 800px;
height: 600px;
position: relative;
}
Pertahankan rasio tinggi-lebar yang tepat agar lebih mudah membingkai wajah pengguna.
Pengujian yang melibatkan pengubahan ukuran layar melalui mode developer browser tidak akan berjalan seperti yang diharapkan. Ubah ukuran jendela browser secara langsung.
Untuk tampilan Web Mobile, frame tangkapan harus memenuhi 100% layar perangkat (100vw/100vh) agar algoritma computer vision bekerja dengan baik. Hindari pengguliran horizontal atau vertikal — menggunakan modal dapat membantu meminimalkan hal ini.
Pengujian menggunakan mode developer browser tidak berfungsi — kamera yang digunakan browser adalah kamera desktop, dengan resolusi yang sangat berbeda dari kamera perangkat mobile. Uji langsung pada perangkat.
Langkah 1 — Implementasikan objek callback
Web SDK menggunakan objek callback — yang diteruskan ke open() — untuk menangani event sukses dan error. Kedua handler bersifat wajib:
| Handler | Kapan dipanggil |
|---|---|
on.success(obj) | Tangkapan berhasil diselesaikan — menerima objek dengan base64 dan encrypted |
on.error(error) | Terjadi error selama sesi — menerima ErrorBio |
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
Objek callback bersifat wajib. Jika tidak diimplementasikan dengan benar (mencakup event success dan error), SDK akan melempar pengecualian yang, jika tidak ditangani, akan ditampilkan di konsol pengguna.
Langkah 2 — Bangun kamera dan siapkan sesi dokumen
Bangun instans kamera dan panggil prepareDocumentCamera dengan meneruskan UnicoConfig dan DocumentCameraTypes yang diinginkan:
const unicoCamera = unicoCameraBuilder.build();
const config = new UnicoConfig()
.setHostname("<YOUR_HOSTNAME>")
.setHostKey("<YOUR_HOST_KEY>");
unicoCamera.prepareDocumentCamera(
config,
DocumentCameraTypes.CNH
).then(cameraOpener => {
cameraOpener.open(callback);
}).catch(error => {
console.error(error);
});
Untuk penanganan hasil selengkapnya, lihat Menerima hasil.