identification_number, first_name, last_name, date_of_birth и поля адреса, если сервис их использует), а также агрегированный результат и исходные данные записи, если они доступны.
Это самая надёжная защита от мошенничества с синтетическими личностями: украденный реальный DNI или CPF не пройдёт проверку в реестре, а сфабрикованного номера в официальной базе данных просто не окажется. Проверка по базам данных работает в связке с нашей биометрической функцией сравнения лиц в странах, где реестр хранит официальную фотографию (Аргентина через RENAPER, Панама через Tribunal Electoral SIB / SIB Plus). Благодаря этому вы можете убедиться не только в подлинности номера, но и в том, что человек перед камерой действительно является его владельцем.
Почему Didit
- Самые низкие цены с оплатой за запрос. От $0.05 за проверку (Доминиканская Республика) до $7.00 для самых дорогих специализированных источников. Цена устанавливается за сервис, а не за страну — если реестр взимает высокую оптовую ставку, цена формируется соответственно (национальное удостоверение Финляндии стоит $2.10). Актуальный тариф для конкретного сервиса всегда можно посмотреть в таблице цен по сервисам. Никаких ежемесячных минимумов, плат за платформу или тарификации за места — оплачиваются только успешные запросы.
- Самая быстрая интеграция. Зарегистрируйтесь, получите API-ключ в консоли и вызывайте
POST /v3/database-validation/уже через несколько минут. Никаких звонков в отдел продаж, циклов закупки и документов для проверки концепции — Didit полностью работает в режиме самообслуживания. - Прямые запросы к официальным источникам. RENAPER, Receita Federal (SERPRO), Tribunal Electoral, RENAPO, RENAP, RNP, RNPN, Junta Central Electoral, Registraduría Nacional, SEGIP, Servicio de Registro Civil, Tribunal Supremo de Elecciones, Dirección General de la Policía — никаких данных, собранных парсингом агрегаторов.
- Биометрическое сравнение лиц, если в реестре есть официальное фото. Уверенность выше, чем при OCR, без дополнительных работ по интеграции.
- Задержка, соответствующая требованиям продакшн-среды. Сквозная задержка p95 обычно составляет менее 1.5 с, квартальная доступность 99.9%.
Глобальное покрытие
Наведите курсор на любую подсвеченную страну, чтобы увидеть все доступные в ней сервисы проверки по базам данных, категорию данных (идентификационные данные, финансовые данные, биометрические данные, адресные данные, телекоммуникационные данные, …) и цену за запрос. Страны, доступные в продакшне, готовы к использованию уже сегодня; остальные подключаются по запросу клиента.Как проходит Проверка по базам данных
Проверка по базам данных никогда не запускается наугад. Она выполняется только тогда, когда соблюдены все следующие условия:- В сессии определена страна для запроса — из поля
issuing_stateшага Верификация личности либо, если в сценарии нет шага Верификации личности, из единственной страны, настроенной для шага Проверки по базам данных. - Для этой страны в сценарии включен хотя бы один сервис Проверки по базам данных.
- Шаги, предшествующие шагу Проверки по базам данных, предоставили все обязательные поля, необходимые выбранному сервису.
DATABASE_VALIDATION_NOT_APPLICABLE, если в документе попросту нет идентификатора, по которому этот сервис делает запрос, или COULD_NOT_PERFORM_DATABASE_VALIDATION, если он должен был присутствовать, но отсутствовал. Оба предупреждения перечислены в каталоге предупреждений.
Сотрудник вашей команды с правами на проверку сессии может вручную заполнить недостающее поле на странице сведений о сессии в Console, и сохранение изменений автоматически перезапустит проверку. Это действие проверяющего, а не то, что может сделать конечный пользователь. Чтобы позволить пользователю предоставить поле, которого нет в его документе, запросите его в Анкетах (либо через извлечение в Document AI, либо в виде значения, передаваемого при создании сессии) и сопоставьте его на шаге Проверки по базам данных, как описано ниже.
Проверка по базам данных не требует Верификации личности
Раньше шаг Проверки по базам данных предполагал обязательное наличие предшествующего шага Верификации личности, поскольку OCR документа, удостоверяющего личность, было единственным встроенным способом получить данные конечного пользователя. Теперь это не так: для каждого обязательного поля указывается, какие шаги могут его предоставить, и сервис становится доступным, как только ваш сценарий начинает содержать шаг, предоставляющий все необходимые ему поля.
Это означает, что сервис биометрической идентификации по лицу может работать только на основе шага Проверки живости, без какого-либо документа, удостоверяющего личность, в сценарии, а сервис, использующий налоговый номер, номер телефона или адрес электронной почты, может получить соответствующее значение из ответа на вопрос анкеты, шага Проверки телефона или Проверки электронной почты или извлечения через Document AI.
Безопасность обеспечивается двумя правилами:
- Сценарий без Верификации личности должен содержать ровно одну настроенную страну на шаге Проверки по базам данных. Без поля
issuing_stateиз документа это единственный однозначный сигнал о том, к какому национальному реестру обращаться, поэтому конфигурация для нескольких стран без Верификации личности ничего не запустит, чтобы избежать догадок. - Проверка обязательных полей остаётся неизменной. Сервис, для которого на момент выполнения предоставлены не все поля, пропускается до отправки запроса какому-либо провайдеру, поэтому с вас никогда не списываются средства за обращение к базе данных, к которой фактически не обращались.
Сопоставление полей Document AI и анкет
Поля извлечения Document AI и вопросы анкет используют ваши имена ключей, а не имена Didit. Ключ, точно совпадающий с именем входного поля Проверки по базам данных (tax_number, date_of_birth, phone, …), сопоставляется автоматически и не требует настройки. Для всех остальных редактор сценариев отображает на шаге Проверки по базам данных список ещё не заполненных полей, где вы указываете для каждого из них соответствующий ключ поля Document AI или ответ из анкеты.
В Console сервис, который ваш сценарий пока не может выполнить, отображается отключённым с указанием причины — какие поля отсутствуют и какой шаг мог бы их предоставить — а редактор предлагает добавить этот шаг. Его добавление сразу же активирует все сервисы, которые он разблокирует.
Для сервисов, работающих на основе адреса, Didit автоматически разбивает единый address из документа на структурированные адресные элементы:
При вызове автономного API вы можете передавать как единую строку
address, так и эти структурированные поля напрямую. При наличии обоих вариантов приоритет имеют структурированные поля. Сервисам, требующим поиска по адресу, необходим address_element_1 плюс хотя бы один дополнительный элемент адреса; если Didit не сможет извлечь их из документа, удостоверяющего личность, или Подтверждения адреса в сценарии, сервис пропускается и плата не взимается.
Если определённая страна не включена вовсе, шаг пропускается без уведомлений, без предупреждений и без списания средств.

Результат сопоставления
Каждый включённый сервис возвращает результат проверки для каждого поля:
Агрегированный
match_type сводится к следующим значениям:
full_match— каждое запрошенное поле совпадает как минимум с одним источником.partial_match— частичное совпадение; кейс направляется в очередь на проверку согласно правилам вашего сценария.no_match— ни один источник не подтвердил данные; обычно следует отклонить.
Как определяется сопоставление (1×1 / 2×2)
Мы больше не требуем заранее выбирать «1×1» или «2×2» — они определяются тем, сколько отдельных сервисов вернули полное совпадение с входными данными:- Результат 1×1 — один сервис вернул полное совпадение (данные подтвердил один авторитетный источник).
- Результат 2×2 — два или более сервисов вернули полное совпадение (независимое подтверждение; максимальный уровень уверенности).
partialMatchAction / noMatchAction, см. в разделе Методы сопоставления.
Биометрическая проверка по базам данных
Реестры актов гражданского состояния некоторых стран содержат биометрический шаблон (портрет или отпечаток пальца). Если он доступен, мы совмещаем поиск по реестру с биометрическим сравнением лиц с селфи пользователя:- Аргентина (
arg_renaper) — биометрическое сравнение лиц с официальной фотографией из базы RENAPER. Охват населения 100%; каждый гражданин Аргентины с DNI внесён в базу данных. - Панама (
pan_cedula_sib,pan_cedula_sib_plus) — биометрическое сравнение лиц через сервис SIB избирательного трибунала (Tribunal Electoral). SIB Plus представляет собой вариант повышенного уровня с более строгими биометрическими порогами и более подробными метаданными сопоставления.
selfie является обязательным. В рамках сессии повторно используется селфи из проверки живости (наивысшее качество), а в качестве запасного варианта используется портрет из документа. Вне сессии, при вызове автономного API (POST /v3/database-validation/, режим B выше), вы передаёте JPEG/PNG самостоятельно.
Глобальное обогащение данных о личности
glb_identity_enrichment представляет собой глобальный сервис Проверки по базам данных, доступный только через автономный API. По адресу электронной почты и/или номеру телефона он определяет связанных физических лиц (имена, даты рождения, адреса, телефоны, адреса электронной почты и национальные идентификаторы) и возвращает оценку совпадения имени, сопоставленную со стандартными кодами результатов MATCH / PARTIAL_MATCH / NO_MATCH / DOCUMENT_NOT_FOUND (с соответствующим match_type: full_match / partial_match / no_match).
Поскольку это глобальный сервис (GLB), привязанный к электронной почте или телефону, а не к стране выдачи документа, он недоступен в конструкторе сценариев. Вызывайте его напрямую через автономный API с параметром issuing_state, установленным в GLB:
Настройка
Проверка по базам данных настраивается индивидуально для каждого сценария в Console. Для каждой страны вы выбираете конкретные сервисы, которые хотите запускать; обязательные и необязательные входные поля определяются объединением требований этих сервисов. Действие, выполняемое при результатахpartial_match и no_match, настраивается отдельно и может принимать значения approve, review или decline.

Уведомления о доступности
Государственные реестры и другие источники периодически выходят из строя. Пока база данных недоступна, проверки по ней не возвращают ответа и за них не взимается плата. Внутри сценария сервис переходит в статусREGISTRY_UNAVAILABLE. В отдельном API такой сбой может проявляться в одной из трёх форм, поэтому обязательно проверяйте результаты по каждому сервису и database_validation.errors[], а не только HTTP-статус:
200сoutcome_code: "REGISTRY_UNAVAILABLE"у этого сервиса вvalidations, если Didit сохранил результат, о котором можно сообщить.200с этим сервисом вdatabase_validation.errors[]какcode: "empty_provider_response",retryable: true, когда сервис не вернул пригодного для использования ответа, но другой выбранный сервис ответил успешно. В этом случае сбойный сервис отсутствует вvalidationsи вservices_used, поэтомуerrors[]является единственным местом, где он отображается.502сvalidation_errors[].code: "empty_provider_response"иretryable: true, когда ни один из выбранных сервисов не вернул пригодного для использования результата (см. отклонённые входные данные и недоступные результаты).
status определяется сервисами, которые вернули ответ, поэтому сам по себе он не является надёжным индикатором сбоя. Запрос, в котором не с чем было выполнить сравнение, переходит в статус In Review, но запрос, в котором было выбрано несколько сервисов, может получить статус Approved на основе совпадения из другого сервиса, даже если один из источников был недоступен. Повторите проверку только для сбойного сервиса, указанного в errors[], а не весь запрос целиком.
Ни один из этих вариантов ничего не говорит о проверяемом человеке.
Didit отслеживает фактические результаты реальных проверок по каждой базе данных отдельно и отправляет вашей организации уведомление по электронной почте, если сбой затянулся, а не представляет собой единичный неудачный запрос:
Уведомления направляются участникам и контактам по биллингу каждой организации, которая выполняла проверку именно по этой базе данных за последние 48 часов. Ничего настраивать не требуется, и отдельно подписываться не нужно. Трафик в песочнице никогда не инициирует такие уведомления, как и сбои, вызванные отправленными вами данными (отклонённые или некорректно сформированные входные данные), либо сервисами, работающими с учётными данными, подключёнными вашей собственной организацией. Проверка, получившая ответ через резервный источник, считается доступной, как и окончательный результат об отсутствии совпадения.
Цены — платите только за то, что используете
Проверка по базам данных тарифицируется за каждый успешный запрос к каждому сервису по ставке, опубликованной для данного сервиса. Ставки варьируются от $0.05 за проверку (Доминиканская Республика через Junta Central Electoral) до $7.00 для самых дорогих специализированных источников. Запросы ко многим государственным реестрам находятся в диапазоне от 0.20 до 0.30 USD, однако целый ряд источников стоит значительно дороже, поскольку сам источник взимает более высокую плату — например, проверка удостоверения личности Финляндии (fin_national_id) стоит $2.10 за успешный запрос. Определяйте цену для страны по её собственной строке в таблице цен, а не по диапазону. Здесь нет ежемесячных минимальных платежей, обязательств или комиссий за использование платформы.
Вы платите только тогда, когда сервис возвращает результат. Сервисы, пропущенные из-за отсутствия входных данных, не тарифицируются. Не тарифицируется и сервис, вызов источника которого завершился ошибкой: ошибка реестра или его недоступность (REGISTRY_ERROR / REGISTRY_UNAVAILABLE) означают, что запрос так и не получил ответа, поэтому такой результат не подлежит оплате.
Каждый успешный запрос к реестру оплачивается начиная с самого первого, независимо от того, выполняется ли он в рамках сценария или через отдельный API POST /v3/database-validation/. Он списывается с кредита вашего тарифа или баланса пополнения, как и любая другая проверка, и скидка по вашему тарифу применяется ко всей его стоимости. См. страницу с ценами.
➡️ Цены на Проверку по базам данных · Зарегистрироваться и получить API-ключ
Все сервисы
Что читать дальше
- Методы сопоставления — как формируются результаты 1×1 / 2×2 и как на них реагировать.
- Коды результатов — полный список кодов ответов провайдеров (умерший, несовершеннолетний, документ не найден, биометрическое несовпадение, …) и их сопоставление с решениями по сессиям.
- Предупреждения — что отображается, когда сервис не может быть запущен из-за отсутствия данных.
- Отчёты — ежемесячные выгрузки биллинга по сервисам с указанием страны, идентификатора сервиса, объёма использования, цены за единицу и общей стоимости.
- Поддерживаемые страны — статическая таблица со всеми странами, которые поддерживаются на сегодняшний день.