Миграционная карта
Миграционная карта — это документ, содержащий сведения о въезжающем на территорию РФ иностранце и сроке его пребывания.
Пример изображения документа:

Документы для обработки должны быть закодированы в формат 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": "MIGR1",
"type": "MIGR"
}
],
"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 |
Тип документа (MIGR для миграционной карты) |
options |
Опции обработки документа |
Структура process_info.options
| Ключ | Описание |
|---|---|
relation |
Связь с иным документом в одном запросе (доступно: biometry_match). Не указывается, если биометрия не требуется |
Для получения
token,machine_uidиproject_idобратитесь в подраздел «Начало работы».
Пример запроса (Python) для отправки миграционной карты
import requests
import base64
# Кодируем изображение документа в base64
with open("<путь до файла миграционной карты>", "rb") as image_file:
b64_migr = 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_migr],
"process_info": [
{
"key": "MIGR1",
"type": "MIGR"
}
]
}
)
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-1086331",
"documents": [
{
"key": "MIGR",
"type": "MIGR",
"data": {
"Series": "4111",
"Number": "1927111",
"Gender": "M",
"LastName": "Иванов",
"FirstName": "Иван",
"MiddleName": "",
"BirthDate": "19.09.2000",
"Citizenship": "КАЗАХСТАН",
"DocNumber": "14647111",
"VisaNumber": "",
"Goal": "РАБОТА",
"OrgName": "ГЕЛЕНДЖИК",
"RegIssueDate": "27.04.2026",
"RegExpiryDate": null
},
"metadata": {
"confidences": null,
"verifications": {},
"metadata_check": {
"status": 0,
"checks": {
"source_check": 1,
"suspicious_app_detection": 0,
"suspicious_value": "",
"create_date": 0,
"make": "",
"model": "",
"not_standart_sizes": 1,
"incorrect_dpi": 0,
"color_profile": 0
}
},
"external_integrations": {
"terrorist_extremist": {
"value": null
},
"inn": {
"status": null,
"value": null
}
},
"fullness": {
"value": 0.79,
"comment": "Обнаружено низкое качество документа или рукописное заполнение. Используйте опцию «Улучшенное качество»"
},
"check_result": {
"status": "Attention",
"details": {
"logic": {
"status": "Not executed"
},
"metadata": {
"status": "Attention"
},
"fraud": {
"status": "Not executed"
},
"external_integrations": {
"status": "Not executed"
}
}
}
},
"reasons_metadata": true,
"broken": true,
"broken_reasons": [
"Not all required fields has been recognized",
"Low-quality image"
],
"broken_reasons_ru": [
"не все необходимые данные распознаны, проверьте, что изображение не размыто и не имеет бликов",
"Некачественное изображение"
]
}
]
}
Описание ключей в ответе
| Ключ | Тип | Описание |
|---|---|---|
document_id |
string | Номер документа в формате s-<номер документа> |
documents |
list | Список данных по каждому документу |
documents[].key |
string | Ключ, заданный при отправке документа для отслеживания (MIGR) |
documents[].type |
string | Тип документа (MIGR) |
documents[].data |
dictionary | Обработанные данные по каждому полю, содержит ключи полей и их определённые значения |
Series |
string | Серия документа |
Number |
string | Номер документа |
Gender |
string | Пол (M — мужской, F — женский) |
LastName |
string | Фамилия владельца миграционной карты |
FirstName |
string | Имя владельца миграционной карты |
MiddleName |
string | Отчество владельца миграционной карты |
BirthDate |
string | Дата рождения (в формате ДД.ММ.ГГГГ) |
Citizenship |
string | Гражданство владельца миграционной карты |
DocNumber |
string | Номер/серия удостоверяющего документа |
VisaNumber |
string | Номер визы |
Goal |
string | Цель визита |
OrgName |
string | Сведения о приглашающей стороне |
RegIssueDate |
string | Срок пребывания с (в формате ДД.ММ.ГГГГ) |
RegExpiryDate |
string | Дата окончания срока регистрации (в формате ДД.ММ.ГГГГ). Может быть null, если срок не ограничен |
metadata |
dictionary | Содержит ключи метаданных |
confidences |
dictionary ({key: float}) |
Метаданные с точностью обработки по каждому полю — содержит ключи полей и значения уровня уверенности. Значения от 0.0000 до 0.9999, где чем значение больше, тем уверенность в результате выше. Максимальная уверенность — 0.9999 |
verifications |
dictionary ({key: boolean, key: integer}) |
Метаданные совершённых проверок. Может содержать: status (integer): 0 — успешно, 1 — ошибка; status_text (string): текстовое описание статуса |
broken |
boolean | Является ли документ бракованным (true/false) |
broken_reasons |
list | Список причин брака на английском языке |
broken_reasons_ru |
list | Список причин брака на русском языке |