Backend API 1.56.1 · Личный кабинет 2.38.1
В этом выпуске несколько изменений для интеграций: сессия теперь создаётся по явно указанному сценарию, кадр в существующую сессию обрабатывается по сценарию этой сессии, медиафайлы сессии по токену доступны пользователю аккаунта с правом просмотра изображений. Кроме того, если пользователь держит в кадре селфи документ с фото, лицо с документа теперь сравнивается с лицом селфи, даже когда шаг не требует документа в руках. Сессия с проверками по базам данных теперь получает итоговый статус после их завершения, а проверку в сценарии можно сделать блокирующей. Три изменения могут потребовать небольших правок в интеграции — о них в первом разделе.
На что стоит обратить внимание
Итог сессии с проверками по базам данных. Обратите внимание: если в сценарии включены проверки по базам данных, сессия, прошедшая все шаги, теперь остаётся в статусе processing, пока проверки не завершатся. Этот статус вы увидите в ответах GET /v1/kyc/session/status, в списках сессий и в ответе POST /v1/kyc/process. Итоговый вебхук SESSION_COMPLETE отправляется один раз — после завершения проверок, уже с итоговым статусом. Если вы опрашиваете статус сессии, рекомендуем считать processing промежуточным состоянием и дожидаться итогового статуса или вебхука. Виджет статус processing не показывает: колбэк успешного завершения (successCb) срабатывает, когда пользователь прошёл все шаги, ещё до завершения проверок, поэтому итог сессии стоит брать из API или вебхука.
Блокирующие проверки по базам данных (новое). В редакторе сценария, в блоке «Проверки баз данных» шага документа, у выбранной проверки появился переключатель «[не блокирующая]» / «[блокирующая]». Если блокирующая проверка не пройдена или её не удалось выполнить, сессия, которая иначе была бы успешной, получает статус failed, а в errors шага и сессии появляется код [legal] database check failed. Если сессия уже не прошла по другой причине, её статус сохраняется и к ошибкам добавляется этот код. Если после повторной проверки статус сессии изменится, вебхук SESSION_COMPLETE придёт ещё раз с новым статусом. Все проверки в существующих сценариях остаются неблокирующими, их поведение не меняется; блокирующей проверку делает только отметка в редакторе.
Идентификатор сценария при создании сессии. Обратите внимание: если вы создаёте сессию без идентификатора сценария, теперь потребуется передавать его в каждом запросе, который создаёт сессию. Это касается запроса POST /v1/kyc/session/create, а также запроса POST /v1/kyc/process, когда он создаёт новую сессию. Без идентификатора сценария такой запрос получит ответ HTTP 400 bad schemaId: сессия не будет создана, изображения не будут обработаны. Раньше в таких запросах подставлялся самый ранний сценарий аккаунта.
Медиафайлы сессии по токену. Стоит учесть, что если вы забираете изображения или видео сессии (images, imagesFull, imageObjects, faceSelfie, faceDoc, faces, video) по ссылке с заголовком token, теперь они будут отданы, только если токен принадлежит пользователю аккаунта этой сессии с правом «Просмотр изображений документов KYC». Для остальных токенов такой запрос вернёт 404. Поэтому рекомендуем убедиться, что у пользователя этого токена есть право «Просмотр изображений документов KYC» — его можно отметить в роли пользователя: «Настройки» → «Управление пользователями» → «Роли», группа «Интерфейс» → «История KYC»; без него ответы API и сейчас отдают вместо изображений "Access denied". Ссылки с подписью, которые выдаются в ответе API, работают как раньше.
Загрузка кадров
Кадр в существующую сессию — по её сценарию (изменено). Если запрос POST /v1/kyc/process попадает в существующую сессию (по sessionId или clientKey), изображение обрабатывается по сценарию этой сессии, какой бы сценарий ни был указан в запросе и даже если он не указан. stepIndex проверяется по шагам сценария сессии.
Лицо на документе в руках на шаге «Селфи» без документа (изменено). Если на кадре шага селфи, который не требует документа в руках, всё же виден документ с фото, лицо с документа сравнивается с лицом селфи, и результат сравнения учитывается в итоге сессии. Если лицо на таком документе не найдено, его пары сравнения отдаются со статусом skipped и в проверке не участвуют.
Статусы и ошибки
| Код | Когда отдаётся теперь |
|---|---|
bad schemaId (HTTP 400) | kyc/session/create и kyc/process без идентификатора сценария, когда запрос создаёт сессию; kyc/session/create с идентификатором, которого нет среди активных сценариев аккаунта — раньше такой запрос оставался без ответа |
[legal] database check failed | В errors шага и сессии, когда блокирующая проверка по базе данных не пройдена или не выполнена; сессия, которая иначе была бы успешной, получает статус failed (новый код) |
Личный кабинет
- Карточка сессии. Плитка шага показывает ожидание с момента загрузки кадра, пока на ней не появится новый снимок; карточка обновляется по ходу обработки шага. Карточка, открытая во время обработки, тоже показывает ожидание. Несколько кадров, загруженных из одной карточки, уходят в сессию по очереди.
- Ссылки. Новый статус ссылки «Подозрение» — его ссылка получает от сессии, которую отметили как подозрительную; статус есть в фильтре страницы ссылок. Ссылка с истёкшим сроком показывает итог сессии, когда та завершена.
Подробное описание полей вы найдёте в документации API (/docs).