Антифрод
Анализируем файлы с изображениями и выдаём набор признаков подделки
Данная версия сервиса устарела и больше не поддерживается. Рекомендуем использовать Антифрод 2.0.
Злоумышленники могут внести изменения в изображения документов. Сервис «Признаки подделки» ищет прямые и косвенные признаки того, что файл был умышленно модифицирован. Сервис не может гарантировать 100% защиты от злоумышленников, но позволяет автоматически отсеивать часть фрода и снижать нагрузку на операторов. Сервис запускает следующие проверки:
Проверка соответствия вида документа ожидаемому.
Определение паспортов, созданных в онлайн-генераторах документов.
Поиск визуальных признаков модификации паспорта в цифровых редакторах. Например, подмена отдельных символов, или фотографии, или целых полей.
Проверка метаданных изображения. По умолчанию метаданные присутствуют в любой фотографии или скане. Отсутствие метаданных — весомый повод отклонить документ. При наличии метаданных сервис проверяет их на внутреннюю непротиворечивость.
Логические проверки полей паспорта. Проверяем наличие всех полей и фотографии: серию-номер, регион по ОКАТО, дату выдачи, дату рождения, код подразделения, пол человека, сверяем визуальные поля с машиночитаемой зоной.
Проверяем источник изображения. Им может быть фотография, скан, скриншот или фотография экрана. Мы советуем отклонять изображения из последних двух источников, но в вашем бизнес-процессе также могут быть недопустимы сканы.
Проверяем цветность изображения. Рекомендуем отклонять чёрно-белые изображения.
Если вам заранее известны данные клиента (например, ФИО и дата рождения), сервис сверит их с написанными в документе с помощью функции сверки с внешним файлом.
Чтобы воспользоваться сервисом, отправьте POST-запрос на URL
Параметры запроса к API
Вы можете использовать эти параметры при запросе к сервису определения подделок.
Асинхронный запрос
Поведение по умолчанию: async=false — сервис обрабатывает запросы синхронно. При отправке запроса вы получите ответ только после окончательного завершения обработки запроса сервисом.
Если вам нужен асинхронный режим, укажите в запросе async=true. В ответ на запрос сервис вернёт в response body параметр task_id. Например:
"task_id": "96b8ccc950a70699927036842c624d7c"Используйте этот task_id, чтобы получить результаты классификации в методе result:
curl -X 'GET' \
'https://latest.dbrain.io/result/96b8ccc950a70699927036842c624d7c?token=XXX' \
-H 'accept: application/json'Не забудьте указать в параметре token ваш ключ лицензии. Рекомендуем запрашивать метод result в цикле с периодом 1-2 секунды.
Возврат найденных областей изображения
return_crops — boolean
Поведение по умолчанию: return_crops=false — cервис не возвращает найденные области изображения.
Если вам нужны найденные сервисом области изображения, укажите return_crops=true. Сервис вернёт в ответе API в параметре crop найденные области изображения с лицами.
Тегирование запроса
task_tags — string array
Поведение по умолчанию: параметр не используется.
Функция тегирует запросы по вашему усмотрению. Это упрощает отслеживание пакетов документов, связанных с конкретным клиентом-физлицом. Для использования функции укажите в параметре task_tags удобный вам тег: task_tags=тэг
Ожидаемый тип документа
Поведение по умолчанию: doc_type=passport_main — сервис ожидает изображение с главным разворотом паспорта РФ. Другие допустимые варианты doc_type перечислены в разделе «Типы документов». Для проверки фотографии лица передайте тип not_document.
Остальные параметры запроса не несут практического смысла. Оставили их для совместимости со старой версией метода recognize, который используется внутри сервиса
Тело запроса к API
Изображение
image — string ($binary)
Изображение обязательно для передачи в запросе. Сервис ожидает изображение в двоичном виде.
Сверка полей с внешним файлом
fraud/verify_fields — string ($binary)
С помощью этой функции можно быстро сравнить данные клиента, которые вам известны. Например, ФИО с текстом в самом документе. Для использования функции дополнительно укажите JSON-файл в параметре verify_fields.
Ниже показан пример JSON-файла для сравнения серии-номера и ФИО из паспорта РФ с данными из документа:
{
"series_and_number": "1111 222222",
"surname": "Иванов",
"first_name": "Иван",
"other_names": "Иванович"
}Для составления своего JSON-файла скопируйте наименования полей из API-спецификации.
Функция сверки возвращает результат в атрибут expected_text_missmatch.
В ответе на запрос к API:
task_id— string, идентификатор запроса, формат: 32 символа, 16-ричная строкаerror— string, текстовое описание ошибкиtask_tags— array[string], теги, если они переданы в параметре task_tagssuccess— boolean, статус запросаtrue— запрос выполнен успешноfalse— запрос не выполнен
status_code— integer, HTTP-код статуса запроса200 — запрос выполнен успешно
400, 403, 500 и т.д. — расшифрованы в «общей информации о сервисах»
resultinput_image— $string, data URL с MIME-типом JPEG в формате base64 — оригинал изображения, возвращается, если в запросе передатьreturn_crops=truedoc_type_missmatch— booleantrue— найденный на изображении тип документа не соответствует ожидаемомуfalse— найденный на изображении тип документа соответствует ожидаемому
generated_document—depricated, не используйтеvisual_modificationscoords— массив, в котором перечислены координаты подозрительных областей изображения документа по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правыйresult— booleantrue— нейросеть считает, что в файл вносили изменения в графическом редакторе либо он был сгенерирован в генераторе синтетических паспортовfalse— нейросеть считает, что изображение не фейкnull— главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
metadata— объект, содержащий информацию о метаданныхnot_present— booleantrue— в файле отсутствуют метаданныеfalse— в файле найдены метаданные
inconsistency— booleantrue— в метаданных файла найдены противоречияfalse— противоречия в метаданных файла не найденыnull— метаданные не найдены, проверка не запускалась
maker— string, производитель устройстваmodel— string, модель устройстваsoftware— string, программное обеспечение, которое последним меняло изображениеdate_time— объект, содержащий данные со всеми датами и временами, найденными в метаданных изображения:modify_date— string, дата и время модификации изображенияcreate_date— string, дата и время создания изображенияdate_time_original— string, оригинальные даты и время создания изображенияgps_date_stamp— string, дата и время снимка согласно GPS
gps_coords— объект, содержащий координаты согласно GPS метаданным:latitude_ref— string, n или s — северная или южная широта, в которой сделан снимокlatitude— string, широта снимкаlongitude_ref— string, e или w — восточная или западная долгота, в которой сделан снимокlongitude— string, долгота снимкаaltitude_ref— string, 1 или 0 — высота над уровнем моря или абсолютнаяaltitude— string, высота над уровнем моря
logical_inconsistencyresult— booleantrue— в данных документа найдены противоречияfalse— в данных документа противоречия не найденыnull— главный разворот Паспорта РФ не найден, поэтому проверка не запускалась
series_number_inconsistency— booleantrue— серия или номер паспорта на разных страницах не совпадают друг с другомfalse— серия или номер паспорта на разных страницах совпадают
fake_series_okato— booleantrue— серия паспорта содержит несуществующий номер ОКАТОfalse— серия паспорта содержит допустимый номер ОКАТО
series_mismatch_printing_year— booleantrue— серия паспорта выходит за допустимый диапазон отклонения от даты выдачи паспортаfalse— серия паспорта находится в допустимом диапазоне относительно даты выдачи паспорта
issue_year_mismatch_date_of_birth— booleantrue— дата выдачи паспорта находится вне допустимого диапазона относительно даты рождения для действительного паспортаfalse— дата выдачи паспорта находится в рамках допустимого диапазона относительно даты рождения для действительного паспорта
issue_code_mismatch_issue_authority— booleantrue— код подразделения не соответствует полю «Паспорт выдан»false— код подразделения соответствует полю «Паспорт выдан»
fake_year_of_birth— booleantrue— год рождения находится вне допустимого диапазона относительно текущей датыfalse— год рождения находится в допустимом диапазоне относительно текущей даты
photo_not_found— booleantrue— фотография не найденаfalse— фотография найдена
photo_gender_mismatch— booleantrue— пол на фотографии не соответствует тексту в поле «Пол»false— пол на фотографии соответствует тексту в поле «Пол»
mrz_presence_mismatch_issue_year— booleantrue— наличие или отсутствие машиночитаемой зоны паспорта невозможно при такой дате выдачи паспортаfalse— наличие или отсутствие машиночитаемой зоны паспорта возможно при такой дате выдачи паспорта
visual_field_missing— booleantrue— одно или несколько обязательных полей паспорта не найденоfalse— найдены все поля паспорта
visual_fields_mismatch_mrz— booleantrue— данные визуальных полей не совпадают с данными из машиночитаемой зоныfalse— данные визуальных полей совпадают с данными из машиночитаемой зоны
image_origin— string, источник изображения, может принимать одно из четырёх значений:photo— фотографияscan— сканscreenshot— скриншотmonitor_photo— фотография экрана
image_no_color— booleantrue— изображение чёрно-белоеfalse— изображение цветное
expected_text_mismatch— booleantrue— данные в документе не совпали с ожидаемымиfalse— данные в документе совпали с ожидаемымиnull— проверка не запускалась, выводится в случае, если вы не подали JSON на вход.
Last updated
Was this helpful?
