Рукописное распознавание
Пример использования опции "Улучшенное качество" для рукописных Паспортов РФ и регистраций через API:
Примеры изображений документов
Документы для обработки должны быть закодированы в формат base64
Отправка документа
Структура запроса:
url: https://api.beorg.ru/api/bescan/add_document method: POST headers: Content-Type: application/json body: { "project_id": "U_RATE_2", "images": ["<строка base64>"], "process_info": [настройки обработки] "token": token, "machine_uid": machine_uid }
Пример ответа об успешной загрузке:
{ "document_id": "s-12345" }
Структура передаваемых данных:
Ключ | Описание |
---|---|
project_id | название проекта |
token | токен доступа |
machine_uid | идентификатор устройства |
images | список из строк base64 (файлов) |
process_info | настройки обработки |
Структура prosess_info:
Ключ | Описание |
---|---|
key | свободный ключ для разделения документов при загрузке и получении результатов если не указан вместо него используется улюч type |
type | тип документа |
options | опции обработки документа |
Структура process_info.options:
Ключ | Описание |
---|---|
stages | этапы обработки документа (Доступны: verification, biometry_match, biometry_liveness) |
relation | связь с иным документом в одном запросе (Доступны: biometry_match) |
Для получения token, machine_uid и project_id обратитесь в подраздел "Начало работы"
Python
import requests import base64 with open("<путь до файла паспорта>", "rb") as image_file: b64 = base64.b64encode(image_file.read()).decode() r = requests.post( "https://api.beorg.ru/api/bescan/add_document", headers={"Content-Type": "application/json"}, json={ "project_id": project_id, "token": token, "machine_uid": machine_uid, "images": [b64], "process_info": [ { "type": "PASSPORT", "options": { "stages": [ "verification", ], } }, ], }, ) r.json()
Получение результатов
Структура запроса:
url: https://api.beorg.ru/api/document/result/s-12345?token=methods: GET, POST
-
Python
import requests import base64 r = requests.get("https://api.beorg.ru/api/document/result/s-12345?token=
") r.json()
Пример ответа по обработанному документу:
{ "document_id": "s-44529", "documents": [ { "key": "PASSPORT", "type": "PASSPORT", "data": { "LastName": "", "FirstName": "", "MiddleName": "", "Gender": "", "BirthDate": "", "BirthPlace": "", "Series": "", "Number": "", "IssuedBy": "", "IssueDate": "", "IssueId": "", "Address": "", "HasPhoto": "", "HasOwnerSignature": "", "MRZ1": "", "MRZ2": "" }, } ] }
Описание ключей
Ключ | Тип | Описание |
---|---|---|
document_id | string | номер документа в формате s-<номер документа> |
documents | list | список данных по каждому документу |
documents[].key | string | ключ заданный при отправке документа для отслеживания |
documents[].type | string | тип документа |
documents[].data | dictionary | обработанные данные по каждому полю, содержит ключи полей и их определенные значения |
IssuedBy | string | кем выдан паспорт |
IssueDate | string | дата выдачи паспорта |
IssueId | string | код подразделения |
Series | string | серия паспорта с первого разворота |
Number | string | номер паспорта с первого разворота |
Gender | string | пол |
LastName | string | фамилия |
FirstName | string | имя |
MiddleName | string | отчество |
BirthDate | string | дата рождения |
BirthPlace | string | место рождения |
HasPhoto | boolean или string | попала ли в кадр фотография владельца |
HasOwnerSignature | boolean или string | попала ли в кадр подпись владельца |
MRZ1 | string | первая строка машиночитаемой записи |
MRZ2 | string | вторая строка машиночитаемой записи |
metadata | dictionary | содержит ключи метаданных |
confidences | dictionary {key: float} |
метаданные с точностью обработки по каждому полю - содержит ключи полей и значения уровня уверенности. Значения от 0.0000 до 0.9999, где чем значение больше, тем уверенность в результате выше. Максимальная уверенность - 0.9999. |
verifications | dictionary {key: boolean, key: integer} |
метаданные совершенных проверок - содержит ключи и их значения проверок, см. Правила проверок |