Передача данных о расписании врачей

Вы можете передавать информацию о расписании врачей вашей клиники через API.

Подробнее об отображении информации врачей в поисковой выдаче см. в разделе Врачи Справки Вебмастера.

Ниже приведена инструкция по настройке передачи расписания врачей через API.

Шаг 1. Передача идентификаторов

Вы можете передавать идентификаторы через YML‑фид или файл в формате XLSX.

Определите, какая система идентификаторов используется на вашем сайте для работы с расписаниями врачей. Передайте в фиде идентификаторы с помощью параметров (один или несколько) и информацию об онлайн-расписании:

  • param name="внутренний идентификатор врача";

  • param name="внутренний идентификатор услуги";

  • param name="внутренний идентификатор клиники";

  • param name="Онлайн-расписание" **со значением** true.

Определите, какая система идентификаторов используется на вашем сайте для работы с расписаниями врачей. Передайте в XLSX-файле идентификаторы с помощью параметров (один или несколько) и информацию об онлайн-расписании:

  • ячейка Внутренний идентификатор врача;

  • ячейка Внутренний идентификатор услуги;

  • ячейка Внутренний идентификатор клиники;

  • ячейка Онлайн-расписание со значением ИСТИНА.

Подробно о параметрах см. в разделе Элементы предложения Справки Вебмастера (связка «Врач-Клиника»).

Шаг 2. Доработка сайта

Добавьте на ваш сайт страницу, где пользователи смогут записаться на прием к врачу. На странице должны определяться врач, слот записи и клиника.

Ссылки для перехода на страницу записи из поисковой выдачи формируются следующим образом:

  1. Яндекс получает от вашего API:
  • URL сайта;

  • CGI-параметры слотов записи.

    Яндекс может взять URL сайта из фида, если не получил его от API.

  1. 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

Имя

Обязательный

Тип

Описание

page

Нет

Number

Номер страницы данных о слотах записи.

На страницах должно быть фиксированное количество врачей. Рекомендуемое количество: не более 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"
                        }
                    }
                ]
            }
        },
        ...
}

Имя

Обязательный

Тип

Описание

Total

Да

Number

Общее количество врачей со слотами записи на всех страницах.

Url

Нет

String

Ссылка, к которой будут добавляться CGI‑параметры для каждого врача.

DoctorList

Да

Array of objects

Список врачей с их слотами записи. У каждого врача один набор слотов записи.

Рекомендуемое количество врачей в списке: не более 500.

Параметры объектов в массиве DoctorList

Id

Да

Number

Внутренний идентификатор врача.

Price

Нет

Number

Цена за прием.

Slots

Да

Object

Словарь раписания врачей по клиникам:

  • Ключ — внутренний идентификатор клиники.

  • Значение — массив со слотами записи.

Параметры объектов в словаре Slots

AmenityIds

Нет

Array of numbers

Массив с внутренними идентификаторами услуг, которые оказывает врач в указанное время в указанной клинике.

StartTime

Да

string, ISO 8601

Начало слота записи: дата и время в часовом поясе клиники.

FinishTime

Да

string, ISO 8601

Конец слота записи: дата и время в часовом поясе клиники.

Data

Нет

Object[String, String]

Словарь с дополнительными CGI‑параметрами.

Параметры добавляются в URL, чтобы при переходе по ссылке открывалась форма записи с определенным врачом, клиникой и слотом записи.

Шаг 4. Подключение онлайн-расписания

Свяжитесь со службой поддержки по адресу partner-wizards@yandex-team.ru — в заголовке письма напишите: «Интеграция онлайн‑расписания врачей: предложение о сотрудничестве от <Название организации>».

С 1 апреля 2025 года при передаче данных о расписании врачей необходимо также передавать информацию обо всех совершенных фактах записи пользователя в указанный временной слот. Записью считается нажатие на кнопку Записаться на форме партнера, вне зависимости от подтверждения записи или посещения пользователем медицинского учреждения. Информация о записи передается через интеграцию по API. Подробнее см. Подтверждение записи.

С 1 сентября 2025 года для передачи данных о расписании врачей необходимо будет заключать возмездный договор. Оставьте свои контакты для связи, и наш менеджер предоставит шаблон договора. В случае нежелания заключать договор, вы можете продолжить передавать данные без данных о расписании приема врачей.