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

Паспорт гражданина РФ (2-3 стр.)

Примеры изображений документов:

Документы для обработки должны быть закодированы в формат base64

Отправка документа

Endpoint: POST https://api.beorg.ru/api/bescan/add_document

Заголовки:

Content-Type: application/json

Тело запроса:

{
  "project_id": "U_RATE_3",
  "images": ["<строка base64>"],
  "process_info": [
    {
      "key": "PASSPORT1",
      "type": "PASSPORT",
      "options": {
        "stages": ["verification"]
      }
    }
  ],
  "token": "<token>",
  "machine_uid": "<machine_uid>"
}

Пример ответа об успешной загрузке:

{
  "document_id": "s-12345"
}

Структура передаваемых данных

Ключ Описание
project_id Название проекта (U_RATE_3)
token Токен доступа (получается в разделе «Начало работы»)
machine_uid Идентификатор устройства (получается в разделе «Начало работы»)
images Список строк в формате base64 (файлов). Для лицевого разворота паспорта — один элемент массива
process_info Настройки обработки документа

Структура process_info

Ключ Описание
key Свободный ключ для разделения документов при загрузке и получении результатов. Если не указан, вместо него используется ключ type
type Тип документа (PASSPORT для паспорта РФ)
options Опции обработки документа

Для получения token, machine_uid и project_id обратитесь в подраздел «Начало работы».


Пример запроса (Python) для отправки лицевого разворота паспорта (стр. 2–3)

import requests
import base64

# Кодируем изображение паспорта в base64
with open("<путь до файла паспорта (стр. 2–3)>", "rb") as image_file:
    b64_passport = base64.b64encode(image_file.read()).decode()

# Отправляем запрос на API
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_passport],  # один файл — стр. 2–3
        "process_info": [
            {
                "key": "PASSPORT1",
                "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())

Пример ответа по обработанному документу (стр. 2–3 паспорта)

{
  "document_id": "s-12345",
  "documents": [
    {
      "key": "PASSPORT1",
      "type": "PASSPORT",
      "data": {
        "IssuedBy": "Отдел УФМС России по г. Москве",
        "IssueDate": "15.03.2020",
        "IssueId": "770-001",
        "Series": "4507",
        "Number": "123456",
        "Gender": "M",
        "LastName": "Иванов",
        "FirstName": "Иван",
        "MiddleName": "Иванович",
        "BirthDate": "01.01.1990",
        "BirthPlace": "г. Москва, Российская Федерация",
        "HasPhoto": true,
        "HasOwnerSignature": true,
        "MRZ1": "P<RUSIVANOV<<IVAN<IVANOVICH<<<<<<<<<<<<<<<",
        "MRZ2": "45071234567RUS9001011M2003154<<<<<<<<<<8"
      },
      "metadata": {
        "confidences": {
          "IssuedBy": 0.9999,
          "IssueDate": 0.9995,
          "IssueId": 0.9990,
          "Series": 1.0,
          "Number": 1.0,
          "Gender": 0.9998,
          "LastName": 0.9997,
          "FirstName": 0.9996,
          "MiddleName": 0.9994,
          "BirthDate": 0.9992,
          "BirthPlace": 0.9985,
          "HasPhoto": 0.9999,
          "HasOwnerSignature": 0.9998,
          "MRZ1": 1.0,
          "MRZ2": 1.0
        }
      },
      "verifications": {
        "status": 0,
        "status_text": "ок",
        "bad_fields": []
      },
      "broken": false,
      "broken_reasons": [],
      "broken_reasons_ru": []
    }
  ]
}

Описание ключей в ответе

Ключ Тип Описание
document_id string Номер документа в формате s-<номер документа>
documents list Список данных по каждому документу
documents[].key string Ключ, заданный при отправке документа для отслеживания (PASSPORT1)
documents[].type string Тип документа (PASSPORT)
documents[].data dictionary Обработанные данные по каждому полю — содержит ключи полей и их определённые значения
IssuedBy string Кем выдан паспорт
IssueDate string Дата выдачи паспорта (в формате ДД.ММ.ГГГГ)
IssueId string Код подразделения
Series string Серия паспорта (4 цифры)
Number string Номер паспорта (6 цифр)
Gender string Пол (M — мужской, F — женский)
LastName string Фамилия
FirstName string Имя
MiddleName string Отчество
BirthDate string Дата рождения (в формате ДД.ММ.ГГГГ)
BirthPlace string Место рождения
HasPhoto boolean Попала ли в кадр фотография владельца
HasOwnerSignature boolean Попала ли в кадр подпись владельца
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 Список причин брака (на русском языке)