Detect для документов

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

Запрос

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


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

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


ПровайдерЗначение oauth_providerПолучение токена
Mail.Rumcs

Смотрите в статье


Параметры запроса передаются в формате 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--


Ответ

ПараметрТипЗначение
statusint200 в случае успеха, иначе описание ошибки будет в body
bodystring | response тело ответа

response

ПараметрТипЗначение
statusenumрезультат выполнения) 
errorstringтекстовое описание ошибки (optional)
namestringимя файла для сопоставления файлов в запросе и ответе
pages

[]page

список объектов (меток), найденных на изображении

status

ПараметрЗначение
0успешно
1перманентная ошибка
2временная ошибка

page

ПараметрТипЗначение
indexintуспешно
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Заявление


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



{

"status":200,

"body":

{

"status":0,

"objects":[

{

"status":0,

"name":"file_0",

"pages":[

{

"index":0,

"docs":[

{

"eng":"Pts",

"rus":"Птс",

"probabilty":0.56

},

{

"eng":"Doc",

"rus":"Документ",

"probabilty":0.78

}]

}

}]

}

}

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



{

"status":500,

"body":"Internal Server Error",

"htmlencoded":false,

"last_modified":0

}

Пример Python:



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