Пагинация в запросах к API Яндекс Маркета для продавцов

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

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

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

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

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

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

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

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

    • Не передавайте pageToken.
    • При желании передайте limit. В спецификации каждого метода для параметра limit указаны значения minimum, maximum и default. Если не передать параметр, будет использовано значение по умолчанию.

    Автоматическое уменьшение limit

    Некоторые методы автоматически уменьшают переданное значение limit до maximum, если оно превышает допустимый максимум — это указано в описании параметра limit таких методов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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