Перейти к основному содержимому

Захват документа

Захват документов, удостоверяющих личность. SDK отображает рамку, помогающую пользователю правильно расположить документ; после позиционирования пользователь нажимает кнопку для съёмки фото.

Без проверки содержимого

SDK не выполняет никакой проверки содержимого захватываемого изображения.

Доступные рамки документов
РамкаОписание
DocumentCameraTypes.CPFЗахват CPF
DocumentCameraTypes.CNHЗахват открытого CNH
DocumentCameraTypes.CNH_FRENTEЗахват лицевой стороны CNH
DocumentCameraTypes.CNH_VERSOЗахват обратной стороны CNH
DocumentCameraTypes.RG_FRENTEЗахват лицевой стороны RG
DocumentCameraTypes.RG_VERSOЗахват обратной стороны RG
DocumentCameraTypes.RG_FRENTE_NOVOЗахват лицевой стороны нового RG
DocumentCameraTypes.RG_VERSO_NOVOЗахват обратной стороны нового RG
DocumentCameraTypes.OTHERS("descrição")Универсальная рамка для любого другого документа
Универсальная рамка

Если необходимо захватить документ, для которого нет специальной рамки (например, RNE), используйте DocumentCameraTypes.OTHERS("description") — универсальную прямоугольную рамку, подходящую для любого захвата.

Полный список поддерживаемых типов документов см. в разделе Справочник API > Перечисления.

Размер рамки

Рекомендуется настроить размер рамки в вашем приложении для оптимизации области захвата.

Влияние CSS

Работа рамки может быть затронута дизайн-системами с компонентами сетки (Bootstrap, Material-UI и др.). Чтобы минимизировать этот риск, размещайте рамку (id="box-camera") там, где она не наследует нежелательные правила CSS.

Оберните рамку в родительский элемент для ограничения её размеров:

<div class="container">
<div id="box-camera"></div>
</div>
.container {
width: 800px;
height: 600px;
position: relative;
}

Соблюдайте правильное соотношение высоты к ширине, чтобы облегчить пользователю центрирование лица в рамке.

Изменение размера в инструментах разработчика

Тесты с изменением размера экрана через режим разработчика браузера работать не будут. Изменяйте размер непосредственно окна браузера.

Запуск захвата документа
Шаг 1 — Реализуйте объект callback

Web SDK использует объект callback — передаваемый в open() — для обработки событий успеха и ошибки. Оба обработчика обязательны:

ОбработчикКогда вызывается
on.success(obj)Захват завершён успешно — получает объект с base64 и encrypted
on.error(error)В ходе сессии произошла ошибка — получает ErrorBio
const callback = {
on: {
success: (obj) => {
console.log(obj.base64);
console.log(obj.encrypted);
},
error: (error) => {
console.error(error);
}
}
};
Обязательный callback

Объект callback обязателен. Если он реализован некорректно (без обоих событий success и error), SDK генерирует исключение, которое при отсутствии обработки отображается в консоли пользователя.

Шаг 2 — Создайте камеру и подготовьте сессию захвата документа

Создайте экземпляр камеры и вызовите prepareDocumentCamera, передав UnicoConfig и нужный тип DocumentCameraTypes:

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);
});

Полное описание обработки результата см. в разделе Получение результата.