Skip to content

Liveness Short

Описание#

Liveness Short - это технология, использующая алгоритмы и методы компьютерного зрения для определения, является ли представленное изображение лица реальным и принадлежит ли оно живому человеку.

С использованием различных алгоритмов и моделей машинного обучения, он выполняет процесс проверки на живость для обнаружения поддельных или статичных изображений, которые могут быть использованы для обхода системы аутентификации или мошеннических целей.

Такой веб-сервис может быть интегрирован в системы и приложения, требующие дополнительного уровня аутентификации и безопасности.

Ниже подробнее описаны этапы для использования данной технологии. Вы также можете проверить OpenAPI-спецификацию всех доступных для использования технологий.


Этапы:#

1. Получение API-KEY организации#

Первый этап для использования технологии - получение API-KEY организации. Чтобы получить API-KEY организации, необходимо зайти в Личный Кабинет по данной ссылке. API-KEY находится в поле Backend Api Key

backend_api_key

Пример API-KEY организации:

API-KEY: Efy202XKbVAWRu...

Примечание

Для наглядности используется укороченная длина API KEY. Его фактическая длина составляет 47 и более символов.

2. Отправка запроса для определения живости по фотографии#

В запросах к нашему сервису используются данные в формате multipart/form-data. Ответные данные от сервиса будут представлены в формате JSON.

Важно

Чтобы использовать данный сервис, необходимо иметь на него подписку. Подробнее о подписках можно прочитать здесь.

URL запроса:

https://kyc.biometric.kz/api/v1/backend/liveness/short/

Формат запроса Метод запроса
multipart/form-data POST

API KEY необходимо передать в теле запроса:

Наименование поля Тип Обязательно Описание
api_key String Да API KEY организации в личном кабинете
image File Да Фотография лица

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

    curl -X 'POST' \
    'https://kyc.biometric.kz/api/v1/backend/liveness/short/' \
    -H 'accept: application/json' \
    -H 'Content-Type: multipart/form-data' \
    -F 'image=@<path_to_face_photo;type=image/<image_extension>' \
    -F 'api_key=<organization_api_key>'
import requests

url = 'https://kyc.biometric.kz/api/v1/backend/liveness/short/'
headers = {
    'accept': 'application/json',
}


face_photo_path = "<path_to_face_photo>"

files = {
    'image': (face_path_1, open(face_photo_path, 'rb'), 'image/<image_extension>'),
}
data = {
    'api_key': '<organization_api_key>',
}

response = requests.post(url, headers=headers, files=files, data=data)

print(response.json())
/*
    dependencies to install via npm: 
    form-data, fs, node-fetch
*/

import FormData from 'form-data';
import fs from 'fs';
import fetch from 'node-fetch';

const face_photo_path = "<path_to_face_photo>";

const url = 'https://kyc.biometric.kz/api/v1/backend/liveness/short/';
const apiKey = '<organization_api_key>';

const formData = new FormData();
formData.append('image', fs.createReadStream(face_photo_path));
formData.append('api_key', apiKey);

fetch(url, {
  method: 'POST',
  headers: {
    'accept': 'application/json',
  },
  body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));

В качестве ответа придет JSON со следующими полями:

  • result - результат проверки фотографии лица на живость;
  • prediction - дробное значение, являющиеся оценкой вероятности живости лица на фотографии;
  • created_at - время создания результата вычисления живости по фотографии;

Пример ответа:

{
  "result": true,
  "prediction": "0.982312",
  "created_at": "2023-05-23T13:56:32.010Z"
}
{
  "result": false,
  "prediction": "0.235123",
  "created_at": "2023-05-23T13:56:32.010Z"
}

Ошибки#

Код состояния Ответ Описание
400 Could not send image to liveness service Не удалось установить соединение с сервисом liveness
400 Client does not have access to Liveness technology У клиента нет доступа к технологии. Причины: подписка отсутствует, либо она истекла, или технология не активна
415 Not allowed file, valid extensions: .jpg .png .jpeg Недопустимое расширение для файла, допустимые: .jpg .png .jpeg
400 Subscription has not started Подписка еще не активировалась
400 No active or future subscription for technology Нет активной или будущей подписки на технологию
400 Client does not have subscription У клиента отсутствует подписка, подробнее о подписках можно прочитать здесь