Рукописное распознавание
Пример изображения документа:

Важно: документы для обработки должны быть закодированы в формат base64.
Отправка документа
Endpoint: POST https://api.beorg.ru/api/bescan/add_document
Заголовки:
Content-Type: application/json
Тело запроса:
{
"project_id": "U_RATE_2",
"images": ["<строка base64>"],
"process_info": [
{
"type": "PASSPORT",
"options": {
"stages": ["verification"]
}
}
],
"token": "<token>",
"machine_uid": "<machine_uid>"
}
Пример ответа об успешной загрузке:
{
"document_id": "s-12345"
}
Структура передаваемых данных
| Ключ | Описание |
|---|---|
project_id |
Название проекта |
token |
Токен доступа |
machine_uid |
Идентификатор устройства |
images |
Список строк в формате base64 (файлов) |
process_info |
Настройки обработки |
Структура process_info
| Ключ | Описание |
|---|---|
key |
Свободный ключ для разделения документов при загрузке и получении результатов. Если не указан, вместо него используется ключ type |
type |
Тип документа (PASSPORT) |
options |
Опции обработки документа |
Для получения
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"]
}
}
]
}
)
print(r.json())
Получение результатов
Endpoint: GET/POST https://api.beorg.ru/api/document/result/s-12345?token=<token>
Пример запроса для получения результатов (Python):
import requests
r = requests.get("https://api.beorg.ru/api/document/result/s-12345?token=<token>")
print(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": ""
},
"metadata": {
"confidences": {
"LastName": 0.98,
"FirstName": 0.97,
"MiddleName": 0.95,
"Gender": 0.99,
"BirthDate": 0.96,
"BirthPlace": 0.94,
"Series": 0.99,
"Number": 0.98,
"IssuedBy": 0.93,
"IssueDate": 0.95,
"IssueId": 0.92,
"Address": 0.88,
"HasPhoto": 1.0,
"HasOwnerSignature": 1.0,
"MRZ1": 0.99,
"MRZ2": 0.99
},
"verifications": {
"document_integrity": true,
"photo_authenticity": true
}
},
"broken": false,
"broken_reasons": [],
"broken_reasons_ru": []
}
]
}
Описание ключей в ответе
| Ключ | Тип | Описание |
|---|---|---|
document_id |
string | Номер документа в формате s-<номер документа> |
documents |
list | Список данных по каждому документу |
documents[].key |
string | Ключ, заданный при отправке документа для отслеживания |
documents[].type |
string | Тип документа (PASSPORT) |
documents[].data |
dictionary | Обработанные данные по каждому полю — содержит ключи полей и их определённые значения |
LastName |
string | Фамилия |
FirstName |
string | Имя |
MiddleName |
string | Отчество |
Gender |
string | Пол |
BirthDate |
string | Дата рождения |
BirthPlace |
string | Место рождения |
Series |
string | Серия паспорта с первого разворота |
Number |
string | Номер паспорта с первого разворота |
IssuedBy |
string | Кем выдан паспорт |
IssueDate |
string | Дата выдачи паспорта |
IssueId |
string | Код подразделения |
Address |
string | Адрес регистрации |
HasPhoto |
boolean или string | Попала ли в кадр фотография владельца |
HasOwnerSignature |
boolean или string | Попала ли в кадр подпись владельца |
MRZ1 |
string | Первая строка машиночитаемой записи |
MRZ2 |
string | Вторая строка машиночитаемой записи |
metadata |
dictionary | Содержит ключи метаданных |
confidences |
dictionary ({key: float}) |
Метаданные с точностью обработки по каждому полю — содержит ключи полей и значения уровня уверенности. Значения от 0.0000 до 0.9999, где чем значение больше,тем уверенность в результате выше. Максимальная уверенность — 0.9999 |
broken |
boolean | Является ли документ бракованным |
broken_reasons |
list | Список причин брака (на английском языке) |
broken_reasons_ru |
list | Список причин брака (на русском языке) |