Перейти к содержанию

Рукописное распознавание

Пример использования опции "Улучшенное качество" для рукописных Паспортов РФ и регистраций через 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}
метаданные совершенных проверок -
содержит ключи и их значения проверок,
см. Правила проверок