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

Видеоидентификация

Основные составляющие системы

  1. API

    Система управления идентификациями и получения информации об идентификациях c Вашей стороны

  2. WEB-интерфейс пользователя

    Используется для идентификации лица Вашего клиента и его последующей сверки с документом

API

Схема работы с API

⚠️ Важно: Не пытайтесь отправить более 100 запросов в минуту! В случае нарушения в ответ на запросы будет присылаться статус 503.

Запрос на создание видеоидентификации

Запрос регистрирует ссылку в системе Beorg.

⚠️ Примечание: Ссылка на идентификацию Вашего клиента не имеет "срока годности", она хранится в нашей системе бесконечно

Структура запроса:

url: https://faceapp.beorg.ru/face/create
method: POST
headers:
    Content-Type: application/json
body:
{
    "project_id": "U_RATE_3",
    "machine_uid": "<machine_uid>",
    "token": "token",
    "process_info": [
        настройки обработки
    ],
    "expires": кол-во секунд действия ссылки (необязательный, при отсутствии ссылка бессрочная)
}

Структура ответа:

{
    "status": true/false статус выполнения запроса,
    "link": постоянная уникальная ссылка на идентификацию,
    "user_token": уникальный идентификатор пользователя,
    "qr_code": строка-изображение QR-кода
    "state": статус идентификации
}

Статусы идентификации:

state Описание
1 Создана
2 Начата
3 Все задания выполнены, идентификация отправлена на обработку
4 Обработка завершена
5 Превышено время прохождения идентификации (60 сек)
6 Идентификация просрочена
7 Ошибка прохождения идентификации

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

⚠️ Важно: Допустимое время на идентификацию после первого открытия ссылки Вашим клиентом - 60 секунд.

Пример запроса

Python

import requests

r = requests.post(
    "https://faceapp.beorg.ru/face/create",
    headers={"Content-Type": "application/json"},
    json={
        "project_id": project_id,
        "token": token,
        "machine_uid": machine_uid,
        "process_info": [
            {
                "key": "SELFIE",
                "type": "SELFIE",
            },
        ],
        "expires": 3600 # срок действия идентификации (3600 секунд = 1 час)
    },
)
r.json()


Получение результатов

Структура запроса:

url: https://faceapp.beorg.ru/face/result
method: GET
headers:
    Content-Type: application/json
query_params: token, user_token, return_images

⚠️ Важно: Если Вам необходимо получить помимо данных о физическом лице еще и изображения - укажите параметр return_images со значением true

Структура ответа:

{
  "done_state": статус обработки (true - завершено корректно, false - завершено некорректно, null - не завершена),
  "state": статус идентификации,
  "user_token": уникальный идентификатор пользователя,
  "set_id": идентификатор комплекта документов пользователя,
  "data": результат обработки данных
}

Статусы идентификации:

state Описание
1 Создана
2 Начата
3 Все задания выполнены, идентификация отправлена на обработку
4 Обработка завершена
5 Превышено время прохождения идентификации (60 сек)
6 Идентификация просрочена
7 Ошибка прохождения идентификации

Пример запроса

Python

import requests

r = requests.get("https://faceapp.beorg.ru/face/result?token={token}&user_token={user_token}")

r.json()

Для получения token обратитесь в подраздел "Начало работы"

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

Структура запроса:

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 настройки обработки


Структура process_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("<путь до файла паспорта(2-3 страницы)>", "rb") as image_file:
    b64_front = base64.b64encode(image_file.read()).decode()

with open("<путь до файла паспорта (регистрация)>", "rb") as image_file:
    b64_reg = 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_front, b64_reg],
        "set_id": "<идентификатор комплекта полученный из видеоидентификации>",
        "process_info": [
            {
                "key": "PASSPORT_REG1",
                "type": "PASSPORT_REG",
                "stages": [
                    "verification",
                    "biometry_match",
                ],
                "relation": {
                    "biometry_match": "SELFIE",
                },
            },
            {
                "key": "PASSPORT_REG1",
                "type": "PASSPORT_REG",
                "stages": [
                    "verification",
                    "biometry_match",
                ],
                "relation": {
                    "biometry_match": "SELFIE",
                },
            },
        ],
    },
)
r.json()