Paginate query results

Язык запросов Merchant Center предоставляет следующие поля для пагинации:

  • pageSize : Максимальное количество строк, которые можно получить за один запрос. По умолчанию используется максимальный размер страницы в 1000 строк.
  • pageToken : Токен страницы, которую необходимо вернуть. Если не указан, возвращается первая страница.
  • nextPageToken : значение pageToken для получения следующей страницы из вызова accounts.reports.search .

Если указан pageToken , все остальные параметры в вызове должны совпадать с параметрами предыдущего вызова, чтобы избежать непредвиденного поведения.

Например, если вы выполните следующий запрос к учетной записи, содержащей 100 000 значений offer_id , и pageSize установлен на 200, то в первом ответе будет содержаться только 200 объектов ReportRow , а также nextPageToken :

SELECT offer_id, impressions, clicks, click_through_rate
FROM product_performance_view
WHERE date BETWEEN '2023-12-01' AND '2023-12-31'

Вот пример ответа (первые пять результатов и nextPageToken ):

{
  "results": [
    {
      "productPerformanceView": {
        "offerId": "12345",
        "clicks": "0",
        "impressions": "59",
        "clickThroughRate": 0
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12346",
        "clicks": "9625",
        "impressions": "276695",
        "clickThroughRate": 0.034785594246372356
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12347",
        "clicks": "148",
        "impressions": "22045",
        "clickThroughRate": 0.0067135404853708325
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12348",
        "clicks": "11",
        "impressions": "1100",
        "clickThroughRate": 0.01
      }
    },
    {
      "productPerformanceView": {
        "offerId": "12349",
        "clicks": "569",
        "impressions": "62977",
        "clickThroughRate": 0.0090350445400701838
      }
    },
    ...
  ],
  "nextPageToken": "CMgB"
}

Чтобы получить следующие 200 строк, отправьте запрос еще раз с тем же размером страницы, но обновите pageToken запроса, заменив его на nextPageToken из предыдущего ответа.