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

Обзор

Отчёт о верификации личности содержит все данные, которые Didit извлёк и проверил из официального удостоверения личности государственного образца — паспортов, ID-карт, водительских удостоверений и видов на жительство. Он объединяет распознанные с помощью OCR биографические данные и поля документа, подписанные URL-адреса полученных медиафайлов, разобранные и геолоцированные адресные данные, оценки качества изображений для каждой стороны, содержимое MRZ, детализацию по нескольким системам письма (латиница / нелатиница), а также кросс-сессионные совпадения документов. Отчёт формируется после того, как пользователь завершает шаг захвата документа в сценарии (или вызывает отдельный endpoint для OCR). Didit определяет тип документа, выполняет OCR, проверяет MRZ / штрихкод / QR-код, разбирает адрес, проверяет документ на признаки подделки (съёмка с экрана, распечатанная копия, манипуляции с портретом) и сравнивает документ со всеми другими документами, полученными в вашем приложении. Каждый отчёт имеет собственный status — независимый от общего статуса сессии, — который отражает результат выполнения исключительно шага верификации личности:
  • Одобрена — документ распознан, все обязательные поля извлечены, предупреждений, ведущих к отклонению, не возникло.
  • На проверке — сработало одно или несколько предупреждений, и ваш сценарий направляет их на проверку.
  • Отклонена — сработало условие автоматического отклонения (неподдерживаемый документ, просроченный документ, отсутствует портрет, совпадение со списком блокировки, ошибка адаптивной оценки возраста) либо предупреждение, для которого настроено действие Отклонить (для минимального/максимального возраста по умолчанию задано действие Отклонить).
  • Истекла — expiration_date документа наступила после верификации. Постоянный мониторинг сроков действия в Didit переводит статус отчёта из Approved в Expired, добавляет предупреждение DOCUMENT_EXPIRED и переводит одобренную сессию в статус сессии Kyc Expired.
  • Не завершена — пользователь так и не завершил шаг захвата.

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

Отчёт о верификации личности передаётся внутри массива id_verifications[] — всегда в виде JSON-массива, а не отдельного объекта id_verification. Несколько записей появляются, когда сценарий выполняет более одного шага с документами (например, основной документ плюс дополнительный).
  • API решения по сессии — GET /v3/session/{sessionId}/decision/ возвращает id_verifications[] на верхнем уровне. См. Получение решения по сессии.
  • Webhook — payload события session.status.updated содержит тот же массив id_verifications[], как только шаг выдаёт данные. См. Webhook.
  • Отдельный OCR API — прямая отправка документа возвращает одиночный объект id_verification с теми же полями. См. Отдельный OCR API.
Считывайте response.id_verifications[0] и выполняйте итерацию по массиву. Структура в виде одиночного объекта id_verification существует только в отдельном OCR API — её нет в endpoint решения v3.

Схема

Каноническая схема с построчным описанием полей приведена на справочной странице Модели данных. Поля ниже взяты напрямую из IDVerificationV3Serializer, который расширяет IDVerificationV2Serializer и добавляет node_id, массив межсессионных совпадений matches[] и массив Silent Capture document_selfie_face_matches[].

Поля верхнего уровня

issuing_state всегда указывает на уровень страны, а не субнациональный регион. Для любого типа документа, включая водительские удостоверения, выданные штатом или провинцией (Австралия, США, Канада), issuing_state и issuing_state_name содержат страну (например, AUS / Australia), а не штат. Субнациональное значение, если оно присутствует в документе, доступно отдельно в parsed_address.region (при отсутствии этого значения для некоторых типов документов используется extra_fields.state). В обзоре сессии в Business Console это отображается как строка Регион под полем Государство выдачи, если данные присутствуют.
Водительские удостоверения с двумя номерами (Австралия). На австралийских правах напечатаны как номер удостоверения, который идентифицирует право на вождение и остаётся неизменным при замене карты, так и номер карты, который идентифицирует физическую карту и меняется при каждом перевыпуске. Для таких удостоверений Didit всегда сопоставляет номера одинаковым образом:
  • personal_number — номер удостоверения
  • document_number — номер карты
Это правило действует для каждого австралийского штата и территории (NSW, VIC, QLD, WA, SA, TAS, ACT, NT). В некоторых вариантах номер карты напечатан только на обратной стороне, поэтому он считывается только при захвате обратной стороны удостоверения. Если номер карты считать не удаётся, номер удостоверения передаётся одновременно в document_number и personal_number, поэтому document_number всегда содержит идентификатор после завершения верификации. personal_number в любом случае остаётся номером удостоверения. Для других типов документов document_number остаётся основным номером, распознанным через OCR, и сам по себе может являться идентификатором владельца.
Аргентинский CUIL передаётся в extra_fields.tax_number, и никогда в personal_number. В аргентинских документах CUIL — 11-значный идентификатор, по которому осуществляют поиск AFIP, ANSES и бюро кредитных историй, — напечатан в разных местах в зависимости от документа, а на DNI рядом с ним напечатан второй 11-значный номер:
  • в водительском удостоверении CUIL передаётся в personal_number;
  • в DNI поле personal_number содержит número de trámite, который идентифицирует заявление на выдачу карты и не является идентификатором владельца. CUIL на DNI считывается из отдельного напечатанного поля.
Поэтому personal_number не является надёжным источником CUIL для Аргентины: в случае DNI это 11-значный номер, по которому ни один реестр без предупреждения не вернёт результатов. Используйте вместо этого extra_fields.tax_number. Didit возвращает его только тогда, когда значение проходит валидацию как настоящий CUIL (префикс физического лица плюс контрольная цифра по модулю 11) в виде канонических цифр без разделителей (27111111117), независимо от того, какой аргентинский документ предоставил владелец. Если CUIL с карты не удалось считать, ключ отсутствует, а не заполняется числом, не являющимся CUIL — чтобы охватить таких пользователей, запросите водительское удостоверение в качестве второго документа либо соберите CUIL через ответ в анкете или metadata сессии.

Оценки качества изображения

Поля front_image_quality_score и back_image_quality_score возвращают:
Используйте overall_score для быстрой проверки пригодности — оценки выше 70, как правило, указывают на снимок достаточного качества для надёжной верификации.

Оценки проверки живости документа

В поле document_liveness передаются результаты проверки живости документа, независимо от того, было ли сгенерировано предупреждение. Предупреждение возникает только тогда, когда оценка опускается ниже одного из порогов сценария, поэтому до появления этого поля одобренный документ вообще не содержал свидетельств проверки живости - данное поле позволяет провести аудит успешно пройденной сессии. Значение равно null, если проверка не выполнялась (например, при методе без использования документов или при сбое модели, зафиксированном в журналах сессии). Оно содержит по одному объекту для каждого типа мошенничества - portrait_replace, printed_copy и screen_replay - каждый со следующими полями:
Для более старых документов без сохранённых данных оценки записанные баллы остаются видимыми, однако оба порога и bucket равны null. Текущие настройки сценария никогда не используются для реконструкции исторического результата. То же относится и к снимку, оценка документа по которому ещё не завершена. В Business Console те же три строки отображаются в блоке Проверка живости документа раздела «Верификация личности» сессии.

Совпадения между сессиями

В matches[] перечислено до 5 других документов в вашем приложении, совпадающих с данным — одинаковая дата рождения, одинаковая страна выдачи и очень близкое полное имя. Для документов из списка блокировки дополнительно требуется точное совпадение номера документа. Сессии, принадлежащие тому же пользователю (одинаковый vendor_data), исключаются. Каждая запись содержит session_id, session_number, vendor_data, verification_date, user_details (name, document_type, document_number), status, is_blocklisted (true, если документ был добавлен в ваш список блокировки), api_service и подписанный front_image_url.

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

Документы с несколькими системами письма (латиница / нелатиница)

Некоторые документы — кыргызские, казахские, российские, японские, корейские, китайские, арабские, тайские и другие — содержат имя, адрес или место рождения владельца как в латинской транслитерации, так и в местной системе письма. Вы можете выбрать, какая система письма используется для полей верхнего уровня, с помощью настройки сценария (или автономного API) preferred_characters: Значения в альтернативной системе письма находятся внутри extra_fields под ключами с соответствующими суффиксами: first_name_non_latin, last_name_non_latin, middle_name_non_latin, full_name_non_latin, address_non_latin, place_of_birth_non_latin (или соответствующие варианты _latin).

Когда появляются поля с альтернативной системой письма

  • Только когда обе системы письма действительно присутствуют в документе. Если OCR-поле с номинальной меткой «Surname-Kyrgyz (Cyrillic)» извлекается как текст на латинице (омоглифы или латинская транслитерация), оно не считается нелатинской альтернативой, и этот ключ опускается.
  • full_name_non_latin (и full_name_latin) всегда воссоздаются из отдельных компонентов имени, отчества и фамилии, когда доступны оба варианта — исходное поле «Full Name» из OCR игнорируется для обеспечения согласованности.
  • Если задан параметр preferred_characters=latin, но документ содержит только нелатинский текст (из-за чего поля верхнего уровня оказываются не на латинице), Didit выполняет транслитерацию и предоставляет поля first_name_latin, last_name_latin, middle_name_latin, full_name_latin, place_of_birth_latin и address_latin в качестве резервного варианта на латинице.
Поле last_name_non_latin отсутствует, так как в этом образце поле документа «Surname (Cyrillic)» вернуло латинские символы — подлинная нелатинская фамилия для извлечения отсутствовала.

Примеры

Approved — испанское удостоверение личности без замечаний (все поля)

In Review — QR-код не обнаружен на документе, где он должен быть

Сокращено — реальный ответ всегда содержит полный набор полей, показанный выше.

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

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

Связанные материалы

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