Page cover image

Общая информация о сервисах

Это важно для работы с любым сервисом. Рассказываем про допустимые форматы файлов, виды запросов и ответов, набор HTTP-статусов и даём рекомендации по устранению ошибок

Краткое описание сервисов

  • Классификация документов — сортируем документы по типу.

  • Извлечение данных из документов — извлекаем данные из изображений документов и возвращаем их в структурированном виде.

  • Проверка документов — находим признаки подделки файла с документом, проверяем качество изображений и наличие подписей и печатей. Также можем проверить документ по базам данных.

  • Операции с лицами — сравниваем лицо человека с фото на документе и даём оценку их схожести. Также умеем проверять «живость» человека.

  • Базовый OCR — возвращаем весь найденный текст из любых изображений документов.

  • Ручная верификация — вручную проверяем результаты извлечения текста в онлайн-режиме.

Форматы файлов

Обрабатываем одностраничные файлы любого формата. Многостраничные файлы — только форматов PDF и DJVU:

Формат
Одностраничный
Многостраничный

JPEG/JPG

PDF

PNG

TIFF

BMP

GIF

HEIC

HEIF

DJVU

Размер файлов должен быть не более 30 Mb и не менее 1 Kb

Формат запросов и ответов

Сервис принимает запросы в формате multipart/form-data.

В ответах формата JSON используется кодировка UTF-8.

Универсальные параметры запроса к API

Все сервисы Dbrain поддерживают этот набор параметров. Использовать их необязательно, но они могут помочь решить вашу задачу.

Асинхронный запрос

async — boolean

Поведение по умолчанию: 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 секунды.

Тегирование запроса

Поведение по умолчанию: параметр не используется.

Функция тегирует запросы по вашему усмотрению. Это упрощает отслеживание пакетов документов, связанных с конкретным клиентом-физлицом. Для использования функции укажите в параметре task_tags удобный вам тег. Например, task_tags=id_13

Тело запроса к API

В любом сервисе Dbrain изображение нужно передавать в теле запроса. В сервисе «Сравнение лиц» нужно передать два изображения в атрибутах image1 и image2.

Изображение

Обязательно для передачи в запросе. Сервис ожидает изображение в двоичном виде.

HTTP-коды ответа на запрос

Сервисы Dbrain возвращают универсальный набор HTTP-статусов. Рассказываем, что значит каждый статус и что с ним делать.

200 OK

Это наилучший код ответа. Он означает, что всё работает: сервис успешно обработал запрос и вернул запрошенные данные.

202 Accepted

Наш сервис принял запрос в обработку, но ответ ещё не готов. Повторите запрос через 1-2 секунды.

403 Forbidden

Вы попытались получить результат задачи, отправленной от другого токена. Проверьте корректность параметра token в запросе.

404 Not Found

Задача с таким task_id не найдена. Проверьте корректность параметра task_id в запросе.

405 License is Invalid

В запросе не указан токен, или есть проблемы с лицензией. Например, истёк срок действия лицензии или превышено число запросов. Проверьте корректность параметра token в запросе. Если token указан верно, напишите нам в телеграм или на [email protected]

405 Method Not Allowed

Вы использовали неверный тип запроса. Например, отправили GET вместо POST.

413 Content Too Large

Вы отправили слишком большой файл. Файл должен быть меньше 30 Мб. Если у вас тяжелый многостраничный файл, разбейте его на несколько файлов перед отправкой. Если файл состоит из одной страницы — сохраните его с меньшим разрешением.

415 Unsupported Media Type

Вы отправили слишком маленький файл. Он должен быть больше 1 Кб.

422 Unprocessable Content

Скорее всего, вы передали неправильный content-type тела запроса. Возможно, вы отправили текст вместо файла. Проверьте запрос.

500 Internal Server Error

Внутренняя ошибка сервиса Dbrain. Как правило, сопровождается пояснением. Попробуйте повторить запрос. Если это не решило проблему, напишите нам в телеграм или на [email protected].

502 Bad Gateway

Проблемы с роутингом соединения до сервисов Dbrain. Возможно, проблема на вашей стороне. Проверьте сетевые настройки.

503 Service Unavailable

Сервис недоступен. Возможно, он перегружен. Попробуйте повторить запрос позже. Если появился такой статус, мы тоже о нём знаем и уже решаем проблему.

Проверка работоспособности сервиса

Отправьте GET-запрос на адрес https://latest.dbrain.io/healthcheck.

В ответ вы получите код состояния HTTP 200 с Content-Type: application/json и телом ответа {"success": true}.

Если пришёл любой другой код, значит, есть проблемы с сервисом и мы уже их устраняем.