====== Процесс синхронизации данных сервиса записи к врачу с МИС Ариадна ======
===== Запрос данных в API Ариадна =====
JSON-данные передаются в теле запроса POST в REST API. Ключевым аспектом является указание заголовка Content-Type: application/json, который сообщает серверу, что данные имеют формат JSON.
В случае успешного выполнения запроса возвращается JSON объект. Убедитесь, что сервер принял данные, в противном случае выполнение запроса необходимо повторить.
Запросы к API желательно отправлять со статического IP адреса, который будет внесен в белый список. В противном случае, потребуется предавторизация.
===== /api/v2/login =====
Запрос создает access токен, предназначенный для работы с API. Полученный токен необходимо отправлять в заголовке Authorization: token //accessToken//
=== Запрос ===
^Аргумент^Описание^
|username|Имя пользователя|
|key|API-ключ|
=== Ответ ===
^Аргумент^Описание^
|access_token|Токен доступа к API|
== Пример ==
{
username: "super"
key: "7d61d77d61d77d61d77d61d77d61d7"
}
===== /api/v2/specialty.get =====
Получение списка специальностей врачей
=== Запрос ===
{}
=== Ответ ===
|specialties[]|массив специальностей|
|specialties[] id|уникальный id специальности|
|specialties[] parent_id|уникальный id родительской специальности * уточнить нужен ли|
|specialties[] title|Наименование специальности|
{
specialties: [
{
id: 722,
parent_id: 1,
title: "Абдоминальные хирурги",
},
]
}
===== /api/v2/division.get =====
Получение списка Подразделений по приему врачей
=== Запрос ===
{}
=== Ответ ===
|divisions[]|массив подразделений|
|divisions[] id|уникальный id подразделения|
|divisions[] title|Наименование подразделения|
|divisions[] address|Адрес подразделения|
{
divisions: [
{
id: 72,
title: "Клиническая больница № 1",
address: "Нижний Новгород, Нижневолжская наб., 2"
},
]
}
===== /api/v2/doctor.get =====
Получение списка врачей
=== Запрос ===
{}
=== Ответ ===
|doctors[]|массив врачей|
|doctors[] id|уникальный id врача|
|doctors[] name|ФИО врача|
|doctors[] specialty_id|Id специальности|
{
doctors: [
{
id: 1001,
name: "Иванова Маргарита Анатольевна",
specialty_id:722,
division_id:44
},
]
}
===== /api/v2/nearest.slot.get =====
Получение ближайших доступных слотов, сгруппированных по врачам
=== Запрос ===
|specialty_id|id специальности (необязательное)|
|doctor_id|массив id врачей (необязательное)|
|division_id|id подразделения (необязательное)|
{
doctor_id:[722,723,728]
}
=== Ответ ===
|slots[]|массив слотов|
|slots[] id|Уникальный id слота|
|slots[] date|Дата и время слота|
|slots[] price|Стоимость приема (Первичный дорогой)|
|slots[] doctor_id|id врача|
|slots[] specialty_id|id специальности|
|slots[] division_id|id подразделения|
{
slots: [
{
id: 75562488,
date: "2025-08-23T09:00:00"
price:3500,
doctor_id:722,
specialty_id:22,
division_id:72
},
{
id: 75562489,
date: "2025-08-23T09:15:00"
price:3500,
doctor_id:723,
specialty_id:22,
division_id:72
},
]
}
===== /api/v2/days.get =====
Получение списка доступных дней для записи к врачу с выборкой по параметрам
=== Запрос ===
|date_start|Дата начала диапазона доступных дней для записи|
|date_end|Дата окончания диапазона доступных дней для записи|
|doctor_id|id врача (обязательное)|
{
date_start: "2025-10-08",
date_end: "2025-10-23",
doctor_id:722
}
=== Ответ ===
|days[]|массив дней|
|day[] date|Дата|
{
days: [
{
date: "2025-08-08"
},
{
date: "2025-08-10"
},
]
}
===== /api/v2/slot.get =====
Получение списка доступных слотов врачей с выборкой по параметрам
=== Запрос ===
|date_start|Дата начала диапазона записей|
|date_end|Дата окончания диапазона записей|
|specialty_id|id специальности (необязательное)|
|doctor_id|id врача (необязательное)|
|division_id|id подразделения (необязательное)|
{
date_start: "2025-08-23T09:00:00",
date_end: "2025-08-23T23:59:59",
specialty_id:722
}
=== Ответ ===
|slots[]|массив слотов|
|slots[] id|Уникальный id слота|
|slots[] date|Дата и время слота|
|slots[] doctor_id|id врача|
|slots[] specialty_id|id специальности|
|slots[] division_id|id подразделения|
{
slots: [
{
id: 75562488,
date: "2025-08-23T09:00:00"
doctor_id:1001,
specialty_id:722,
division_id:72
},
{
id: 75562489,
date: "2025-08-23T09:15:00"
doctor_id:1001,
specialty_id:722,
division_id:72
},
]
}
===== /api/v2/visit.create =====
Отправка записи на слот.
=== Запрос ===
|slot_id| id слота *|
|last_name|Фамилия пациента*|
|first_name|Имя пациента*|
|surname|Отчество пациента*|
|email| Еmail пациента*|
|snils| СНИЛС (необязательное)|
|funding| Платный прием 0/1 (необязательное)|
{
slot_id: 7211,
last_name: "Сорокин",
first_name: "Кирилл",
surname: "Кирилл",
email: email@mail.ru,
birthday: "1925-08-23",
snils: ХХХ-ХХХ-ХХХ YY,
funding: 1,
}
=== Ответ ===
|status|Успешно записан/Слот не существует/Слот занят|
|doctor_id id|id доктора|
|date|Дата и время слота|
{
visit: [
{
status: "Успешно записан",
doctor_id:1001,
date: "2025-08-23T09:00:00",
},
]
}