Pagina los resultados de las consultas

Para manejar conjuntos de resultados que contengan una gran cantidad de filas, el lenguaje de consulta de Merchant Center admite la paginación. Hay dos parámetros disponibles para controlar la paginación en el cuerpo de la solicitud reports.search: page_size y page_token, además de un campo de salida en el cuerpo de la respuesta: next_page_token.

El parámetro page_size especifica la cantidad máxima de filas que se recuperarán en una sola solicitud. Si no se especifica, se configura de forma automática para que tenga un tamaño máximo de página de 1,000 filas.

El parámetro page_token especifica el token de la página que se mostrará. Si no se especifica, se muestra la primera página. Para recuperar una página posterior, el valor recibido como next_page_token de la llamada reports.search anterior debe proporcionarse como page_token. Cuando se proporciona un page_token, todos los demás parámetros de la llamada deben coincidir con la llamada anterior que mostró el page_token para evitar comportamientos inesperados.

Ejemplo:

SELECT
  segments.offer_id,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'

Para esta consulta, supongamos que la cuenta contiene 100,000 offer_ids y que page_size está configurada en 200. El conjunto de resultados contendrá 200 objetos ReportRow en la primera respuesta, junto con un next_page_token.

Para recuperar las siguientes 200 filas, vuelve a enviar la solicitud con el mismo tamaño de página, pero actualiza el page_token de la solicitud al next_page_token de la respuesta anterior.

A continuación, se muestra un ejemplo de cuerpo de respuesta (los primeros cinco resultados más el next_page_token):

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