Dispensary Service
Описание#
Dispensary Service — это сервис-интеграция с Egov, предназначенный для мониторинга регистрационного статуса человека в наркологических, психоневрологических и противотуберкулезных диспансерах.
Для комфортной интеграции через Backend API воспользуйтесь Swagger (OpenAPI)
Термины#
- Субъект — человек, который является объектом запроса на проверку в диспансерах.
- ИИН — индивидуальный идентификационный номер гражданина Республики Казахстан.
Этапы#
1. Получение API-KEY организации#
Первый этап для использования технологии — получение API-KEY организации. Чтобы получить API-KEY организации, необходимо зайти в Личный Кабинет по ссылке. API-KEY находится в поле Backend Api Key
Пример API-KEY организации:
API-KEY: Efy202XKbVAWRu...
Примечание
Для наглядности используется укороченная длина API KEY. Его фактическая длина составляет 47 и более символов.
2. Проверка доступа к сервису диспансеров#
Теперь интеграция осуществляется в два шага:
- Проверка доступа (endpoint
/access/) - Получение результата (endpoint
/retrieve/)
Шаг 1. Проверка доступа#
URL запроса:
https://kyc.biometric.kz/api/v1/backend/dispensary/access/
| Формат запроса | Метод запроса |
|---|---|
| JSON | POST |
Поля запроса:
| Наименование поля | Тип | Обязательно | Описание |
|---|---|---|---|
| api_key | String | Да | API KEY организации |
| iin | String | Да | ИИН субъекта |
Примеры запроса:
import requests
import json
url = "https://kyc.biometric.kz/api/v1/backend/dispensary/access/"
payload = json.dumps({
"api_key": "<organization_api_key>",
"iin": "<subjects_iin>"
})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
let raw = JSON.stringify({
"api_key": "<organization_api_key>",
"iin": "<subjects_iin>"
});
let requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw
};
fetch("https://kyc.biometric.kz/api/v1/backend/dispensary/access/", requestOptions)
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Шаг 2. Получение результата#
URL запроса:
https://kyc.biometric.kz/api/v1/backend/dispensary/retrieve/
| Формат запроса | Метод запроса |
|---|---|
| JSON | POST |
Поля запроса:
| Наименование поля | Тип | Обязательно | Описание |
|---|---|---|---|
| api_key | String | Да | API KEY организации |
| iin | String | Да | ИИН субъекта |
Примеры запроса:
import requests
import json
url = "https://kyc.biometric.kz/api/v1/backend/dispensary/retrieve/"
payload = json.dumps({
"api_key": "<organization_api_key>",
"iin": "<subjects_iin>"
})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
let myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
let raw = JSON.stringify({
"api_key": "<organization_api_key>",
"iin": "<subjects_iin>"
});
let requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw
};
fetch("https://kyc.biometric.kz/api/v1/backend/dispensary/retrieve/", requestOptions)
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Пример ответа#
{
"result_json": {
"narcological_account": {
"RU": "Не состоит на учете в наркологической организации",
"KZ": "Наркологиялық ұйымда диспансерлік есепте тұрмайды"
},
"psychoneurological_account": {
"RU": "Не состоит на учете в психоневрологической организации",
"KZ": "Психоневрологиялық ұйымда диспансерлік есепте тұрмайды"
},
"antitubercular_account": {
"RU": "Не состоит на учете в противотуберкулезной организации",
"KZ": "Туберкулезге қарсы ұйымда диспансерлік есепте тұрмайды"
}
},
"backend_session_id": "backend_session_id"
}
Ошибки#
| Код состояния | Ответ | Описание |
|---|---|---|
| 409 | Could not send request to dispensary service | Не удалось отправить запрос на сервис dispensary |
| 400 | Subscription has not started | Подписка еще не активировалась |
| 400 | No active or future subscription for technology | Нет активной или будущей подписки на технологию |
| 400 | Client does not have subscription | У клиента отсутствует подписка, подробнее — здесь |
| 400 | Could not connect to dispensary service | Не удалось установить соединение с сервисом dispensary |