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

Адресные сервисы

Для сервисов, которые проверяют адрес проживания или адрес по счёту за коммунальные услуги, можно передать один параметр address, и Didit разделит его перед проверкой. Для лучшего процента совпадений передавайте структурированные поля адреса Didit напрямую: Структурированные поля имеют приоритет над значением address. postal_code принимается как альтернативное имя для address_element_5.

Согласие

Для некоторых сервисов проверки баз данных к провайдеру можно обращаться только при наличии явного согласия конечного пользователя. В каталоге сервисов такие строки отмечены requires_consent=true. Передайте consent=true, если согласие пользователя распространяется на выбранные сервисы. Если выбранный сервис требует согласия, а вы его не передали, Didit отклоняет запрос до обращения к провайдеру и до какого-либо события тарификации.

Загрузка файлов

Проверка по базам данных использует multipart/form-data. Биометрические сервисы, которым требуется selfie, представлены в среде тестирования API как поле загрузки файла, поэтому можно выбрать изображение напрямую, без вставки пути или строки в формате base64. В коде загружайте файл стандартным синтаксисом multipart:

Ошибки валидации

Didit проверяет обязательные поля, структуру адреса и форматы, специфичные для сервиса, до обращения к провайдеру. Например, сервисы китайских реестров, такие как chn_national_id и chn_passport_verification, ожидают full_name в оригинальной китайской системе письма, а chn_national_id также требует действительный китайский национальный идентификационный номер из 15 или 18 символов с корректной контрольной суммой. Если запрос не может быть выполнен, API возвращает явные ошибки по полям, и использование не тарифицируется. Если после предварительной проверки у провайдера произошла ошибка, ответ содержит validation_errors, а сохранённые API-запросы записывают эти ошибки в результат проверки по базам данных.

Отклонённые данные и недоступные результаты

Если ни один сервис не вернул пригодный результат, просмотрите каждую запись validation_errors, прежде чем решать, нужна ли повторная попытка. Один только HTTP-статус не определяет, уместна ли повторная попытка. Ответ 400 с code: "provider_rejected_input" и retryable: false означает, что каждая попытка, не давшая результата, была явно отклонена провайдером из-за входных данных. Исправьте переданные данные, прежде чем повторять запрос. Эти попытки не тарифицируются. Ответ 502 с code: "empty_provider_response" и retryable: true означает, что сервис по другой причине не смог получить пригодный результат. Сюда входит случай, когда данные были отклонены, а резервный сервис недоступен или не дал никакого объяснения. Повторите запрос позже: ответ не подтверждает, что входные данные неверны. Если сервис базы данных продолжает давать сбои, Didit отправляет письмо организациям, которые недавно его использовали, один раз после того, как перебой длится достаточно долго, и снова, когда фактические проверки подтверждают, что сервис снова отвечает. См. Уведомления о доступности. Если завершились с ошибкой только некоторые из выбранных сервисов, запрос всё равно выполнен успешно: ответ имеет статус 200, а сервисы с ошибкой перечислены в database_validation.errors[], каждый с теми же полями code и retryable. Значение database_validation.status тогда определяется сервисами, которые ответили, и может быть Approved, поэтому проверяйте errors[] в каждом ответе, а не только при ответах 4xx или 5xx. Сервис, указанный там, отсутствует в validations и services_used и не тарифицируется; повторите запрос только для этого сервиса. Другие ошибки 502 могут требовать исправления входных данных. Например, provider_invalid_input и provider_validation_error описывают данные, которые источник отклонил, и такие запросы нельзя повторять без изменений, даже если устаревший ответ не содержит retryable. Рекомендации по повторным попыткам для empty_provider_response к этим кодам не относятся. Окончательный результат без совпадений является завершённой проверкой, а не сбоем доступности.

Авторизации

x-api-key
string
header
обязательно

API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.

Тело

issuing_state
string
обязательно

Трехбуквенный код страны ISO 3166-1 alpha-3 реестра для проверки (например, BRA, ESP, COL). Определяет доступные сервисы. Неподдерживаемые коды возвращают 400 с полным списком допустимых вариантов.

Пример:

"BRA"

services
string[]

Идентификаторы service_id из каталога для запуска по этой стране (например, ["bra_cpf"]). Также принимается одна строка или строка с разделением запятыми/JSON-кодированная строка. Если параметр опущен или пуст, запускается ровно один сервис по умолчанию — наиболее устоявшийся продакшн-сервис для данной страны; более новые, биометрические и тарифицируемые по факту использования сервисы должны быть указаны явно. Отправка services переключает ответ на расширенный формат (добавляет services_used и match_score). Каждый идентификатор должен существовать и быть активен в продакшне для issuing_state; сервисы, требующие онбординга, возвращают 400 до момента их активации для вашей организации. Узнать доступные сервисы по странам можно через GET /v1/organization/database-validation-countries/ (каталожный endpoint, не описанный в данной спецификации) или в редакторе сценариев Business Console.

Пример:
validation_type
string
устарело

УСТАРЕЛО. Принимается для обратной совместимости, но игнорируется — validation_type в ответе теперь определяется тем, сколько сервисов дали полное совпадение. Используйте services, чтобы зафиксировать конкретные сервисы.

Установите значение true, если конечный пользователь дал явное согласие на использование выбранных сервисов валидации. Обязательно для сервисов с флагом requires_consent=true в каталоге — без него эти сервисы возвращают 400 с services_requiring_consent.

identification_number
string

Универсальный идентификационный номер — автоматически сопоставляется с нужным полем для конкретной страны, поэтому вы можете использовать его вместо personal_number/tax_number/document_number: ARG→document_number (DNI), BOL→document_number (CI), BRA→tax_number (CPF, 11 цифр), CHL→personal_number (RUT), COL→personal_number (Cédula), CRI→personal_number (Cédula), DOM→personal_number (Cédula, 11 цифр), ECU→personal_number (Cédula, 10 цифр), ESP→personal_number (DNI/NIE), GTM→document_number (DPI), HND→document_number (DNI), MEX→personal_number (CURP, 18 символов), PAN→personal_number (Cédula), PER→personal_number (DNI, 8 цифр), PRY→document_number (CI), SLV→document_number (DUI), URY→personal_number (CI), VEN→document_number (Cédula). Он никогда не перезаписывает явно переданное поле для конкретной страны.

first_name
string

Имя физического лица. Требуется для некоторых сервисов/стран.

Пример:

"John"

last_name
string

Фамилия физического лица. Требуется для некоторых сервисов/стран.

Пример:

"Doe"

middle_name
string

Второе имя, используемое сервисами некоторых стран (AUS, NZL, …).

full_name
string

Полное имя — некоторые сервисы принимают его вместо имени и фамилии (например, китайские сервисы CHN, которые сверяют имя в оригинальной системе письма).

date_of_birth
string<date>

Дата рождения, YYYY-MM-DD. Требуется многими сервисами.

Пример:

"1980-01-01"

personal_number
string

Уникальный государственный идентификатор личности. Используется в: CHL (RUT), COL (Cédula), CRI, DOM, ECU, ESP (DNI/NIE), MEX (CURP), PAN (Cédula), PER (DNI), URY. Рассмотрите identification_number вместо этого.

tax_number
string

Налоговый номер. Используется: BRA (CPF, 11 цифр). Рекомендуется использовать identification_number.

document_number
string

Номер документа. Используется для: ARG (DNI), BOL (CI), GTM (DPI), HND (DNI), PRY (CI), SLV (DUI), VEN (Cédula). Рекомендуется использовать identification_number.

document_type
enum<string>

Тип проверяемого документа: P паспорт, DL водительское удостоверение, ID национальное удостоверение личности, RP вид на жительство (а также SSC, HIC, WP, TC, VISA, PSC, BC, OTHER). Требуется для некоторых сервисов (например, ESP).

Доступные опции:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

Срок действия документа, YYYY-MM-DD. Обязательно для валидации в ESP (Испания).

Пример:

"2030-01-15"

date_of_issue
string<date>

Дата выдачи документа, YYYY-MM-DD (fecha de expedición). Обязательно для валидации cédula в COL (Колумбия).

Пример:

"2015-06-20"

nationality
string

Гражданство в формате ISO 3166-1 alpha-3. Требуется для некоторых сервисов.

gender
enum<string>

Пол: M, F или X (другой/неизвестно). Обязательно для валидации RENAPER в Аргентине (arg_renaper).

Доступные опции:
M,
F,
X
address

Адрес проживания. Предпочтительнее структурированный объект {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"}; полная однострочная строка также принимается. Требуется сервисами подтверждения адреса; если сервис определяет требования к адресу, при отсутствии обязательных данных возвращается 400 с address_fields_required_by.

address_element_1
string

Адрес улицы, включая номер дома и тип улицы. Если не указано, определяется на основе address.

address_element_2
string

Квартира, блок/помещение, здание, этаж или дополнительная строка адреса. Отправляйте только при явном наличии этих данных.

address_element_3
string

Город, пригород, район, населённый пункт или квартал. Если не указано, определяется из address.

address_element_4
string

Штат, провинция, регион или населённый пункт. Если не указано, определяется из address.

address_element_5
string

Почтовый индекс. postal_code принимается в качестве псевдонима.

postal_code
string

Почтовый индекс для сервисов на основе адреса (псевдоним address_element_5).

driver_license_number
string

Номер водительского удостоверения для государственных служб проверки документов (AUS, NZL, IND).

driver_license_card_number
string

Номер физической карты водительского удостоверения, если он требуется отдельно от номера удостоверения (AUS).

driver_license_state
string

Штат или территория выдачи водительского удостоверения (AUS).

driver_license_version
string

Код версии водительского удостоверения (NZL).

passport_number
string

Номер паспорта для государственных сервисов верификации паспортов (AUS, NZL, IND, CHN).

passport_expiration_date
string<date>

Срок действия паспорта, YYYY-MM-DD, для сервисов верификации паспортов.

passport_file_number
string

Номер файла паспорта (IND).

passport_issue_country
string

Страна выдачи паспорта (ISO 3166-1 alpha-3) для сервисов верификации паспортов.

medicare_card_number
string

Номер карты Medicare (Австралия).

immi_card_number
string

Номер австралийской карты ImmiCard.

immi_card_expiry_date
string<date>

Срок действия австралийской карты ImmiCard.

citizenship_certificate_number
string

Номер свидетельства о гражданстве (AUS).

birth_registration_number
string

Номер регистрации свидетельства о рождении (AUS).

birth_registration_date
string<date>

Дата регистрации свидетельства о рождении (AUS).

birth_registration_state
string

Штат регистрации свидетельства о рождении (AUS).

marriage_certificate_number
string

Номер свидетельства о браке (AUS).

change_of_name_certificate_number
string

Номер свидетельства о смене имени (AUS).

first_partner_name
string

Имя партнёра в свидетельстве о браке (AUS).

last_partner_name
string

Фамилия партнёра в свидетельстве о браке (AUS).

voter_id
string

Номер регистрации избирателя (IND EPIC, IRL).

epic_card
string

Номер карты избирателя Индии (EPIC).

pan
string

PAN (Permanent Account Number) Индии.

national_id
string

Номер национального удостоверения личности (CHN, MYS, KEN, KHM, NGA, ZAF, …).

cic
string

Мексиканский Código de Identificación de Credencial (CIC) INE/IFE, 9 цифр. Используется сервисом проверки действительности учетных данных MEX INE (mex_ine_vigencia).

identificador_ciudadano
string

Мексиканский Identificador del Ciudadano INE (9 цифр). Используется вместе с cic для современных моделей INE (E/F/G/H) в mex_ine_vigencia.

ocr
string

Мексиканский номер OCR INE (13 цифр, на обратной стороне карты). Используется вместе с cic для модели D в mex_ine_vigencia.

voter_number
string

Мексиканский Clave de Elector INE (18 символов). Используется вместе с emission_number для устаревших моделей IFE (A/B/C) в mex_ine_vigencia.

emission_number
string

Мексиканский Número de Emisión INE. Используется вместе с voter_number для устаревших моделей IFE (A/B/C) в mex_ine_vigencia.

bvn
string

Банковский верификационный номер Нигерии (BVN).

bank_card_number
string

Номер банковской карты (верификация банковских карт CHN).

company_registration_number
string

Регистрационный номер компании, выданный реестром компаний: CNPJ в Бразилии (например, 11222333000181), регистрационный номер в Южной Африке (например, 1936/007721/06). Требуется сервисами реестра компаний и директоров компаний (bra_company_registry, bra_company_directors, zaf_company_registry, zaf_company_directors).

company_name
string

Зарегистрированное название компании, сверенное с записью в реестре. Необязательно для zaf_company_registry.

initials
string

Инициалы человека в том виде, в каком они напечатаны на документе. Обязательно для zaf_drivers_license; принимается для zaf_bank_account_holder.

licence_number
string

Номер водительского удостоверения, как он напечатан на карте, для zaf_drivers_license. Если не указан, используется document_number.

refugee_file_number
string

Номер дела беженца, выданный Министерством внутренних дел ЮАР. Обязателен для zaf_refugee.

bank_name
string

Название банка, в котором открыт счёт. Обязательно для zaf_bank_account_holder.

bank_account_number
string

Номер банковского счёта. Обязателен для zaf_bank_account_holder; принимается в zaf_fraud_prevention.

account_type
string

Тип банковского счёта для zaf_bank_account_holder: current, savings, transmission, subscriptionShare или notKnown (без учёта регистра). Любое другое значение возвращает 400. Опустите его, если тип вам неизвестен: в этом случае результат сверки типа счёта будет отмечен как неподтверждённый.

phone_number
string

Контактный номер мобильного телефона для сервисов, перепроверяющих доступность для связи (zaf_bank_account_holder, zaf_fraud_prevention, zaf_refugee).

right_thumb
string

Отпечаток большого пальца правой руки в кодировке Base64 для zaf_dha_fingerprint_match, вместе с left_thumb или отдельно.

left_thumb
string

Отпечаток большого пальца левой руки в кодировке Base64 для zaf_dha_fingerprint_match, вместе с right_thumb или отдельно.

score_level
integer

Минимальный уровень биометрической оценки для zaf_criminal_face_screening. По умолчанию 3.

max_matches
integer

Максимальное количество кандидатов на совпадение, возвращаемых zaf_criminal_face_screening. По умолчанию 1.

vehicle_register_number
string

Регистрационный номер транспортного средства. Обязателен вместе с vehicle_licence_plate и vin для zaf_vehicle_ownership.

vehicle_licence_plate
string

Регистрационный номерной знак транспортного средства. Обязателен вместе с vehicle_register_number и vin для zaf_vehicle_ownership.

vin
string

Идентификационный номер транспортного средства (VIN или номер шасси). Обязателен вместе с vehicle_register_number и vehicle_licence_plate для zaf_vehicle_ownership.

ssn
string

Номер социального страхования (США).

phone
string

Номер телефона для сервисов проверки телефона.

landline
string

Номер стационарного телефона для сервисов проверки телефона.

email
string<email>

Адрес электронной почты для сервисов верификации личности.

country_of_residence
string

Двухбуквенный код страны проживания по стандарту ISO 3166-1 alpha-2. Используется глобальными сервисами обогащения идентификационных данных (например, glb_identity_enrichment) для сужения области поиска.

Пример:

"US"

partial_match_action
enum<string>
по умолчанию:NO_ACTION

Действие при partial_match в отношении database_validation.status. По умолчанию NO_ACTION (статус остаётся Approved с предупреждением).

Доступные опции:
DECLINE,
NO_ACTION
no_match_action
enum<string>
по умолчанию:DECLINE

Действие при no_match в отношении database_validation.status. По умолчанию DECLINE.

Доступные опции:
DECLINE,
NO_ACTION
save_api_request
boolean
по умолчанию:true

Сохранять валидацию как сессию (отображение в консоли, endpoint решений, webhook status.updated). Также изменяет структуру ответа validations: отдельные объекты по каждому сервису при значении true (по умолчанию), объединенная карта полей при false.

vendor_data
string

Ваш идентификатор валидированного пользователя; возвращается в ответе и сохраняется вместе с сессией.

metadata
object | null

JSON в свободной форме, сохраняемый с запросом и возвращаемый в ответе.

Ответ

Проверка завершена — как минимум один выбранный сервис вернул применимый результат. Проверьте database_validation.match_type для сводного результата, validations для сравнения полей по каждому сервису и кодов outcome_code, а также errors (при наличии) для сервисов, завершившихся ошибкой.

request_id
string<uuid>

Идентификатор сохраненной сессии при save_api_request=true (доступен для использования с GET /v3/session/{sessionId}/decision/); в противном случае это временный корреляционный UUID.

database_validation
object
vendor_data
string | null

Эхо отправленных вами vendor_data.

metadata
object | null

Эхо-значение переданного вами metadata.

created_at
string<date-time>
Последнее изменение 7 ноября 2026 г.