Запросы для постраничного доступа к событиям Fact
- Inna Kabanova (Unlicensed)
get_fact-set
Структура URL-запроса get_fact-set (для загрузки первой страницы) определяется форматом:
GET /api/v1/post/<post-uuid>/channel/<channel-no>/fact\ ?order=<order> &limit=<limit>
где
- <post-uuid> :: char[37] — глобальный идентификатор поста;
- <channel-no> :: int32_t — номер канала поста;
- <limit> :: uint16_t — максимальное количество событий в ответе (возможные значения в интервале [1;1000], по умолчанию — 10);
- <order> :: char[] — порядок загрузки событий относительно курсора чтения.
Возможные значения параметра <order>:
"asc". В прямом хронологическом порядке фиксации изображений и записи события в архив. По умолчанию начальное положение курсора чтения определяется событием с наименьшей отметкой времени. В теле ответа события упорядочены по возрастанию #/Id.
"desc" (по умолчанию). В обратном хронологическом порядке фиксации изображений события. По умолчанию начальное положение курсора чтения определяется событием с наибольшей отметкой времени. В теле ответа события упорядочены по убыванию #/Id.
"db". В прямом хронологическом порядке записи событий Fact в архив.
"dbrev". В обратном хронологическом порядке записи событий Fact в архив.
Клиентам рекомендуется задавать значение URL-параметра limit. У сервера может быть свое значение для этого ограничения, меньшее, чем запросил клиент. В этом случае сервер вернет ошибку. Соответственно, если клиент запросил лимит и сервер успешно вернул число записей, меньшее, чем было запрошено, — это значит, что были получены все имеющиеся записи, удовлетворяющие критерию поиска.
get_fact-set2
Структура URL-запроса get_fact-set2 (для загрузки последующих страниц) определяется форматом:
GET /api/v1/post/<post-guid>/channel/<channel-no>/fact\ ?startId=<start-fact-id>\ &order=<order>\ &limit=<limit>
где
<start-fact-id> :: int64_t — начальное положение курсора чтения. Задается локальным идентификатором события Fact#Id. Тело ответа содержит событие, на которое указывает курсор, если это событие присутствует в архиве.
get_fact-set3
GET /api/v1/fact/post/<post-guid>/channel/<channel-no>\ ?startGuid=<start-fact-guid> &order=<order> &limit=<limit>
где
<start-fact-guid> :: char[37] — начальное положения курсора чтения. Задается глобальным идентификатором события Fact#Guid. Тело ответа содержит событие, на которое указывает курсор, если это событие присутствует в архиве.
Если структура url-запроса get-fact-set, get-fact-set2 или get-fact-set3 соответствует требованиям, сервер после успешной обработки возвращает ответ с http-кодом 200. Тело ответа содержит application/JSON-документ get_fact-set_rbody-200 с параметрами:
"status" :: uint16_t. Содержит 200.
"result" :: struct[]. Массив. Каждый элемент содержит параметры одного события Fact.