Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Table of Contents

Вступ

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

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

Перелік розділів АРІ:

Children Display

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

ДатаДеталі оновлення
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.


Основний 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>"}

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

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

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

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

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

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

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

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

HeartBeat

Незалежно від того, чи відбуваються якісь операції, ДМІС кожні 10 секунд повинна надсилати POST “HeartBeat” 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”HeartBeat

3

timestamp

False

False

datetime

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

 

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

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

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

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