Пагінація
Списочні ендпоінти 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. Завжди звіряйтесь зі сторінкою ендпоінта в довіднику.
Що далі
- Швидкий старт API — перші запити.
- Помилки — коди стану.
- Ліміти і розміри — обмеження запитів.