Page tree
Skip to end of metadata
Go to start of metadata



Вступ

АРІ інтерфейс використовується для того, щоб ДМІС та сервіси неголосового виклику могли обмінюватися інформацією та даними з ІАС «Централь103» (далі – Централь103).

REST API ІАС «Централь103» працює за протоколом HTTPS і представлений набором методів, за допомогою якого створюються запити та повертаються відповіді для кожної операції. Всі відповіді приходять у формі JSON структур.

Історія оновлень

ДатаДеталі оновлення
130.09.2019
  1. Додано перелік медичного обладнання ЦЕМД
  2. Додано штатний розпис ЦЕМД
  3. Додано поле staff::workload - ставка працівника
  4. Додано можливість визначати керівника бригади
  5. Реалізовано метод "Intercall" y СallСard put запиті
203.10.2019
  1. Додано "Класифікатор викликів"
330.10.2019
  1. Додано CallResult: "Чергування" та "Технічний"
412.12.2019
  1. Змінено тип полів experience_total, experience field в таблиці Staff (Персонал) з char на integer.
511.02.2020
  1. Додано latitude та longitude у CallCard
  2. Додано on_premise (амбулаторне обслуговування) у CallCard
  3. У розділі "Деталі заповнення картки виклику" додано розділи "Чергування..." та "Невизначена адреса..."

Основний URL

Усі посилання на запити до АРІ у цій документації містять обов’язковий основний URL Централь103:

https://central103.org

Основний час та часові мітки

Централь103 використовує часові мітки у форматі ISO 8601 без зазначення часового поясу. Час у Централь103 дорівнює Київському часові.

Автентифікація та авторизація

Централь103 використовує механізм автентифікації, що базується на стандарті JSON Web Token (JWT). Процес автентифікації можливий лише за наявності персональної пари ключа.

Для автентифікації необхідно відправити POST запит за посиланням:

URL: https://central103.org/api/auth/login/

Параметри запиту: {"username": "<username>", "password": "<password>"}

Якщо автентифікація минула успішно, буде повернуто токен авторизації (ключ).

Приклад відповіді сервера на запит отримання токена:
{
"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VylkIjoyLCJ1c2VybmFtZSI6Im1pc2t5aXYiLCJleHAiOjE1MzM1NDU4MjksImVtYWlsIjoiIn0.b67wPQxtSUrVTSDGGSIEJPZGUB9BTyfSgdH93eXBiBRQk"
}

Код ключа повинен передаватися в заголовку (в “headers”) кожного наступного запиту, окрім випадків надсилання запитів на отримання самого токена, коли цей код непотрібний.

Приклад ключа, що додається в заголовок повідомлення:

'Authorization': 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VylkIjoyLCJ1c2VybmFtZSI6Im1pc2t5aXYiLCJleHAiOjE1MzM1NDU4MjksImVtYWlsIjoiIn0.b67wPQxtSUrVTSDGGSIEJPZGUB9BTyfSgdH93eXBiBRQk'

Отриманий ключ діє протягом 24 годин і не вимагає повторного запиту при кожній операції. Під час тестового періоду в межах тестування тривалість дійсності токена може змінюватися. Центаль103 надішле таку відповідь:

HTTP 401 Unauthorised
BODY:
{"detail": "Signature has expired."}

Після закінчення строку дії токена необхідно повторити автентифікацію – відправити повторний запит на отримання ключа.

HeartBeat

Незалежно від того, чи відбуваються якісь операції, ДМІС кожні 10 секунд повинна надсилати POST HeartBeat запит в Централь103 за посиланням:

URL: https://central103.org/api/heartbeat/

Параметри “HeartBeat” запиту:

#

Поле

Null

Порожнє

Тип

Опис

1

mis_id

False

false

char[16]

Ідентифікаційний код ОДС, що надсилає запит в Централь103

2

mis_heartbeat

False

False

datetime

Часова мітка формування HeartBeat

3

timestamp

False

False

datetime

Часова мітка відповіді на HeartBeat

 

Приклад “HeartBeat” запиту:
{
  "Heartbeat":
  [
    {
      "mis_heartbeat": "2018-08-05T12:01:24.044302"
    }
  ]
}

У відповідь сервер повертає повідомлення з такими параметрами:

Приклад відповіді:
{
 "Heartbeat": [
  {
   "mis_id": 1,
   "mis_heartbeat": "2018-08-05T12:01:24.044302",
   "timestamp": "2018-08-05T12:01:24.125149"
  }
 ]
}

У разі проведення інтерконекту до відповіді буде додано параметр Intercall.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.