Я думаю, что вы на правильном пути с вашим третьим вариантом.Вот пример производственного API, который извлекает отчет и запрашивает, чтобы результаты отчета были отфильтрованы по ряду критериев через параметры URL.
https://demos.nubic.northwestern.edu/psc/api/v1/docs#d2e2591
Вызов APIпринимает много вариантов:
/reports/scheduled-activities?study&site&state&activity-type&label&start-date&end-date&start-ideal-date&end-ideal-date&responsible-user&person-id
, что позволяет выполнять reports
из scheduled-activities
(запланированное мероприятие - это просто элемент, который отображается в календаре) и, при желании, фильтровать результаты по заданным критериям,Указание no критерия фильтрации просто возвращает all scheduled-activities
в системе.
Например, если я хотел получить список всего, что запланировано на «Джо Смита»на сайте NU
, и при условии, что у Джо есть идентификатор человека 1234
, вызов API может выглядеть примерно так:
/reports/scheduled-activities?site=NU&person-id=1234