Пагинация
Списочные эндпоинты 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 — первые запросы.
- Ошибки — коды состояния.
- Лимиты и размеры — ограничения запросов.