Дополнительная документация по интеграции с системой "MEDODS" с использованием API V2.
ОБЩЕЕ:
Вся информация о доступных маршрутах API v2 расположены на портале swaggerhub, а именно:
Сами маршруты с кратким описанием
Список доступных фильтров для передачи в GET parameters
Примеры Body для POST и PATCH запросов
Примеры возвращаемых данных
Схемы возвращаемых данных и отправляемых в POST и PATCH запросах (включая информацию об обязательных полях)
На все запросы действуют лимиты, а именно: время прошедшее между запросами на один и тот же маршрут не должно быть меньше (100-1000 миллисекунд, зависит от конкретного маршрута), а также количество запросов в минуту на конкретный маршрут не должно привышать определенное значение (20-200), в случае нарушения одного из условий, вернется соответствующая ошибка.
GET запросы:
Практически все GET запросы, возвращающие списки (по типу GET /appointments), имеют фильтр "ids", в который можно передать массив ID записей и получить только необходимые записи. В случае если запись требуется одна, следует воспользоваться соответствующим GET запросом (по типу GET /appointments/{appointmentId}), где {appointmentId} ID требуемой записи.
Все GET запросы, возвращающие списки, имеют обязательные параметры limit и offset, где limit это максимальное количество возвращаемых записей (На данный момент максимальное значение данного параметра = 100), а offset это смещение списка.
У всех фильтров указан тип данных (Например name - string, userId - integer, dateStart - date). А также имеются фильтра в которые можно передать только разрешенные строковые значения, в описаниях таких фильтров имеются ENUM со списком разрешенных значений и их описанием
Если в описании параметра написано к примеру "clinicId: ID клиники или массив ID", значит в этот параметр можно передавать как одиночное значение так и массив значений
Массивы в GET параметрах можно передавать дублируя ключи, например https://medods.some-clinic.ru/api/v2/appointments?limit=100&offset=0&status=canceled&status=failed&status=need_approval
В запросах, возвращающих списки, ответ всегда содержит JSON объект с двумя полями data и totalItems, где data это массив полученных в результате запроса записей, длина которого будет равняться переданному в запросе параметру limit , а totalItems это количество существующих всего в БД записей, удовлетворяющих фильтрам сделанного запроса. Таким образом, манипулируя параметрами offset, limit, totalItems, вы можете добиться любого нужного вам результата.
GET запросы, возвращающие одну запись (по типу GET /appointments/{appointmentId}) отсутствуют какие либо фильтры. Чтобы сделать такой запрос достаточно подставить нужный ID в путь запроса, например GET /appointments/235
POST и PATCH запросы: