Как прочитать результат верификации

Результат сессии - это статус плюс результат по каждой проверке плюс список предупреждений - именно предупреждения объясняют, что произошло на самом деле.

Short answer

Читайте в таком порядке: сначала общий статус, затем статусы по каждой проверке, затем предупреждения. Только предупреждения объясняют почему - всё остальное лишь говорит что.

Откройте любую сессию в разделе Verifications в бизнес-консоли, и вы увидите одни и те же три уровня - неважно, смотрите ли вы на консоль, тело webhook или ответ API.

Детали сессии в консоли Didit с общим вердиктом, результатами по каждой проверке и извлечёнными данными
  1. Начните здесь: решение и проверки, которые к нему привели.
  2. Liveness содержит результат по селфи и оценку сравнения лиц.
  3. Вкладка документа показывает, что было извлечено и какие поля совпали.
  4. Events объясняет, как сессия достигла своего текущего статуса.
Одна сессия, три уровня: общий статус, результаты по каждой проверке и предупреждения за ними.

#Уровень 1 - общий статус

Единый вердикт по сессии: Approved, Declined, In Review и так далее. Именно на него в основном опираются интеграции. Это агрегат: он получается путём объединения результатов всех проверок по правилам, настроенным в вашем воркфлоу, поэтому он никогда не скажет вам, какая именно проверка была ответственна за результат.

#Уровень 2 - результат по каждой проверке

У каждой выполненной проверки свой статус и свои данные. Вот те, что вы будете видеть чаще всего:

ПроверкаНа что смотреть
Верификация документаИзвлечённые поля (имя, номер документа, даты), тип и страна документа, а также прошла ли проверку MRZ
Пассивный / активный livenessБыл ли обнаружен живой человек, и любой сигнал атаки
Сравнение лиц 1:1Оценка схожести между селфи и фотографией на документе
Поиск по лицам 1:NСовпадает ли это лицо с уже верифицированным пользователем или записью в чёрном списке
AML-скринингСрабатывания, каждое с оценкой совпадения и оценкой риска
Анализ устройства и IPСтрана, сигналы VPN или прокси, заблокированные адреса
Подтверждение адресаИзвлечённый адрес и насколько хорошо он совпал с тем, что вы предоставили
NFCБыл ли прочитан чип и была ли его подпись выстроена в цепочку до доверенного эмитента
Телефон / emailБыл ли подтверждён OTP, плюс сигналы риска по номеру или адресу

Проверка может быть Approved, пока сессия в целом Declined, и наоборот. Это нормально - статус сессии является комбинацией, а не худшим из результатов.

#Уровень 3 - предупреждения

Предупреждения - это уровень, который на самом деле объясняет результат. Каждое из них - конкретный именованный код, привязанный к проверке, которая его подняла, например:

  • DOCUMENT_EXPIRED - срок действия документа истёк.
  • MRZ_VALIDATION_FAILED - контрольная сумма машиночитаемой зоны не сошлась. Сильный сигнал подделки.
  • LOW_FACE_MATCH_SIMILARITY - селфи и фотография на документе набрали оценку ниже вашего порога.
  • LIVENESS_FACE_ATTACK - во время съёмки селфи была обнаружена атака имитации.
  • POSSIBLE_MATCH_FOUND - AML нашёл кандидата на совпадение, который требует разрешения.
  • NFC_DATA_DOES_NOT_MATCH_OCR - данные с чипа и напечатанные данные расходятся.
  • IP_ADDRESS_IN_BLOCKLIST - соединение пришло с адреса, который вы блокируете.
Tip

Когда вы разбираетесь с конкретной сессией, сразу переходите к предупреждениям. Статус говорит вам вывод; предупреждения дают доказательства. Каталог предупреждений по каждой функции документирован в разделе core technology.

#Извлечённые данные и то, что вы ожидали

Если при создании сессии вы передали expected_details - имя, дату рождения, номер документа, которые у вас уже есть, - результат также сообщит, совпал ли с этим документ. Несовпадение здесь обычно указывает на ошибку ввода данных на вашей стороне, а не на поддельный документ, поэтому стоит проверить это, прежде чем кому-либо отказывать.

Important

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

#Результаты в sandbox выглядят немного иначе

В sandbox-сессии консоль помечает разделы с извлечёнными данными меткой Simulated data. Медиафайлы были сняты по-настоящему, но поля и результат получены из выбранного вами сценария, поэтому не стоит делать выводы из самих значений. См. тестирование в sandbox.

#Получение того же самого программно

Тело webhook и GET /v3/session/{id}/decision/ содержат все три уровня в одном объекте decision. Считайте webhook источником истины и опрашивайте API только для сверки - некоторые события, например правки данных, сделанные проверяющим, приходят исключительно через webhook. См. получение результатов через webhook.

#Получение копии для собственных записей

Для аудита и подачи регуляторам скачайте сессию в виде PDF - он включает каждый шаг, извлечённые данные, биометрические оценки, результаты AML и итоговое решение. См. скачивание отчёта о верификации.