Водительское удостоверение
Примеры изображений документов
Документы для обработки должны быть закодированы в формат 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() 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", ], }, }, ], }, ) r.json()
В примере выше по ключам images и process_info представлены 2 файла: документ и фотография(селфи).
В images первым указан файл документа, а вторым указан файл фотографии(селфи). В process_info в том же порядке указаны настройки обработки документов.
Обратите внимание, что порядок и длина images и process_info должны быть одинаковыми
В process_info.options.relation указывается, что документ должен пройти сверку лиц (biometry_match) с фотографией(селфи) (SELFIE1)
"relation": { "biometry_match": "SELFIE1", },
А фотография(селфи) в свою очередь должно пройти проверку на живость (biometry_liveness)
{ "key": "SELFIE1", "type": "SELFIE", "options": { "stages": [ "biometry_liveness", ], }, },
Получение результатов
Структура запроса:
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-7137", "documents": [ { "key": "DLIC1", "type": "DLIC", "data": { "Gender": "M", "LastName": "LastName", "FirstName": "FirstName", "MiddleName": "MiddleName", "BirthDate": "BirthDate", "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, "CategoryCEEndDate": null, "CategoryC1EStartDate": null, "CategoryC1EEndDate": null, "CategoryDEStartDate": null, "CategoryDEEndDate": 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, "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" } } } }, { "key": "SELFIE", "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" } } } } ] }
Описание ключей
Ключ | Тип | Описание |
---|---|---|
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 | дата рождения |
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. |
verifications | dictionary {key: boolean, key: integer} |
метаданные совершенных проверок - содержит ключи и их значения проверок, см. Правила проверок |