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

Правила проверок

Итоговый вердикт системы в соответствии с проверками

Доступно на тарифах Биорг.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"
},