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

Важно: документы для обработки должны быть закодированы в формат base64.
Отправка документа
Endpoint: POST https://api.beorg.ru/api/bescan/add_document
Тело запроса:
{
"project_id": "U_RATE_3",
"images": ["<строка base64>", "<строка base64 селфи>"],
"process_info": [/* настройки обработки */],
"token": "<token>",
"machine_uid": "<machine_uid>"
}
Пример ответа об успешной загрузке:
{
"document_id": "s-12345"
}
Структура передаваемых данных
| Ключ | Описание |
|---|---|
project_id |
Название проекта |
token |
Токен доступа |
machine_uid |
Идентификатор устройства |
images |
Список строк в формате base64 (файлов) |
process_info |
Настройки обработки |
Структура process_info
| Ключ | Описание |
|---|---|
key |
Свободный ключ для разделения документов при загрузке и получении результатов. Если не указан, вместо него используется ключ type |
type |
Тип документа |
options |
Опции обработки документа |
Для получения
token,machine_uidиproject_idобратитесь в подраздел «Начало работы».
Пример запроса (Python)
import requests
import base64
with open("<путь до файла ВУ>", "rb") as image_file:
b64 = base64.b64encode(image_file.read()).decode()
with open("<путь до файла фотографии (селфи)>", "rb") as image_file:
b64_selfie = 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, b64_selfie],
"process_info": [
{
"key": "DLIC1",
"type": "DLIC",
"options": {
"stages": [
"verification",
"biometry_match"
],
"relation": {
"biometry_match": "SELFIE1"
}
}
},
{
"key": "SELFIE1",
"type": "SELFIE",
"options": {
"stages": [
"biometry_liveness"
]
}
}
]
}
)
print(r.json())
В примере выше по ключам images и process_info представлены 2 файла: документ и фотография (селфи).
- В
imagesпервым указан файл документа, а вторым — файл фотографии (селфи). - В
process_infoв том же порядке указаны настройки обработки документов.
Обратите внимание, что порядок и длина массивов images и process_info должны быть одинаковыми.
В process_info.options.relation указывается, что документ должен пройти сверку лиц (biometry_match) с фотографией (селфи) (SELFIE1).
⚠️ Важно: минимальный допустимый порог успешной сверки лиц — 0.95 (95 %)
"relation": {
"biometry_match": "SELFIE1"
}
А фотография (селфи), в свою очередь, должна пройти проверку на живость (biometry_liveness).
⚠️ Важно: минимальный допустимый порог успешной проверки живости — 0.9 (90 %)
{
"key": "SELFIE1",
"type": "SELFIE",
"options": {
"stages": ["biometry_liveness"]
}
}
Получение результатов
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-7137",
"documents": [
{
"key": "DLIC1",
"type": "DLIC",
"data": {
"Gender": "M",
"LastName": "LastName",
"FirstName": "FirstName",
"MiddleName": "MiddleName",
"BirthDate": "BirthDate",
"BirthPlace": "BirthPlace",
"IssueDate": "IssueDate",
"EndDate": "EndDate",
"IssuedBy": "IssuedBy",
"SeriesFront": "1234",
"NumberFront": "567890",
"SeriesBack": "",
"NumberBack": "",
"Series": "1234",
"Number": "567890",
"PlaceOfResidence": "PlaceOfResidence",
"Categories": "Categories",
"CategoryAStartDate": null,
"CategoryAEndDate": null,
"CategoryA1StartDate": null,
"CategoryA1EndDate": null,
"CategoryBStartDate": null,
"CategoryBEndDate": null,
"CategoryB1StartDate": null,
"CategoryB1EndDate": null,
"CategoryCStartDate": null,
"CategoryCEndDate": null,
"CategoryC1StartDate": null,
"CategoryC1EndDate": null,
"CategoryDStartDate": null,
"CategoryDEndDate": null,
"CategoryD1StartDate": null,
"CategoryD1EndDate": null,
"CategoryBEStartDate": null,
"CategoryBEEndDate": null,
"CategoryCEStartDate": null,
"CategoryCEndDate": null,
"CategoryC1EStartDate": null,
"CategoryC1EEndDate": null,
"CategoryDEStartDate": null,
"CategoryDEndDate": null,
"CategoryD1EStartDate": null,
"CategoryD1EEndDate": null,
"CategoryMStartDate": null,
"CategoryMEndDate": null,
"CategoryTmStartDate": null,
"CategoryTmEndDate": null,
"CategoryTbStartDate": null,
"CategoryTbEndDate": null,
"SpecialMarks": ""
},
"metadata": {
"confidences": {
"Gender": 1,
"LastName": 0.998705923557282,
"FirstName": 0.987468838691711,
"MiddleName": 0.987468838691711,
"BirthDate": 0.999436318874359,
"BirthPlace": 0.999436318874359,
"IssueDate": 0.996931493282318,
"EndDate": 0.996931493282318,
"IssuedBy": 0.997896015644074,
"PlaceOfResidence": 0.999530375003815,
"Categories": 0.997450947761536,
"SeriesFront": 0.999705923557282,
"NumberFront": 0.987468848691711,
"SeriesBack": 0,
"NumberBack": 0
},
"verifications": {},
"biometrics": {
"match_faces": {
"match_faces": 1,
"similarity": 1,
"error_code": 0,
"comment": "Success"
}
}
},
"broken": false,
"broken_reasons": [],
"broken_reasons_ru": []
},
{
"key": "SELFIE1",
"type": "SELFIE",
"data": {},
"metadata": {
"confidences": null,
"verifications": {},
"biometrics": {
"liveness": {
"liveness": 0,
"probability": 0,
"error_code": 0,
"comment": "not live [low probability] Success"
},
"match_faces": {
"match_faces": 1,
"similarity": 1,
"error_code": 0,
"comment": "Success"
}
}
},
"broken": false,
"broken_reasons": [],
"broken_reasons_ru": []
}
]
}
Описание ключей в ответе
| Ключ | Тип | Описание |
|---|---|---|
document_id |
string | Номер документа в формате s-<номер документа> |
documents |
list | Список данных по каждому документу |
documents[].key |
string | Ключ, заданный при отправке документа для отслеживания |
documents[].type |
string | Тип документа |
documents[].data |
dictionary | Обработанные данные по каждому полю: содержит ключи полей и их определённые значения |
Gender |
string | Пол |
LastName |
string | Фамилия |
FirstName |
string | Имя |
MiddleName |
string | Отчество |
BirthDate |
string | Дата рождения |
BirthPlace |
string | Место рождения |
IssueDate |
string | Дата выдачи |
EndDate |
string | Дата окончания действия |
IssuedBy |
string | Кем выдан |
PlaceOfResidence |
string | Место жительства |
SeriesFront |
string | Серия (передняя сторона) |
NumberFront |
string | Номер (передняя сторона) |
SeriesBack |
string | Серия (задняя сторона) |
NumberBack |
string | Номер (задняя сторона) |
Series |
string | Серия (значение с большей уверенностью распознавания — с передней или задней стороны) |
Number |
string | Номер (значение с большей уверенностью распознавания — с передней или задней стороны) |
Categories |
string | Категории ТС |
Category<код категории>StartDate |
string | Дата выдачи прав категории |
Category<код категории>EndDate |
string | Дата истечения прав категории |
SpecialMarks |
string | Специальные отметки |
metadata |
dictionary | Содержит ключи метаданных |
confidences |
dictionary ({key: float}) |
Метаданные с точностью обработки по каждому полю — содержит ключи полей и значения уровня уверенности. Значения от 0.0000 до 0.9999, где чем значение больше,тем уверенность в результате выше. Максимальная уверенность — 0.9999 |
broken |
boolean | Является ли документ бракованным |
broken_reasons |
list | Список причин брака (на английском языке) |
broken_reasons_ru |
list | Список причин брака (на русском языке) |