Пагинация в запросах к партнерскому API

Некоторые запросы возвращают результат не целиком, а постранично. Чтобы получить результат полностью, выполните несколько последовательных запросов — в каждом новом запросе передавайте параметр со следующей страницей результатов.

В зависимости от того, какой параметр нужно передать, пагинация может быть двух типов:

  • с идентификатором страницы — параметр page_token;
  • с номером страницы — параметр page.

Если в методе доступны оба типа пагинации, используйте идентификатор страницы (page_token), а не ее номер.

Пагинация с идентификатором страницы

Примеры методов:

Чтобы получить результат полностью:

  1. Выполните запрос, где:

    • Не передавайте page_token.
    • При желании передайте limit. Тогда этот параметр нужно будет передавать в каждом следующем запросе.

    В ответе вернется параметр paging.

  2. Если в paging вернулся параметр nextPageToken, значит, есть следующая страница результата. Повторите запрос, где передайте значение nextPageToken в параметре page_token.

    Значение параметра nextPageToken

    Это не номер страницы, а строка, которую нужно передать в запросе.

    Если параметра нет, то вернулась последняя страница. Больше запросов делать не нужно.

  3. Продолжайте выполнять запросы, пока возвращается nextPageToken.

Некоторые методы в параметре paging возвращают prevPageToken

Это идентификатор предыдущей страницы результатов.

Чтобы получить предыдущую страницу, передайте ее идентификатор в параметре page_token. Для первой страницы prevPageToken не возвращается.

Пагинация с номером страницы

Часть методов с таким типом пагинации уже устарели

Остальные будут отмечены устаревшими в будущем.

Примеры методов:

Чтобы получить результат полностью:

  1. Выполните запрос, где:

    • Не передавайте page.
    • При желании передайте pageSize. Тогда этот параметр нужно будет передавать в каждом следующем запросе.

    В ответе вернется параметр pager с количеством страниц результата pagesCount.

  2. Если в pagesCount вернулось больше одной страницы, повторяйте запросы — в параметре page передавайте номера страниц (2, 3 и до последней).