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

Обзор

Отчёт сравнения лиц фиксирует биометрическое сравнение 1:1 между селфи, сделанным в ходе проверки живости, и эталонным изображением — чаще всего портретом, извлечённым из документа, удостоверяющего личность. Он возвращает единую оценку сходства от 0 до 100, подписанные URL-адреса для двух сравниваемых изображений, исходную сессию для эталонного изображения и любые предупреждения, возникшие при сопоставлении. Отчёт формируется после того, как пользователь завершит и шаг проверки живости, и шаг документа в сценарии (или, для сценариев на основе портрета, таких как биометрическая аутентификация, только после проверки живости), либо напрямую через отдельный API сравнения лиц, когда вы сами передаёте два произвольных изображения лиц. Каждый отчёт содержит собственный status — независимый от общего статуса сессии, — который отражает результат выполнения именно шага сравнения лиц:
  • Одобрено — score выше порога отправки на проверку, и предупреждений с автоматическим отклонением не возникло.
  • На проверке — score находится между порогами отклонения и отправки на проверку, либо оценку не удалось рассчитать и параметр face_match_not_computed_action имеет значение REVIEW.
  • Отклонено — score находится на уровне порога отклонения или ниже него, сработало предупреждение NO_REFERENCE_IMAGE, либо оценку не удалось рассчитать и параметр face_match_not_computed_action имеет значение DECLINE.
  • Запрошена повторная отправка — проверяющий запросил повторную отправку этого шага пользователем из консоли.
  • Не завершено — шаг сравнения лиц ещё не сформировал результат (в том числе пока пользователь повторяет неудачную попытку съёмки).

Где это отображается в ответах API

Отчёт сравнения лиц передаётся внутри массива face_matches[] — всегда в виде массива JSON, а не единичного объекта face_match. Он имеет значение null до тех пор, пока хотя бы один шаг сравнения лиц не сформирует данные; если сценарий запускает сравнение лиц несколько раз, в массиве появляется несколько записей. Сценарий Adaptive Age Verification также заполняет его при срабатывании резервной проверки личности: в этой записи узел оценки возраста указывается в качестве node_id, поскольку в самом сценарии нет отдельного узла сравнения лиц.
  • API решения по сессии — GET /v3/session/{sessionId}/decision/ возвращает face_matches[] на верхнем уровне. См. Получение решения по сессии.
  • Вебхуки — в payload события session.status.updated включается тот же массив face_matches[], как только шаг сформирует данные. См. Вебхуки.
  • Отдельный Face Match API — прямое сравнение 1:1 описано в разделе Отдельный Face Match API.
Считывайте response.face_matches[0] и выполняйте итерацию по массиву — единичная структура face_match, упоминавшаяся в некоторых старых руководствах, в endpoint решения v3 отсутствует.

Схема

Каноническая схема с построчным описанием полей находится на странице справочника Модели данных. Поля ниже соответствуют этой канонической схеме.

Значения статуса

При неудачах из-за низкого сходства съёмка повторяется до окончательной фиксации статуса: пользователю даётся до face_match_max_attempts попыток (по умолчанию 3), и учитывается оценка только последней попытки. Пользовательские правила статусов, настроенные на узле сценария, могут дополнительно скорректировать итоговый статус, объединяясь со статусом, полученным на основе оценки, по приоритету Declined > In Review > Approved.

Примеры

Одобрено — чистое совпадение

На проверке — пограничное сходство

Отклонено — нет эталонного изображения для сравнения

Примечание по безопасности

Подписанные URL-адреса для source_image и target_image представляют собой биометрические данные, и срок их действия истекает через короткий промежуток времени. Относитесь к ним как к кратковременным: не кэшируйте их и не делайте общедоступными. Как правило, вашему приложению нужны только status и score — сохраняйте как можно меньше данных, чтобы минимизировать объем биометрических данных на ваших серверах.

Связанные разделы

Последнее изменение 7 ноября 2026 г.