MRZ
Описание#
MRZ - это технология, позволяющая считывать MRZ строки с удостоверения личности. На данный момент работает только с удочтоверениями граждан Кыргызстана.
Для комфортной интеграции через Backend API воспользуйтесь Swagger (OpenAPI)
Термины#
- MRZ — это специальная область в нижней части паспортов, виз и ID-карт, состоящая из двух или трех строк текста. Она содержит основные данные владельца (фамилия, имя, номер документа, дата рождения, гражданство).
Этапы:#
1. Получение API-KEY организации#
Первый этап для использования технологии - получение API-KEY организации. Чтобы получить API-KEY организации, необходимо зайти в Личный Кабинет по данной ссылке. API-KEY находится в поле Backend Api Key

Пример API-KEY организации:
API-KEY: Efy202XKbVAWRu...
Примечание
Для наглядности используется укороченная длина
API KEY. Его фактическая длина составляет 47 и более символов.
2. Отправка запроса на сканирование MRZ строк с документа#
При отправке запроса на сканирование MRZ строк с документа используются данные в Form Data.
Важно
Чтобы использовать данный сервис, необходимо иметь на него подписку. Подробнее о подписках можно прочитать здесь.
URL запроса:
https://kyc.biometric.kz/api/v1/backend/mrz/retrieve/
| Формат Тела | Метод запроса |
|---|---|
| Form Data | POST |
API KEY необходимо передать в теле запроса:
| Наименование поля | Тип | Обязательно | Описание |
|---|---|---|---|
| api_key | String | Да | API KEY организации в личном кабинете |
| image | File | Да | Изображение с документом |
Примеры запроса:
import requests
url = 'https://kyc.biometric.kz/api/v1/backend/mrz/retrieve/'
headers = {
'Accept': 'application/json',
}
files = {
'image': open('/path/to/your/image.jpg', 'rb'),
}
data = {
'api_key': '<organization_api_key>',
}
response = requests.post(
url,
headers=headers,
data=data,
files=files,
)
print(response.json())
import fs from 'fs';
import FormData from 'form-data';
import fetch from 'node-fetch';
const url = 'https://kyc.biometric.kz/api/v1/backend/mrz/retrieve/';
const apiKey = '<organization_api_key>';
const form = new FormData();
form.append('api_key', apiKey);
form.append('image', fs.createReadStream('/path/to/your/image.jpg'));
fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
...form.getHeaders(),
},
body: form
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
В качестве ответа придет JSON со следующими полями:
- backend_session_id - UUID идентефикатор сессии
- status - Статус сессии (CREATED, FAILED и т.д.)
- result - Результат прохождения MRZ технологии
- mrz_string - Считанные MRZ строки
- failure_reason - Причина провала считывания (в случае провала)
Пример ответа:
{
"backend_session": "00000000-0000-0000-0000-000000000000",
"status": "RECEIVED",
"result": true,
"mrz_string": "IDKAZ0123456789012345678901<<<\n0123456F0123456KAZ<<<<<<<<<<<0\nJHON<<DOE<<<<<<<<<<<<<<<<<<<<<",
"failure_reason": null
}
Ошибки#
| Код состояния | Ответ | Описание |
|---|---|---|
| 400 | Subscription has not started | Подписка еще не активировалась |
| 400 | No active or future subscription for technology | Нет активной или будущей подписки на технологию |
| 400 | Client does not have subscription | У клиента отсутствует подписка, подробнее о подписках можно прочитать здесь |
| 400 | Client does not have access to MRZ technology | У клиента нет доступа к технологии. Причины: подписка отсутствует, либо она истекла, или технология не активна |
| 400 | MRZ max attempts exceeded | У конечного клиента истекли попытки прохождения технологии MRZ |
| 422 | Error while parsing MRZ | Ошибка при считывании MRZ строк |
| 503 | MRZ service not available now | Сервис MRZ в данное время не доступен |