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

Интеграция Web-приложения

На этой странице описано, как работают сценарии Unico и какие модели интеграции доступны для их встраивания в приложение.

Сценарий — это последовательность шагов, которые пользователь проходит для завершения проверки личности. Например: сделать фотографию документа и выполнить захват лица (Проверка живости).

Unico берёт на себя весь пользовательский опыт. Усилия по интеграции минимальны: сценарий создаётся через CreateProcess, пользователь направляется в него, и в конце вы получаете результат. Всё, что происходит между этими шагами (экраны, инструкции, проверки), уже готово и поддерживается Unico.

Выбор подхода к интеграции
  • Web SDK (пакет unico-webframe): используйте, когда ваш бэкенд уже управляет процессом проверки личности и вам нужен только клиентский компонент захвата. Возвращает base64 + зашифрованный JWT прямо в ваш callback; вызовы API вы выполняете сами.
  • Web App Integration (пакет idpay-b2b-sdk): используйте, когда хотите, чтобы Unico оркестрировал весь сценарий (многошаговые потоки, захват документа + Проверка живости). Пакет idpay-b2b-sdk обеспечивает встроенную модель Journeys SDK (iFrame); модель Прямой доступ (редирект) не требует библиотеки.

Две модели интеграции

У каждого клиента свои потребности. Unico предлагает две модели для направления пользователя к сценарию.

МодельПодходит для
Прямой доступМобильные приложения, уже использующие WebView, или веб-потоки, где сценарий может выполняться вне основной страницы
Journeys SDKВеб-приложения, которым нужен интегрированный и бесшовный опыт с сохранением пользователя в той же среде

Пользователь перенаправляется на размещённую Unico ссылку, где выполняется сценарий. После завершения он возвращается на URL, заданный при создании процесса (параметр callbackUri).

Это самый простой в применении подход: он не требует установки библиотек и хорошо подходит, когда сценарию не нужно выполняться внутри собственной страницы приложения. С другой стороны, вывод пользователя за пределы среды клиента обычно создаёт больше трений и, как следствие, более высокий процент отказов.

После создания процесса ответ API содержит URL размещённого Unico сценария. Есть два распространённых способа направить к нему пользователя:

  • Стандартный редирект. Пользователь перенаправляется напрямую на URL сценария. После завершения Unico возвращает его на callbackUri, заданный при создании процесса.
  • Новая вкладка с window.open(). Сценарий открывается в новой вкладке браузера, оставляя пользователя в отдельном контексте. В этом случае рекомендуется отслеживать изменение URL на callbackUri и закрывать вкладку после завершения процесса. Подробности об API см. в документации MDN.

Схема интеграции через прямой доступ

В мобильных приложениях принято использовать WebView, чтобы открыть сценарий напрямую, без дополнительного редиректа. В этом случае callbackUri также принимает deeplink, что позволяет по завершении сценария открыть определённый экран в нативном приложении. Достаточно настроить deeplink как адрес возврата, и операционная система сама направит пользователя в нужное место.

Схема интеграции через WebView

Не держите DevTools открытыми во время тестов захвата

Приложение Unico использует Capture SDK (unico-webframe) для захвата лица, который распознаёт открытые DevTools как возможный признак мошенничества и блокирует отправку. Закройте DevTools перед запуском сквозных (end-to-end) тестов захвата.

Неподдерживаемые интеграции

Модели, описанные в этой документации (прямой доступ и Journeys SDK), являются единственными способами интеграции, официально поддерживаемыми Unico. Интеграции, отклоняющиеся от этих стандартов, могут вызывать непредвиденное поведение, сбои в потоке безопасности и прерывания сценария и не будут покрываться поддержкой Unico.

Несколько примеров неподдерживаемых подходов:

  • Встраивание SDK внутрь WebView в мобильных приложениях. В таких случаях правильный подход — использовать модель прямого доступа, открывая ссылку сценария напрямую в WebView, без задействования Journeys SDK.
  • Загрузка iFrame напрямую через HTML-тег <iframe> без использования Journeys SDK. iFrame — это внутренняя деталь реализации SDK, и его нельзя инстанцировать вручную. Правильный подход — использовать Journeys SDK, который безопасно управляет жизненным циклом iFrame в рамках ожидаемых стандартов.

Если есть сомнения, соответствует ли подход поддерживаемому стандарту, обратитесь к документации или свяжитесь с поддержкой, прежде чем продолжать реализацию.