Запросы для постраничного доступа к событиям Fact


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>:

  1. "asc". В прямом хронологическом порядке фиксации изображений и записи события в архив. По умолчанию начальное положение курсора чтения определяется событием с наименьшей отметкой времени. В теле ответа события упорядочены по возрастанию #/Id.

  2. "desc" (по умолчанию). В обратном хронологическом порядке фиксации изображений события. По умолчанию начальное положение курсора чтения определяется событием с наибольшей отметкой времени. В теле ответа события упорядочены по убыванию #/Id.

  3. "db". В прямом хронологическом порядке записи событий Fact в архив.

  4. "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

Структура URL-запроса 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 с параметрами:

  1. "status" :: uint16_t. Содержит 200.

  2. "result" :: struct[]. Массив. Каждый элемент содержит параметры одного события Fact.