VK Cloud logo

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

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

HOST: https://smarty.mail.ru

ENDPOINT: /api/v1/docs/recognize

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

POST /v1/docs/recognize HTTP/1.1
...
{"project": "ci_test", "img": [{"link": "http://localhost:7799/normal/v1_text_recognize/pas_90.png", "name": "pas_90.png"}]}

Параметры

  • project — идентификатор проекта, использующего рекогнайзер, используется для избежания пересечений по uid между проектами (обязателен для данного запроса);
  • img — массив с информацией о каждой персоне (обязателен для данного запроса);
  • img.name — имя объекта, чтобы можно было сопоставить с ответом (обязателен);
  • img.link — если задано, то бекенд скачает файл по ссылке (http или https), иначе - будет искать содержимое изображение в теле запроса.
  • callback — если задан, то API ответит немедленно кодом 200 (если с запросом все ок), а после выполнения запроса дернет урл (post'ом), указанный в поле callback, с результатами;

Ограничения

Общие ограничения API.

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

POST /v1/docs/recognize HTTP/1.1
...
{"project": "ci_test", "callback":"https://ololo.com", "img": [{"link": "http://localhost:7799/normal/v1_text_recognize/pas_90.png", "name": "pas_90.png"}]}

Ответ

Ответ: запрос успешен

1HTTP/1.1 200 OK
2Content-Length: 9866
3Content-Type: application/json
4Access-Control-Allow-Origin: \*
5{
6"status": 0,
7"objects": [{
8"name": "pas_90.png",
9"status": 0,
10"labels": {
11"birthday": ["14.02.1990"],
12"birthplace": [".",""],
13"code_of_issue": ["100-106"],
14"date_of_issue": ["12.12.2012"],
15"first_name": [""],
16"last_name": [""],
17"middle_name": [""],
18"number": ["645382","645382"],
19"place_of_issue": ["","",""],
20"series_number": ["0909","0909"],
21"sex": ["."]
22}
23}
24]
25}

Ответ: возникли ошибки при обработке некоторых объектов

1HTTP/1.1 200 OK
2Content-Length: 91
3Content-Type: application/json
4Access-Control-Allow-Origin: \*
5{"status":0,"objects":[{"name":"plane.jpg","status":2,"error":"error read image by link"}]}

Ответ: возникла ошибка при обработке

1HTTP/1.1 400 Bad Request
2Content-Length: 61
3Content-Type: application/json
4Access-Control-Allow-Origin: \*
5{"status":1,"error":"link or content is required","names":[]}

Параметры ответа

  • status — если 0, значит все ок, иначе - ошибка, описание ошибки будет в поле "error";
  • objects — информация по каждому загруженному объекту;
  • objects.name — имя объекта, которые было указано в запросе;
  • objects.status — если 0, значит все ок, 1 - перманентная ошибка на сервере (например, ошибки графических библиотек), 2 - временная;
  • ошибка (запрос с этой картинкой стоит повторить). описание ошибки в поле objects.error;
  • objects.error — если при обработке картинки возникла ошибка, то тут будет ее описание;
  • objects.text — текст с фото.