Обзор
Предупреждения помечаются функциейPHONE. Они отображаются в массиве phone_verifications[].warnings[] в ответе GET /v3/session/{sessionId}/decision/ и имеют стандартную структуру объекта предупреждения (feature, risk, additional_data, log_type, short_description, long_description, node_id). Каждое предупреждение также записывается в журнал сессии и отображается в Business Console в разделе Phone.
Некоторые предупреждения служат триггерами безусловного автоматического отклонения — они всегда переводят статус функции в Declined. Другие соотносятся с настраиваемым действием (DECLINE, REVIEW или NO_ACTION, в зависимости от настройки), заданным в настройках сценария, поэтому один и тот же код риска может приводить к отклонению в одном сценарии и лишь привлекать внимание в другом.
Условия автоматического отклонения
Следующие предупреждения всегда отклоняют шаг Проверка телефона независимо от конфигурации и всегда содержатlog_type: "error":
VERIFICATION_CODE_ATTEMPTS_EXCEEDED— пользователь исчерпал лимит попыток OTP: по умолчанию 2 неверных ввода кода (phone_max_check_attempts) или более 2 отправок OTP (phone_max_retries), оба параметра настраиваются для каждого узла сценария. Автономный API проверки телефона допускает 3 попытки ввода кода.PHONE_NUMBER_IN_BLOCKLIST— номер находится в вашем списке блокировки, управляемом через Lists API, или совпадает с сессией, внесённой в список блокировки.
HIGH_RISK_PHONE_NUMBER — отказ антифрод-системы провайдера доставки отправить OTP (отправка Blocked) — отклоняет по умолчанию, но больше не является безусловным: см. high_risk_phone_action ниже.
Настраиваемые риски
Каждый из следующих рисков сопоставлен с настройкой сценария, для которой можно настроить значениеDECLINE, REVIEW или NO_ACTION (по умолчанию — предупреждение фиксируется без влияния на статус). Настроенное действие также определяет log_type предупреждения: DECLINE → error, REVIEW → warning, NO_ACTION → information.
Обнаружение дубликатов работает в рамках вашего приложения по всем проверкам телефонов в KYC, KYB и автономном API и группирует сессии по
vendor_data: сессии с одинаковым vendor_data считаются принадлежащими одному конечному пользователю и исключаются из результатов совпадений. Если оставить vendor_data пустым, каждая сессия будет считаться отдельным пользователем.
Заблокированные отправки
HIGH_RISK_PHONE_NUMBER следует тому же принципу с более узким набором вариантов, поскольку отправка, отклонённая провайдером, не может быть одобрена:
Этот параметр применяется только тогда, когда каждая блокировка высокого риска на шаге содержит в
additional_data.risk_factors ровно ["device_attribute"] — сигнал провайдера о том, что «устройство выглядит подозрительным», который может срабатывать на обычных мобильных номерах. Любой другой фактор риска, любая комбинация, лишь включающая device_attribute, или блокировка вообще без факторов риска приводят к отклонению независимо от настройки. Причина блокировки (repeated_attempts, suspicious или spam) передаётся в отдельном поле additional_data.blocked_reason.
Независимо от настройки, номер из списка разрешённых номеров телефонов, созданного через Lists API, никогда не отклоняется автоматически из-за заблокированной отправки: шаг переходит в статус На проверке, предупреждение получает log_type: "warning", а additional_data.phone_number_in_allowlist принимает значение true.
Лимиты попыток верификации
Функция «Проверка телефона» применяет жёсткое ограничение на количество попыток ввода OTP для предотвращения злоупотреблений:- Попытки ввода кода — По умолчанию 2 неверные попытки ввода (
phone_max_check_attempts), после чего шаг завершается со статусомDeclinedс ошибкойVERIFICATION_CODE_ATTEMPTS_EXCEEDED. Отдельный API проверки телефона разрешает 3 попытки ввода кода за верификацию. - Попытки отправки — По умолчанию 2 отправки в сумме (
phone_max_retries): начальная отправка плюс одна повторная отправка. Следующий запрос на отправку завершает шаг и вызываетVERIFICATION_CODE_ATTEMPTS_EXCEEDED. - Срок действия OTP — OTP, ожидающий подтверждения, действителен в течение 5 минут с момента первой отправки; повторные попытки не продлевают это окно.
repeated_attempts, suspicious или spam) — это вызовет HIGH_RISK_PHONE_NUMBER, а не предупреждение о попытках.
Генерируемые предупреждения
Совпадения между сессиями
Когда номер обнаруживается в других сессиях или в вашем списке блокировки, эти совпадения также отображаются вphone_verifications[].matches[] (не более 5 записей). Каждое совпадение содержит session_id, session_number, vendor_data, verification_date, phone_number, status, is_blocklisted, api_service и source со значением session (другая сессия с тем же номером, в любом статусе) или list_entry (синтетическое совпадение со списком блокировки, добавленное в начало массива). Если текущий номер находится в вашем белом списке телефонов, Didit сохраняет данные о совпадении, но выдаёт PHONE_NUMBER_IN_ALLOWLIST вместо применения действия для дублирующихся номеров. Полную схему совпадений см. в разделе Отчёт о проверке телефона.
Пример
Заблокированная отправка (HIGH_RISK_PHONE_NUMBER) для номера VoIP с параметром voip_number_action, настроенным на REVIEW:
Типы предупреждений
Каждому риску присваивается уровень критичности на основе настроек вашего приложения. Уровни критичности делятся на три категории:Связанные материалы
- Обзор Проверки телефона — поведение функции, цены, поддерживаемые каналы.
- Отчёт о проверке телефона — полная структура ответа, включая
lifecycle[]иmatches[]. - Модели данных — проверка телефона — каноническая схема полей.
- Management API — Списки — управление списком блокировки номеров, используемым
PHONE_NUMBER_IN_BLOCKLIST.