Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Перед запуском убедитесь, что скрипты плагина загружены.
Для запуска окна плагина следует воспользоваться методом open(options)
. Параметры:
options
– объект с настройками:
token
– (опционально) токен авторизации;
license
– объект с информацией о лицензии;
licenseUrl
– строка, содержащая путь к файлу лицензии;
lang
– строка с идентификатором одного из подключенных языковых пакетов;
meta
– объект, ключи которого являются названиями метаполей, а значения – их строковыми значениями. Метаданные передаются в Oz API и могут быть использованы для получения результатов анализа или поиска;
params
– объект с идентификаторами и значениями дополнительных параметров:
extract_best_shot
: true/false
– запуск выбора лучшего кадра в анализе Quality;
action
– массив строк с идентификаторами действий, по которым будет проводиться проверка.
Доступные действия:
photo_id_front
– фото лицевой стороны документа;
photo_id_back
– фото обратной стороны документа;
video_selfie_left
– поворот головы налево;
video_selfie_right
– поворот головы направо;
video_selfie_down
– наклон головы вниз;
video_selfie_high
– поднятие головы вверх;
video_selfie_smile
– улыбка;
video_selfie_eyes
– моргание;
video_selfie_scan
– сканирование;
video_selfie_blank
– отсутствие действия, простое селфи.
video_selfie_best
– специальное действие, которое извлекает из видео лучший кадр и выполняет анализ по нему вместо целого видео.
overlay_options
– параметры отображения шаблона документа:
show_document_pattern
: true/false
– по умолчанию true
, отображает картинку-шаблон, при значении false
остается только прямоугольная рамка;
on_submit
– callback-функция без аргументов, вызываемая после отправки пользовательских данных на сервер (не применяется в режиме capture
).
on_capture_complete
– callback-функция с одним аргументом, вызываемая по завершении съемки и возвращающая информацию о снятом видео. Пример возвращаемого объекта показан здесь.
on_error
– callback-функция с одним аргументом, вызываемая при ошибке во время съемки и возвращающая информацию об ошибке: код ошибки, сообщение, идентификатор телеметрии для журналирования.
on_close
– callback-функция без аргументов, вызываемая по окончании проверки после закрытия окна плагина, как ручного, так и автоматического.
style
– раздел для настройки интерфейса.
device_id
– (опционально) идентификатор используемой камеры.
cameraFacingMode
(добавлено в 1.4.0) – параметр, определяющий, какую камеру использовать; возможные значения: user
(передняя камера), environment
(задняя камера). Этот параметр работает только в том случае, когда для параметра use_for_liveness
в файле конфигурации Web Adapter не установлено значение. Если use_for_liveness
установлено любое значение, cameraFacingMode
игнорируется.
disable_adaptive_aspect_ratio
(добавлено в 1.5.0) – выключает автоматическую подстройку соотношения сторон видео к соотношению сторон окна. Значение по умолчанию – False
, при стандартных настройках видео подстраивается под ближайшее соотношение из списка: 4:3, 3:4, 16:9, or 9:16. Обратите внимание: для съемки видео на смартфонах нужна портретная ориентация.
get_user_media_timeout
(добавлено в 1.5.0) – когда SDK не может получить доступ к камере, по истечении этого таймаута появится подсказка, как решить проблему. Значение по умолчанию – 40000 (мс).
Пример:
Этот коллбэк вызывается раз в несколько секунд в процессе анализа и возвращает промежуточный результат (не применяется в режиме capture
). Вид результата зависит от параметра настройки Web Adapter result_mode
.
Пожалуйста, обратите внимание: в целях безопасности мы рекомендуем настроить логику принятия решений на стороне вашего бэкенда. Более детальную информацию и примеры кода вы можете найти здесь.
Если result_mode
установлен как safe
, коллбэк on_result
возвращает только состояние анализов:
или
При значении status
коллбэк возвращает состояние анализов, а также – для каждого типа анализа – название типа, состояние анализа этого типа и вердикт системы.
или
При значенииfolder
возвращается практически то же самое, что при status
, только добавляется идентификатор папки.
В случае, когда result_mode
установлен на full
, вернется:
пока анализ выполняется – ответ, аналогичный ответу при значении status
(в процессе обработки), или
полная информация об анализах:
все, что вы могли видеть при значении folder
;
временные метки;
метаданные;
идентификаторы анализов, компании, группы анализов;
пороги;
информация о медиафайлах;
и так далее.
Чтобы скрыть окно плагина, не отменяя запросы результатов анализов и пользовательские callback'и, воспользуйтесь методом hide()
. Метод может пригодиться, если, к примеру, после отправки данных требуется вывести собственный индикатор загрузки.
Для принудительного закрытия окна плагина воспользуйтесь методом close()
. При этом все запросы к серверу и callback-функции (кроме on_close) в рамках данной сессии будут остановлены.
Пример использования:
Результаты анализа доступны клиентскому приложению через функции-коллбэки Web Plugin, однако мы рекомендуем получать их через бэкенд напрямую от Oz API и там же обрабатывать впоследствии. Таким образом исключается вероятность манипуляций с результатами анализов через контекст браузера.
Чтобы найти нужную папку со стороны бэкенда, сделайте следующее:
На фронтенде добавьте уникальный идентификатор папки через метаданные:
Вы можете добавить собственные пары ключ-значение для хранения любой текстовой информации, например, номера документа или телефона. Однако удостоверьтесь при этом, что соблюдаются нормы законодательства о защите персональной информации.
Для оповещения о завершении анализа используйте функцию-коллбэк on_result
, затем вызовите бэкенд и передайте значение transaction_id
.
На стороне бэкенда найдите папку по присвоенному ранее идентификатору с помощью метода Folder LIST
:
Для ускорения обработки запроса мы рекомендуем ограничить выдачу по времени:
В ответе придут результаты анализов и идентификатор папки folder_id
- он потребуется для дальнейших действий.
Web Adapter отправляет Web Plugin данные с различным уровнем детализации. Для продакшна рекомендуется установить минимальный уровень. Для этого в файле конфигурации Web Adapter установите параметру result_mode
значение "safe".
Для настройки интерфейса воспользуйтесь разделом style
в методе Ozliveness.open
. Изменить можно следующие настройки:
faceFrame
– цвет рамки вокруг лица:
faceReady
– цвет рамки при правильном расположении лица;
faceNotReady
– цвет рамки при неправильном положении лица, когда анализ не может быть запущен.
centerHint
– текст подсказки в центре.
textSize
– размер текста;
color
– цвет текста;
yPosition
– позиция по вертикали относительно верха контейнера;
letterSpacing
– расстояние между буквами;
fontStyle
– стиль текста (полужирный, курсив и так далее).
closeButton
– кнопка закрытия плагина:
image
– изображение для кнопки, может быть картинкой в формате PNG или dataURL в base64.
backgroundOutsideFrame
– заливка вне рамки вокруг лица:
color
– цвет заливки.
Пример:
Для выпуска лицензии потребуется информация о доменных именах сайтов, где будет использоваться Web SDK. Можно также указывать поддомены.
Чтобы узнать доменный адрес, в режиме разработчика выполните window.origin
на странице, где будет запускаться Web SDK. При использовании Web SDK на localhost / 127.0.0.1 лицензия может работать без информации о доменных именах.
Укажите информацию о лицензии одним из двух способов:
через данные о лицензии:
через путь к лицензии:
Проверьте, как установилась лицензия: например, пройдите по доменному имени хоста и выполните действие Liveness -> Simple selfie.
Далее при каждом запуске Web SDK система будет проверять валидность лицензии.
Этот коллбэк вызывается после окончания проверки и возвращает результат анализа (не применяется в режиме capture
). Вид результата зависит от параметра настройки Web Adapter result_mode
.
Пожалуйста, обратите внимание: в целях безопасности мы рекомендуем настроить логику принятия решений на стороне вашего бэкенда. Более детальную информацию и примеры кода вы можете найти здесь.
Если result_mode
установлен как safe
, коллбэкon_complete
возвращает только состояние анализов:
При значении status
коллбэк возвращает состояние анализов, а также – для каждого типа анализа – название типа, состояние анализа этого типа и вердикт системы.
При значенииfolder
возвращается практически то же самое, что при status
, только добавляется идентификатор папки.
В случае, когда result_mode
установлен на full
, вернется полная информация об анализах:
все, что вы могли видеть при значении folder
;
временные метки;
метаданные;
идентификаторы анализов, компании, группы анализов;
пороги;
информация о медиафайлах;
и так далее.
Для настройки интерфейса воспользуйтесь разделом style
в методе Ozliveness.open
. Полный список настроек приведен после примера.
Пример использования:
Основные цветовые настройки.
Основные настройки шрифта.
Настройки шрифта заголовка.
Настройки кнопок.
Настройки панели инструментов.
Настройки подсказки в центре.
Анимация подсказки.
Настройки рамки вокруг лица.
Настройки рамки для съемки документа.
Настройки фона.
Настройки защиты от мошенников: при включении во время записи видео появляется дополнительное сообщение.
Настройки текста версии SDK.
Настройки 3D-маски, добавленной в версии 1.2.1.
Таблица соответствия параметров:
При работе с Web SDK ваше приложение обращается к Web Plugin, который работает в контексте браузера. Плагин обменивается информацией с Web Adapter, а тот, в свою очередь – с Oz API.
Образец кода Oz Liveness Web SDK находится здесь. Чтобы все работало корректно, нужно заменить <web-adapter-url>
на полученную от нас ссылку на Web Adapter.
Для Angular и React нужно заменить https://web-sdk.sandbox.ozforensics.com
в index.html.
В этом разделе вы узнаете, как снимать видео и отправлять его Oz API через ваш бэкенд.
Режим capture работает следующим образом:
1. Oz Web SDK снимает видео и передает его вашему web-приложению в виде последовательности кадров.
2. Web-приложение вызывает ваш бэкэнд и передает в него архив с кадрами.
3. После обработки видео ваш бэкэнд вызывает Oz API для выполнения анализов, после чего получает их результаты.
4. Ваш бэкэнд передает результаты обратно в web-приложение (опционально).
На стороне сервера необходимо сконфигурировать Web SDK для работы в режиме capture: установить параметру architecture
в файле app_config.json значение capture
.
В вашем web-приложении добавьте callback-функцию для обработки кадров при открытии плагина Web SDK:
Структура получаемого объекта зависит от того, была ли обнаружена виртуальная камера.
Список переменных с их значениями приведен ниже.
Видео, полученное через Oz Web SDK, – это последовательность кадров. Чтобы отправить его Oz API, поместите кадры в ZIP-архив, затем используйте метод POST {{host}}/api/folders
(пройдите по ссылке для ознакомления с коллекцией Postman).
Вы можете получить из папки видео в формате MP4 video: вызовите метод /api/folders/{{folder_id}}
, указав идентификатор папки. В JSON-ответе найдите preview_url
в source_media
. В preview_url
содержится ссылка на видео. Из плагина получить MP4-видео нельзя (только в виде последовательности кадров).
При использовании архитектуры capture
также необходимо добавить в запрос POST {{host}}/api/folders
дополнительное поле additional_info
. Оно нужно для сбора информации о среде клиента. Пример заполнения тела запроса:
Для передачи в Oz API используйте данные без кодирования в base64.
Для подключения плагина на страницу необходимо добавить в html-код страницы ссылку на основной скрипт плагина (plugin_liveness.php
). web-sdk-root-url
– это полученная от нас ссылка на Web Adapter.
При использовании Angular и Vue подключение стилей и скриптов происходит так же. При интеграции с React-приложениями необходимо загружать и инициализировать плагин в head
на главной странице шаблона. Внимание: при использовании <React.StrictMode>
возможна некорректная работа Web Liveness.
Для работы плагина Oz Liveness браузер должен поддерживать JavaScript ES6. Версия браузера должна быть не ниже указанной в таблице.
Браузер | Версия |
---|---|
*В режиме совместимости с Internet Explorer Web SDK работать не будет, так как не поддерживаются некоторые важные функции.
Для добавления нового языкового пакета или модификации существующего следует воспользоваться методом add_lang(lang_id, lang_obj)
.
Параметры:
lang_id
– строковое значение, которое далее можно использовать в качестве параметра lang
метода open()
;
lang_obj
– объект, ключами которого являются идентификаторы строк перевода, а значениями – сами строки перевода.
Список идентификаторов языков:
lang_id | Язык |
---|
*До версии 1.3.1 назывался pt
.
Пример использования:
OzLiveness.add_lang('ru', ruTranslation)
, гдеruTranslation
– объект JSON.
Для установки нужного языка укажите его идентификатор в lang
:
Вы можете запросить, какие языковые пакеты установлены в Web SDK, с помощью метода ozLiveness.get_langs()
. Добавленные вручную локали также отобразятся.
Список всех строковых идентификаторов:
Ключи вида oz_action_*_go
относятся к соответствующим жестам. oz_tutorial_camera_*
– к подсказкам, как включить камеру для различных браузеров. Остальные – к подсказкам для всех жестов, информационным сообщениям или ошибкам.
Если какие-либо из ключей в вашем языковом пакете отсутствуют, соответствующие строки будут отображаться на английском языке.
Переменная
Тип
Описание
best_frame
String
Лучший кадр, JPEG в формате data URL
best_frame_png
String
Лучший кадр, PNG в формате data URL, необходим для защиты от подмены видеопотока с помощью виртуальной камеры
best_frame_bounding_box
Array[Named_parameter: Int]
Координаты прямоугольника, в который вписано лицо на лучшем кадре
best_frame_landmarks
Array[Named_parameter: Array[Int, Int]]
Координаты "ориентиров" лица (левый глаз, правый глаз, нос, рот, левое ухо, правое ухо) на лучшем кадре
frame_list
Array[String]
Все кадры в формате data URL
frame_bounding_box_list
Array[Array[Named_parameter: Int]]
Координаты прямоугольников, в которые вписано лицо на кадрах из frame_list
в соответствующем порядке
frame_landmarks
Array[Named_parameter: Array[Int, Int]]
Координаты "ориентиров" лица (левый глаз, правый глаз, нос, рот, левое ухо, правое ухо) на кадрах из frame_list
в соответствующем порядке
action
String
Код действия
additional_info
String
Информация о среде клиента
Параметр
Описание
textColorPrimary
Основной цвет текста
backgroundColorPrimary
Основной цвет фона
textColorSecondary
Дополнительный цвет текста
backgroundColorSecondary
Дополнительный цвет фона
iconColor
Цвет значков
Параметр
Описание
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
Параметр
Описание
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
Параметр
Описание
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
textColorPrimary
Основной цвет текста
backgroundColorPrimary
Основной цвет фона
textColorSecondary
Дополнительный цвет текста
backgroundColorSecondary
Дополнительный цвет фона
cornerRadius
Угловой радиус кнопки
Параметр
Описание
closeButtonIcon
Значок кнопки закрытия
iconColor
Цвет значка
Параметр
Описание
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
textColor
Цвет текста
backgroundColor
Цвет фона
backgroundOpacity
Непрозрачность фона
backgroundCornerRadius
Угловой радиус подложки
verticalPosition
Положение по вертикали
Параметр
Описание
hideAnimation
Скрыть анимацию
hintGradientColor
Цвет градиента
hintGradientOpacity
Непрозрачность градиента
animationIconSize
Размер значка анимации
Параметр
Описание
geometryType
Форма рамки – прямоугольник или овал
cornersRadius
Угловой радиус прямоугольника
strokeDefaultColor
Цвет рамки (лицо не в кадре)
strokeFaceInFrameColor
Цвет рамки (лицо в кадре)
strokeOpacity
Непрозрачность обводки
strokeWidth
Толщина линии обводки
strokePadding
Отступ в рамке
Параметр
Описание
cornersRadius
Угловой радиус
templateColor
Цвет шаблона
templateOpacity
Непрозрачность шаблона
Параметр
Описание
backgroundColor
Цвет фона
backgroundOpacity
Непрозрачность фона
Параметр
Описание
textMessage
Текст сообщения
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
textColor
Цвет текста
textOpacity
Непрозрачность текста
backgroundColor
Цвет фона
backgroundOpacity
Непрозрачность фона
backgroundCornerRadius
Угловой радиус подложки
flashColor
Цвет мигающего индикатора
Параметр
Описание
textFont
Шрифт
textSize
Размер шрифта
textWeight
Насыщенность шрифта
textStyle
Стиль текста
textColor
Цвет текста
textOpacity
Непрозрачность текста
Параметр
Описание
maskColor
Цвет самой маски
glowColor
Цвет обводки маски
minAlpha
Минимальный уровень прозрачности маски (добавлено в 1.3.1)
maxAlpha
Максимальный уровень прозрачности маски (добавлено в 1.3.1)
Предыдущий дизайн
Новый дизайн
doc_color
-
face_color_success
faceFrame.faceReady
faceFrameCustomization.strokeFaceInFrameColor
face_color_fail
faceFrame.faceNotReady
faceFrameCustomization.strokeDefaultColor
centerHint.textSize
centerHintCustomization.textSize
centerHint.color
centerHintCustomization.textColor
centerHint.yPosition
centerHintCustomization.verticalPosition
centerHint.letterSpacing
-
centerHint.fontStyle
centerHintCustomization.textStyle
closeButton.image
-
backgroundOutsideFrame.color
backgroundCustomization.backgroundColor
Google Chrome (и другие браузеры на движке Chromium)
56
Mozilla Firefox
55
Safari
11
Microsoft Edge*
17
Opera
47
en | Английский |
ru | Русский |
es | Испанский |
pt-br* | Португальский (бразильский) |
kz | Казахский |