К содержанию
sapportlydocs
Панель

Пагинация

Keyset, не OFFSET. По умолчанию — массив. Конверт включается заголовком или query.

Конверт

Без заголовка ответ списка — JSON-массив (совместимость). С X-Sapportly-List-Envelope: 1 или ?envelope=true:

JSON
{
  "data": [ { "channel": "custom:shop", "last_at": "2026-08-19T10:00:00Z" } ],
  "has_more": true,
  "next_cursor": { "before_at": "2026-08-19T10:00:00Z", "before_channel": "custom:shop" }
}

Курсоры

EndpointПорядокКурсор берётся изПараметры
GET /v1/messagesновые сверхупоследнего элемента страницыcursor = непрозрачный next_cursor. offset≠0 без cursor → 400 (не SQL OFFSET).
GET /v1/conversationsновые сверхупоследнего элементаbefore_at, before_channel
GET /v1/conversations/{channel}/messagesстраница хронологическая, листаем назадпервого элементаbefore_message_at, before_message_id, before_channel_sequence

Короткая страница (меньше limit) — последняя. Нулевой channel_sequence в query не отправляйте. GET /v1/channels не листается: limit режет до 200.

Страница полезна?

/docs/api/pagination
Пагинация API — keyset, не OFFSET · Sapportly Docs