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

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

Захват документов, удостоверяющих личность. 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

Функциональность рамки может быть нарушена дизайн-системами с grid-компонентами (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);
});

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