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

Обзор

Предупреждения в отчёте NFC отмечают каждое условие, зафиксированное Didit при чтении и валидации чипа. Они попадают в массив warnings[] для каждого элемента nfc_verifications[] (см. Отчёт NFC) со значением feature, установленным в "NFC". Каждая запись соответствует общей структуре объекта предупреждения: feature, risk, additional_data, log_type, short_description, long_description, node_id. У каждого предупреждения есть три уровня:
  1. Код risk — стабильный идентификатор, с которым можно сопоставлять данные в коде (список кодов приведён ниже).
  2. Тип log_type — одно из значений: information, warning или error. Он зависит от действия, настроенного в вашем сценарии для этого риска: Без действия → information, Проверка → warning, Отклонить → error.
  3. Влияние на решение — то же настроенное действие определяет статус status отчёта NFC: действие «Проверка» переводит его в In Review, а действие «Отклонить» переводит в Declined.
Четыре риска NFC настраиваются таким образом (SKIPPED_NFC_VALIDATION, NFC_CHIP_NOT_VERIFIED, NFC_TRUST_ANCHOR_MISSING, NFC_AND_OCR_DATA_NOT_SAME), а также пять рисков для Japan My Number Card, каждый из которых имеет собственную настройку. Два риска сертификатов (DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) носят исключительно информационный характер: они всегда передаются со значением log_type: "information" и сами по себе никогда не меняют статус NFC. Полный набор кодов рисков, генерируемых модулем NFC, приведён ниже. Других кодов рисков NFC не существует.

Создаваемые предупреждения

SKIPPED_NFC_VALIDATION и NFC_CHIP_NOT_VERIFIED, а также NFC_TRUST_ANCHOR_MISSING являются взаимоисключающими: предупреждения о верификации чипа оцениваются только в том случае, если считывание чипа не было пропущено. Эти два предупреждения о верификации чипа также являются взаимоисключающими.

Точные строки описания

API возвращает следующие точные строки short_description и long_description для каждого риска:

Причины пропуска

Предупреждения SKIPPED_NFC_VALIDATION содержат additional_data.skip_reason — один из семи стабильных кодов, указывающих точную причину, по которой NFC-проверка не выполнялась (в сессиях, записанных до появления причин пропуска, additional_data может иметь значение null — обрабатывайте это поле как необязательное при обработке исторических решений). Та же классификация представлена на уровне сессии в виде nfc_skip_reason в payload решения — в том числе для сессий, где NFC в принципе не мог выполниться (документ без чипа, веб-интеграция) и, следовательно, отчёт или предупреждение по NFC отсутствуют.
Отчёт по NFC и соответствующее предупреждение SKIPPED_NFC_VALIDATION создаются только тогда, когда клиент дошёл до шага NFC и явно пропустил его (обычно это USER_SKIPPED или DEVICE_WITHOUT_NFC, если считыватель оказался недоступен в момент сканирования). Если шаг NFC был пропущен ещё до того, как его удалось предложить (документ без чипа, отсутствие сертификата, отсутствие поддержки NFC, нечитаемый ключ MRZ, недоступность JPKI), отчёт и предупреждение не формируются, а причина отображается только в поле уровня сессии nfc_skip_reason, не влияя на статус сессии.

Конфигурация

Три настройки сценария определяют маршрутизацию предупреждений NFC. Каждая может принимать значение Без действия, Проверка или Отклонить:
  1. Действие при пропуске NFC (skip_nfc_action) — применяется к SKIPPED_NFC_VALIDATION. Пропуск предлагается пользователям, только если включён параметр allow_nfc_skip.
  2. Действие при непроверенном чипе (unverified_chip_action) — применяется как к NFC_CHIP_NOT_VERIFIED, так и к NFC_TRUST_ANCHOR_MISSING, благодаря чему логика изменения статуса сессии остаётся одинаковой, а код риска поясняет причину сбоя проверки.
  3. Действие при несовпадении данных (inconsistent_data_action) — применяется к NFC_AND_OCR_DATA_NOT_SAME. Это та же настройка несоответствия данных, которая используется в верификации личности.
Для двух рисков DSC_CERTIFICATE_* настройка действия отсутствует — они всегда носят исключительно информационный характер. Для рисков, связанных с японской картой My Number Card, предусмотрены ещё пять настроек, перечисленных в следующем разделе.

Японская карта My Number Card (JPKI)

Японская карта My Number Card считывается через JPKI вместо ICAO 9303 (chip_protocol: "jpki"), поэтому описанные выше риски ICAO к ней никогда не применяются. Вместо этого при её считывании могут возникнуть следующие пять рисков, для каждого из которых в узле NFC предусмотрена отдельная настройка: Пропуск считывания карты My Number Card вызывает SKIPPED_NFC_VALIDATION и обрабатывается в соответствии с skip_nfc_action, как и любой другой чип. Подробнее о процессе считывания см. в разделе Японская карта My Number Card (JPKI).
Считывание карт My Number Card через JPKI пока не включено в продакшне. До его активации карта My Number Card пропускает шаг NFC с причиной пропуска JPKI_UNAVAILABLE, и ни один из этих рисков не генерируется.

Примеры

На проверке — чип не удалось верифицировать

Здесь действие при неверифицированном чипе настроено на Review, поэтому NFC_CHIP_NOT_VERIFIED содержит log_type: "warning", а статус NFC-отчёта имеет значение In Review. Запись об истекшем DSC носит чисто информационный характер.

Отклонена — несоответствие между чипом и OCR

Здесь действие при несоответствии данных настроено на Decline, поэтому предупреждение содержит log_type: "error", а статус NFC-отчёта имеет значение Declined. Обратите внимание, что ocr_mrz представляет собой массив строк MRZ, тогда как nfc_mrz является единой объединённой строкой MRZ с чипа.

На проверке: My Number Card без ответа об отзыве

Здесь jpki_revocation_unchecked_action сохраняет значение по умолчанию, Review, поэтому предупреждение содержит log_type: "warning", а статус NFC-отчёта имеет значение In Review. Сама карта была подтверждена: и jpki.chain_valid, и jpki.signature_valid имеют значение true.

Типы предупреждений

Каждому риску присваивается уровень критичности в зависимости от конфигурации вашего приложения. Существует три уровня критичности:

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

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