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 - Код страны документа;
- 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",
"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 | У клиента отсутствует подписка, подробнее о подписках можно прочитать здесь |