Правила проверок
Итоговый вердикт системы в соответствии с проверками
Доступно на тарифах Биорг.KYC и Биорг.Универсальный
Блок check_result — итоговый вердикт системы по результатам всех проверок документа. Он имеет следующую структуру:
"check_result": {
"status": "Approved",
"details": {
"logic": { "status": "Approved" },
"metadata": { "status": "Approved" },
"fraud": { "status": "Approved" },
"external_integrations": { "status": "Approved" }
}
}
status (главный статус) - итоговый результат всей проверки.
- Формируется на основе статусов из раздела
details. Если все подразделы (за исключениемmetadata) имеют статусApproved, то и общий статус будетApproved. Если хотя бы один из них имеет статусFailed, общий статус тоже станетFailed.
details (детализация по типам проверок)
Содержит разбивку по четырём ключевым направлениям проверки. Каждое направление независимо оценивает свою область.
logic- проверяет логическую целостность данных внутри документа.metadata- оценивает технические параметры документа и процесса его подачи.fraud- признаки подделки с документа.external_integrations- сверяет данные с внешними базами данных.
Таблица статусов верификации
| Статус (англ.) | Статус (рус.) | Приоритет | Описание |
|---|---|---|---|
Approved |
Одобрено | Базовый (низший) | Проверка выполнена успешно, нарушений не обнаружено |
Failed |
Не пройдено | Высокий (высший) | Проверка выявила критическую проблему, документ не может быть одобрен |
Not executed |
Не выполнено | Средний | Проверка не запускалась или не смогла завершиться по техническим причинам |
Attention |
Требуется внимание | Средний | Проверка выявила потенциальную проблему, требующую ручной проверки |
Проверка паспорта РФ
В результате обработки входящего паспорта будет доступно поле verifications.verifications_passport,
в котором находятся следующие данные:
| Название | Описание | Тип данных |
|---|---|---|
| status | статус проверки | integer |
| status_text | текстовое описание статуса | string |
| checks | Подробное описание произведенных проверок | dict |
| bad_fields | список полей полей имеющих несоответствия | list |
Поле status может отражать следующие варианты кодов проверки:
Статусы по всем проверкам;
0 — проверки пройдены (или все проверки были пропущены '')
1 — хотябы одна не пройдена
Поле checks может отражать следующие данные проверок:
-
fields_to_check_valid - проверка наличия обязательных полей
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
fio_series_number_mrz - проверка согласованности МЧЗ с полями документа
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
series_okato - проверка согласованности серии паспорта с кодом подразделения
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
region_valid - проверка согласованности места выдачи с кодом подразделения
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
issued_after_14 - проверка выдачи паспорта до 14 лет
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
issued_after_1997 - проверка выдачи паспорта до 1997 года
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки -
expiration_date - проверка действительности паспорта по дате истечения
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверки
Проверка Водительского удостоверения
В результате обработки входящего водительского удостоверения будет доступно поле verifications.verifications_dlic,
в котором находятся следующие данные:
Поле status может отражать следующие варианты кодов проверки:
Статусы по всем проверкам;
0 — проверки пройдены (или все проверки были пропущены '')
1 — хотябы одна не пройдена
Поле checks может отражать следующие данные проверок:
-
date_issue - Проверка Дата рождения < дата выдачи ВУ < дата окончания срока действия;
0 — проверки пройдены 1 — проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если BirthDate > CategoryAStartDate > CategoryAEndDate или BirthDate > CategoryA1StartDate > CategoryA1EndDate или BirthDate > CategoryBStartDate > CategoryBEndDate или BirthDate > CategoryB1StartDate > CategoryB1EndDate или BirthDate > CategoryCStartDate > CategoryCEndDate или BirthDate > CategoryC1StartDate > CategoryC1EndDate или BirthDate > CategoryDStartDate > CategoryDEndDate или BirthDate > CategoryD1StartDate > CategoryD1EndDate или BirthDate > CategoryBEStartDate > CategoryBEEndDate или BirthDate > CategoryCEStartDate > CategoryCEEndDate или BirthDate > CategoryC1EStartDate > CategoryC1EEndDate или BirthDate > CategoryDEStartDate > CategoryDEEndDate или BirthDate > CategoryD1EStartDate > CategoryD1EEndDate или BirthDate > CategoryMStartDate > CategoryMEndDate или BirthDate > CategoryTmStartDate > CategoryTmEndDate или BirthDate > CategoryTbStartDate > CategoryTbEndDate -
certain_open_categories - Проверка Дата выдачи
Дата рождения не менее 16 лет, 21 года для определенных открытых категорий M, BE
Дата рождения > 16-летнего возраста для транспортных средств (далее также - ТС) категории "A", если водительское удостоверение выдано до 05.11.2013 включительно
Дата рождения > 16-летнего возраста для транспортных средств категории "M" и подкатегории "A1"
Дата рождения > 18-летнего возраста для ТС категорий "A", "B", "C" и подкатегорий "B1", "C1"
Дата рождения > 21-летнего возраста для ТС категорий "D", "Tm", "Tb" и подкатегории "D1";
0 - проверка пройдена 1 - проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если (CategoryAStartDate - BirthDate) < 18 лет — при условии, что CategoryAStartDate ≥ 05.11.2013 или (CategoryAStartDate - BirthDate) < 16 лет — при условии, что CategoryAStartDate < 05.11.2013 или (CategoryC1StartDate - BirthDate) < 16 лет или (CategoryBEStartDate - BirthDate) < 21 года или (CategoryCEStartDate - BirthDate) < 16 лет или (CategoryDEStartDate - BirthDate) < 16 лет или (CategoryBStartDate - BirthDate) < 18 лет или (CategoryCStartDate - BirthDate) < 18 лет или (CategoryB1StartDate - BirthDate) < 18 лет или (CategoryC1EStartDate - BirthDate) < 18 лет или (CategoryMStartDate - BirthDate) < 16 лет или (CategoryA1StartDate - BirthDate) < 16 лет или (CategoryDStartDate - BirthDate) < 21 года или (CategoryD1StartDate - BirthDate) < 21 года или (CategoryD1EStartDate - BirthDate) < 21 года или (CategoryTmStartDate - BirthDate) < 21 года или (CategoryTbStartDate - BirthDate) < 21 года -
driving_experience - стаж вождения более 12 месяцев;
0 - проверка пройдена 1 - проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если (today - CategoryD1EStartDate) > 12 месяцев -
category_and_date_issue - проверка наличия у категории дат выдачи и окончания
Если в поле Категории распознаны определенные значения, например B и B1, то в соответствующих полях Даты выдачи и Даты окончания по соответствующим категориям должны присутствовать значения дат;
0 - проверка пройдена 1 - проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если Categories содержит значение A и (CategoryAStartDate отсутствует или CategoryAEndDate отсутствует) или (CategoryAStartDate присутствует, а CategoryAEndDate отсутствует) или Categories содержит значение B и (CategoryBStartDate отсутствует или CategoryBEndDate отсутствует) или (CategoryBStartDate присутствует, а CategoryBEndDate отсутствует) или Categories содержит значение B1 и (CategoryB1StartDate отсутствует или CategoryBEndDate отсутствует) или (CategoryB1StartDate присутствует, а CategoryBEndDate отсутствует) или Categories содержит значение C и (CategoryCStartDate отсутствует или CategoryCEndDate отсутствует) или (CategoryCStartDate присутствует, а CategoryCEndDate отсутствует) или Categories содержит значение C1 и (CategoryC1StartDate отсутствует или CategoryC1EndDate отсутствует) или (CategoryC1StartDate присутствует, а CategoryC1EndDate отсутствует) или Categories содержит значение D и (CategoryDStartDate отсутствует или CategoryDEndDate отсутствует) или (CategoryDStartDate присутствует, а CategoryDEndDate отсутствует) или Categories содержит значение D1 и (CategoryD1StartDate отсутствует или CategoryD1EndDate отсутствует) или (CategoryD1StartDate присутствует, а CategoryD1EndDate отсутствует) или Categories содержит значение BE и (CategoryBEStartDate отсутствует или CategoryBEEndDate отсутствует) или (CategoryBEStartDate присутствует, а CategoryBEEndDate отсутствует) или Categories содержит значение CE и (CategoryCEStartDate отсутствует или CategoryCEEndDate отсутствует) или (CategoryCEStartDate присутствует, а CategoryCEEndDate отсутствует) или Categories содержит значение C1E и (CategoryC1EStartDate отсутствует или CategoryC1EEndDate отсутствует) или (CategoryC1EStartDate присутствует, а CategoryC1EEndDate отсутствует) или Categories содержит значение D1E и (CategoryD1EStartDate отсутствует или CategoryD1EEndDate отсутствует) или (CategoryD1EStartDate присутствует, а CategoryD1EEndDate отсутствует) или Categories содержит значение DE и (CategoryDEStartDate отсутствует или CategoryDEndDate отсутствует) или (CategoryDEStartDate присутствует, а CategoryDEndDate отсутствует) или Categories содержит значение M и (CategoryMStartDate отсутствует или CategoryMEndDate отсутствует) или (CategoryMStartDate присутствует, а CategoryMEndDate отсутствует) или Categories содержит значение Tm и (CategoryTmStartDate отсутствует или CategoryTmEndDate отсутствует) или (CategoryTmStartDate присутствует, а CategoryTmEndDate отсутствует) или Categories содержит значение Tb и (CategoryTbStartDate отсутствует или CategoryTbEndDate отсутствует) или (CategoryTbStartDate присутствует, а CategoryTbEndDate отсутствует). -
correct_formats - проверка на корректность форматов Дата в документе указана корректно;
0 - проверка пройдена 1 - проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если BirthDate != формату ДД.ММ.ГГГ или CategoryAStartDate != формату ДД.ММ.ГГГ или CategoryA1StartDate != формату ДД.ММ.ГГГ или CategoryBStartDate != формату ДД.ММ.ГГГ или CategoryB1StartDate != формату ДД.ММ.ГГГ или CategoryCStartDate != формату ДД.ММ.ГГГ или CategoryC1StartDate != формату ДД.ММ.ГГГ или CategoryDStartDate != формату ДД.ММ.ГГГ или CategoryD1StartDate != формату ДД.ММ.ГГГ или CategoryBEStartDate != формату ДД.ММ.ГГГ или CategoryCEStartDate != формату ДД.ММ.ГГГ или CategoryC1EStartDate != формату ДД.ММ.ГГГ или CategoryDEStartDate != формату ДД.ММ.ГГГ или CategoryD1EStartDate != формату ДД.ММ.ГГГ или CategoryMStartDate != формату ДД.ММ.ГГГ или CategoryTmStartDate != формату ДД.ММ.ГГГ или CategoryTbStartDate != формату ДД.ММ.ГГГ -
matching_series_number - сверка по совпадению Серии и Номера на лицевой и оборотной стороне;
0 - проверка пройдена 1 - проверки не пройдены '' - проверки не было, из-за отсутствия набора значений в ключах проверкиУсловия проверки
значение 1, если SeriesFront != SeriesBack или NumberFront != NumberBack
Проверки метаданных
Доступно на тарифе Биорг.KYC
В результате обработки входящего документа будет доступно поле verifications.metadata_check,
в котором находятся следующие данные:
{
'status': 0, // тип integer -- проверка на наличие словаря metadata
'checks': {
'metadata': {
'source_check': 0, // тип integer -- проверка наличия следов производителя устройства
'create_date': '1730796861', // тип timestamp -- дата создания файла
'make': '1', // тип string -- производитель устройства
'model': 'T1' // тип string -- модель устройства
}
}
}
Условия проверки
-
status - Фиксирует наличие метаданных
0 — словарь metadata присутствует и не пустой 1 — словарь metadata отсутствует или пустой -
source_check - Проверка наличия следов производителя устройства, на котором было получение изображение
0 - если make и model присутствуют и непусты 1 - в противном случае -
сreate_date - Фиксирует дату создания файла, значение из словаря metadata ключа CreateDate или DateTimeOriginal
-
make - Фиксирует производителя устройства, значение из словаря metadata ключа Make или DeviceManufacturer,
если ключи отсутствуют или пустые - передает пустое значение '' -
model - Фиксирует модель устройства, значение из словаря metadata ключа Model или DeviceModel
если ключи отсутствуют или пустые - передает пустое значение '' -
not_standart_sizes - Проверяет несоответствие изображения типовым размерам
0 - изображение соответствует типовым размерам 1 - изображение не соответствует типовым размерам
⚠️ Важно: Может свидетельствовать о сгенерированном изображении
-
incorrect_dpi - Проверяет несоответствие DPI изображения
0 - DPI корректен 1 - DPI некорректен
⚠️ Важно: Может свидетельствовать о сгенерированном изображении
-
color_profile - Наличие информации о цветовом профиле
0 - информация отсутствует 1 - информация присутствует
⚠️ Важно: Может свидетельствовать о сгенерированном изображении
Проверка доумента на фрод
Доступно на тарифе Биорг.KYC
В результате обработки входящего документа будет доступно поле verifications.fraud_check,
в котором находятся следующие данные:
"fraud_check": {
"fraud": 0, // тип integer -- 0 - документ не поддельный 1 - документ поддельный
"probability": 1,
"error_code": 0,
"comment": "Good"
},