Paginate query results

A Linguagem de consulta do Merchant Center fornece os seguintes campos para paginação:

  • pageSize: o número máximo de linhas a serem recuperadas em uma única solicitação. O tamanho máximo da página é 1.000 linhas.
  • pageToken: o token da página a ser retornada. Se não for especificado, a primeira página será retornada.
  • nextPageToken: o valor pageToken para receber a próxima página de uma chamada accounts.reports.search.

Quando um pageToken é fornecido, todos os outros parâmetros na chamada precisam corresponder à chamada anterior para evitar comportamentos inesperados.

Por exemplo, se você fizer a consulta a seguir em uma conta que tem 100.000 valores de offer_id e o pageSize estiver definido como 200, o resultado vai conter apenas 200 objetos ReportRow na primeira resposta, junto com um nextPageToken:

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

Confira um exemplo de resposta (os cinco primeiros resultados e o 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"
}

Para recuperar as próximas 200 linhas, envie a solicitação novamente com o mesmo tamanho de página, mas atualize o pageToken da solicitação para o nextPageToken da resposta anterior.