Document Recognition
Описание#
Document Recognition - это технология считывания данных с документов. Автоматическое определение идентификационных документов распознает документы по типу и стране. Проводит серию технических проверок для выявления мошенничества или несоответствий и проверяет правильность всей информации.
Ниже подробнее описаны этапы для использования данной технологии. Вы также можете проверить OpenAPI-спецификацию всех доступных для использования технологий.
Этапы:#
1. Получение API-KEY организации#
Первый этап для использования технологии - получение API-KEY организации. Чтобы получить API-KEY организации, необходимо зайти в Личный Кабинет по данной ссылке. 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/document/parse/
Формат запроса | Метод запроса |
---|---|
multipart/form-data | POST |
API KEY
необходимо передать в теле запроса:
Наименование поля | Тип | Обязательно | Описание |
---|---|---|---|
api_key | String | Да | API KEY организации в личном кабинете |
frontside_image | File | Нет | Фотография передней части документа |
backside_image | File | Нет | Фотография задней части документа |
country_code | File | Да | Код страны документа. Доступные значения: kz, other |
Важно
Несмотря на то, что поля frontside_image
и backside_image
являются необязательными, один из этих полей
обязательно должен быть передан в запросе.
Примеры запроса:
import requests
url = "https://kyc.biometric.kz/api/v1/backend/document/parse/"
payload = {'api_key': '<YOUR_API_KEY>',
'country_code': 'kz'}
files=[
('frontside_image',('doc_front.jpg',open('doc_front.jpg','rb'),'image/jpeg')),
('backside_image',('doc_back.jpg',open('doc_back.jpg','rb'),'image/jpeg'))
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
var formdata = new FormData();
formdata.append("api_key", "<YOUR_API_KEY>");
formdata.append("frontside_image", fileInput.files[0], "doc_front.jpg");
formdata.append("backside_image", fileInput.files[0], "doc_back.jpg");
formdata.append("country_code", "kz");
var requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
fetch("https://kyc.biometric.kz/api/v1/backend/document/parse/", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
В качестве ответа придет JSON со следующими полями:
- first_name - Имя;
- last_name - Фамилия;
- patronymic - Отчество;
- personal_number - Идентификационный номер;
- date_of_birth - Дата рождения;
- document_number - Номер документа;
- authority - Орган выдачи;
- date_of_issue - Дата выдачи;
- date_of_expiry - Срок действия;
- country_code - Код страны документа;
- document_type - Информация по типу документов;
- frontside / backside - Стороны документов;
- p - Коэффициент уверенности в определении типа документа (0-1);
- id - Идентификатор типа документа;
- uv_exp - Значение экспозиции камеры при УФ-освещении, необходимое для получения изображений данного типа документа;
- fdsid_list - Дополнительная информация о документе и связь с документами IRS;
- list - Массив идентификаторов документов IRS;
- d_mrz - Наличие машиночитаемой зоны (МРЗ) на документе;
- d_type - Тип документа;
- d_year - Год выпуска документа;
- d_format - Формат документа;
- icao_code - Код страны по классификации ICAO;
- d_description - Описание / тип документа;
- d_country_name - Название страны;
- document_name - Название документа;
- rfid_presence - Наличие RFID-чипа в документе (0 - нет, 1 - есть, 2 - неизвестно);
- necessary_lights - Набор идентификаторов схем освещения, необходимых для OCR-распознавания данного типа документа;
- check_authenticity - Набор параметров проверки подлинности для данного типа документа;
- authenticity_necessary_lights - Набор идентификаторов схем освещения, необходимых для проверки подлинности данного типа документа;
- images - Фотографии в формате base64:
- face_photo - Фотография лица
- front_side_image - Фотография задней части документа
- back_side_image - Фотография передней части документа
- failure_reason - причина провала документа.
Пример ответа:
{
"first_name": "Тест",
"last_name": "Тестов",
"patronymic": "Тестович",
"personal_number": "123456789012",
"date_of_birth": "01.10.1996",
"document_number": "document_number",
"authority": "МВД РЕСПУБЛИКИ КАЗАХСТАН",
"date_of_issue": "02.07.2012",
"date_of_expiry": "02.07.2022",
"country_code": "kz",
"document_type": {
"frontside": {
"p": 0.9425698518753053,
"id": -1040772594,
"uv_exp": 6,
"fdsid_list": {
"list": [
15400,
21490,
21495,
21657,
22165
],
"d_mrz": false,
"d_type": 12,
"d_year": "2014-2022",
"d_format": 0,
"icao_code": "KAZ",
"d_state_code": null,
"d_state_name": null,
"d_description": "Identity Card",
"d_country_name": "Kazakhstan"
},
"document_name": "Kazakhstan - Id Card (2014-2022)",
"rfid_presence": 0,
"necessary_lights": 25165824,
"check_authenticity": 524837,
"authenticity_necessary_lights": 152
},
"backside": {
"document_name": "Kazakhstan - Id Card (2014) Side B",
"id": -1040772430,
"p": 0.9406079649925234,
"rfid_presence": 1,
"fdsid_list": {
"icao_code": "KAZ",
"list": [
15400,
21495,
21657,
21490
],
"d_type": 12,
"d_format": 0,
"d_mrz": true,
"d_description": "Identity Card",
"d_year": "2014",
"d_country_name": "Kazakhstan",
"d_state_code": null,
"d_state_name": null
},
"necessary_lights": 25165824,
"check_authenticity": 10552359,
"uv_exp": 6,
"authenticity_necessary_lights": 3224
}
},
"images": {
"face_photo": "base64",
"front_side_image": "base64",
"front_side_image": "base64"
},
"failure_reason": "None"
}
Ошибки#
Код состояния | Ответ | Описание |
---|---|---|
400 | Frontside document not found | Данные передней части документа не найдены |
400 | Document image at frontside_image field is not frontside |
Фотография документа не является лицевой стороной |
400 | Document image at backside_image field is not backside |
Фотография документа не является обратной стороной |
400 | Client does not have access to Document Recognition 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 | У клиента отсутствует подписка, подробнее о подписках можно прочитать здесь |