VK Cloud logo

Распознавание типов документов

Данный метод позволяет определить является ли фотография документом и возможный тип документа.

HOST: https://smarty.mail.ru

ENDPOINT: /api/v1/docs/detect

Запрос

Авторизационные данные передаются в строке запроса:

ПараметрТипЗначение
oauth_token
string
OAuth2 access token (required non-empty)
oauth_provider
string
Провайдер OAuth2 (required non-empty)

Поддерживаемые провайдеры OAuth2:

ПровайдерЗначение oauth_providerПолучение токена
Mail.Ru
mcs
Смотрите в статье

Параметры запроса передаются в формате JSON в теле запроса с name="meta":

ПараметрТипЗначение
images
[]image_meta
Метаданные передаваемых изображений (required non-empty)

image_meta

ПараметрТипЗначение
name
string
Имена файлов для сопоставления файлов в запросе и ответе (required non-empty)

Изображения передаются в теле запроса, значения поля name должны соответствовать переданным в images. Максимальное количество изображений в одном запросе равняется 100. Максимальный размер каждого изображения не должен превышать 4 МБ.

Пример запроса:

POST /api/v1/docs/detect?oauth_provider=mr&oauth_token=123 HTTP/1.1

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryfCqTBHeLZlsicvMp

------WebKitFormBoundaryfCqTBHeLZlsicvMp
Content-Disposition: form-data; name="file_0"; filename=""
Content-Type: image/jpeg

000000000000000000000000000
000000000000000000000000000
000000000000000000000000000
------WebKitFormBoundaryfCqTBHeLZlsicvMp
Content-Disposition: form-data; name="file_1"; filename=""
Content-Type: image/jpeg

111111111111111111111111111
111111111111111111111111111
111111111111111111111111111
------WebKitFormBoundaryfCqTBHeLZlsicvMp
Content-Disposition: form-data; name="meta"

{"images":[{"name":"file_0"},{"name":"file_1"}]}
------WebKitFormBoundaryfCqTBHeLZlsicvMp--

Ответ

ПараметрТипЗначение
status
int
200 в случае успешного взаимодействия с серверами Vision
body
string
Тело ответа

response

ПараметрТипЗначение
status
enum
Результат выполнения)
error
string
Текстовое описание ошибки (optional)
name
string
Имя файла для сопоставления файлов в запросе и ответе
pages
[]page
Список объектов (меток), найденных на изображении

status

ПараметрЗначение
0
Успешно
1
Массив найденных типов документов на странице
2
Номер страницы

page

ПараметрТипЗначение
index
int
Номер страницы
docs
[]doc
Массив найденных типов документов на странице

doc

ПараметрЗначение
eng
Тип (название) документа на английском
rus
Тип (название) документа на русском
prob
Степень уверенности в том, что на изображении именно этот тип документа

Для каждого объекта (картинки) может быть несколько типов, с различной степенью уверенности. Метка «Документ» определяет является ли изображение документом и с какой вероятностью. На данный момент поддерживаются следующие типы документов:

Eng меткаRus метка
Akt
Акт
Akt_sverky
Акт сверки
Diplom
Диплом
Doc
Документ
Dogovor
Договор
Doverennost
Доверенность
Inn
ИНН
Logotip
Логотип
Pasport
Паспорт
Prais_list
Прайс-лист
Prikaz
Приказ
Protocol
Протокол
Pts
ПТС
Registraciya_ts
Регистрация ТС
Rekvizity
Реквизиты
Rezyume
Резюме
Schet
Счет
Sertifikat
Сертификат
Snils
Снилс
Spravka
Справка
Svidetelstvo
Свидетельство
Tabel
Табель
Ustav
Устав
Voditelskye_prava
Водительские права
Vypiska
Выписка
Zagranpasport
Загранпаспорт
Zayavlenie
Заявление

Пример ответа:

1{
2  "status": 200,
3  "body": {
4    "status": 0,
5    "objects": [
6      {
7        "status": 0,
8        "name": "file_0",
9        "pages": [
10          {
11            "index": 0,
12            "docs": [
13              {
14                "eng": "Pts",
15                "rus": "Птс",
16                "probabilty": 0.56
17              },
18              {
19                "eng": "Doc",
20                "rus": "Документ",
21                "probabilty": 0.78
22              }
23            ]
24          }
25        }
26      ]
27    }
28  }

Пример ответа, когда не удалось выполнить запрос:

1{
2"status":500,
3"body":"Internal Server Error",
4"htmlencoded":false,
5"last_modified":0
6}

Пример Python:

1python examples/python/smarty.py \
2 -u "https://smarty.mail.ru/api/v1/docs/detect?oauth_provider=mr&oauth_token=e50b000614a371ce99c01a80a4558d8ed93b313737363830" \
3 -p examples/passport.jpg \
4 -v