Пагінація

Списочні ендпоінти API повертають дані посторінково. На платформі історично склалися дві схеми пагінації; конкретна схема вказана у ендпоінта в інтерактивному довіднику.

Схема 1 — зміщення та X-Total-Count

Класична пагінація за зміщенням. Запит приймає query-параметри limit (розмір сторінки) і offset (скільки записів пропустити):

curl -H "Authorization: Bearer mbp_ВАШ_ТОКЕН" "https://ваш-домен/api/bots/BOT_ID/subscribers?limit=50&offset=100"

Загальна кількість записів повертається в заголовку відповіді X-Total-Count. За ним обчислюється кількість сторінок: листайте, збільшуючи offset на limit, поки offset менший за значення X-Total-Count. Тіло відповіді — масив елементів поточної сторінки.

Схема 2 — курсор before і has_more

Курсорна пагінація для стрічок, впорядкованих за часом (наприклад, повідомлення діалогу). Запит приймає limit і необов'язковий курсор before — ідентифікатор або мітку останнього вже отриманого елемента:

curl -H "Authorization: Bearer mbp_ВАШ_ТОКЕН" "https://ваш-домен/api/bots/BOT_ID/users/USER_ID/dialog?limit=50&before=CURSOR"

Відповідь містить сторінку елементів і прапорець has_more. Поки has_more дорівнює true, повторюйте запит, передаючи в before курсор останнього отриманого елемента. Коли has_more стане false — це остання сторінка.

Яку схему обирати

Ви не обираєте схему — її задає ендпоінт. Списки-довідники зазвичай використовують зміщення і X-Total-Count; стрічки за часом — курсор before і has_more. Завжди звіряйтесь зі сторінкою ендпоінта в довіднику.

Що далі