Передача данных о расписании врачей
Вы можете передавать информацию о расписании врачей вашей клиники через API.
Подробнее об отображении информации врачей в поисковой выдаче см. в разделе Врачи Справки Вебмастера.
Ниже приведена инструкция по настройке передачи расписания врачей через API.
Шаг 1. Передача идентификаторов
Вы можете передавать идентификаторы через YML‑фид или файл в формате XLSX.
Определите, какая система идентификаторов используется на вашем сайте для работы с расписаниями врачей. Передайте в фиде идентификаторы с помощью параметров (один или несколько) и информацию об онлайн-расписании:
-
param name="внутренний идентификатор врача"
; -
param name="внутренний идентификатор услуги"
; -
param name="внутренний идентификатор клиники"
; -
param name="Онлайн-расписание" **со значением** true
.
Определите, какая система идентификаторов используется на вашем сайте для работы с расписаниями врачей. Передайте в XLSX-файле идентификаторы с помощью параметров (один или несколько) и информацию об онлайн-расписании:
-
ячейка Внутренний идентификатор врача;
-
ячейка Внутренний идентификатор услуги;
-
ячейка Внутренний идентификатор клиники;
-
ячейка Онлайн-расписание со значением ИСТИНА.
Подробно о параметрах см. в разделе Элементы предложения Справки Вебмастера (связка «Врач-Клиника»).
Шаг 2. Доработка сайта
Добавьте на ваш сайт страницу, где пользователи смогут записаться на прием к врачу. На странице должны определяться врач, слот записи и клиника.
Ссылки для перехода на страницу записи из поисковой выдачи формируются следующим образом:
- Яндекс получает от вашего API:
-
URL сайта;
-
CGI-параметры слотов записи.
Яндекс может взять URL сайта из фида, если не получил его от API.
- CGI-параметры добавляются к URL сайта.
По сформированной ссылке должна открываться страница для записи с определенным врачом, клиникой и слотом записи.
Шаг 3. Настройка API
API должен предоставлять информацию о слотах записи к врачам в формате JSON.
Чтобы поддерживать актуальность расписания, Яндекс будет запрашивать информацию через HTTP-endpoint каждые 15 минут.
Общие требования
-
Метод запроса —
GET
. -
Формат ответа —
JSON
. -
Код ответа при успешном запросе —
200 OK
. -
Редиректы и другие коды ответов не допускаются.
-
Content-Type ответа —
application/json; charset=utf-8
.
Требования к производительности
-
API должно выдерживать нагрузку 3 RPS.
-
Скорость передачи информации не должна превышать установленные лимиты времени:
-
Запрос к HTTP-endpoint — не более 10 секунд.
-
Выгрузка всех страниц с данными о слотах записи — не более 10 минут.
Для оптимизации в базе данных можно реализовать пагинацию с помощью параметра page. Рекомендуемое количество врачей на странице: не более 500.
При настроенной пагинации на запрос без параметра page API должно возвращать такой же ответ, как при запросе с page=1.
-
Формат запроса
GET /api/slots?page=1 HTTP/1.1
Host: example.com
Accept: application/json
Имя |
Обязательный |
Тип |
Описание |
|
Нет |
|
Номер страницы данных о слотах записи. На страницах должно быть фиксированное количество врачей. Рекомендуемое количество: не более 500. Если параметр не указан, должно возвращаться содержимое первой страницы. Если значение параметра больше возможного, то в ответе список DoctorList должен быть пустым. |
Формат ответа
{
"Total": 15578,
"Url": "https://example.ru/",
"DoctorList": [
{
"Id": 7706,
"Price": 1500,
"Slots": {
"2": [
{
"AmenityIds": [1, 2, 3],
"StartTime": "2024-05-02 10:30:00",
"FinishTime": "2024-05-02 10:45:00",
"Data": {
"cgi1": "value1",
"cgi2": "value2"
}
},
{
"AmenityIds": [1, 2, 3],
"StartTime": "2024-05-02 10:45:00",
"FinishTime": "2024-05-02 11:00:00",
"Data": {
"cgi1": "value1",
"cgi2": "value2"
}
}
]
}
},
...
}
Имя |
Обязательный |
Тип |
Описание |
|
Да |
|
Общее количество врачей со слотами записи на всех страницах. |
|
Нет |
|
Ссылка, к которой будут добавляться CGI‑параметры для каждого врача. |
|
Да |
|
Список врачей с их слотами записи. У каждого врача один набор слотов записи. Рекомендуемое количество врачей в списке: не более 500. |
Параметры объектов в массиве DoctorList |
|||
|
Да |
|
Внутренний идентификатор врача. |
|
Нет |
|
Цена за прием. |
|
Да |
|
Словарь раписания врачей по клиникам:
|
Параметры объектов в словаре Slots |
|||
|
Нет |
|
Массив с внутренними идентификаторами услуг, которые оказывает врач в указанное время в указанной клинике. |
|
Да |
|
Начало слота записи: дата и время в часовом поясе клиники. |
|
Да |
|
Конец слота записи: дата и время в часовом поясе клиники. |
|
Нет |
|
Словарь с дополнительными CGI‑параметрами. Параметры добавляются в URL, чтобы при переходе по ссылке открывалась форма записи с определенным врачом, клиникой и слотом записи. |
Шаг 4. Подключение онлайн-расписания
Свяжитесь со службой поддержки по адресу partner-wizards@yandex-team.ru
— в заголовке письма напишите: «Интеграция онлайн‑расписания врачей: предложение о сотрудничестве от <Название организации>».
С 1 апреля 2025 года при передаче данных о расписании врачей необходимо также передавать информацию обо всех совершенных фактах записи пользователя в указанный временной слот. Записью считается нажатие на кнопку Записаться на форме партнера, вне зависимости от подтверждения записи или посещения пользователем медицинского учреждения. Информация о записи передается через интеграцию по API. Подробнее см. Подтверждение записи.
С 1 сентября 2025 года для передачи данных о расписании врачей необходимо будет заключать возмездный договор. Оставьте свои контакты для связи, и наш менеджер предоставит шаблон договора. В случае нежелания заключать договор, вы можете продолжить передавать данные без данных о расписании приема врачей.