Impagina i risultati della query

Per gestire i set di risultati contenenti un numero elevato di righe, Merchant Center Query Language supporta la paginazione. Nel corpo della richiesta reports.search sono disponibili due parametri per controllare la paginazione: page_size e page_token, oltre a un campo di output nel corpo della risposta: next_page_token.

Il parametro page_size specifica il numero massimo di righe da recuperare in una singola richiesta. Se non specificato, viene impostato automaticamente sulle dimensioni massime della pagina di 1000 righe.

Il parametro page_token specifica il token della pagina da restituire. Se non specificato, viene restituita la prima pagina. Per recuperare una pagina successiva, il valore ricevuto come next_page_token dalla precedente chiamata reports.search deve essere fornito come page_token. Quando viene fornito un page_token, tutti gli altri parametri nella chiamata devono corrispondere alla chiamata precedente che ha restituito il page_token per evitare comportamenti imprevisti.

Esempio:

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

Per questa query, supponiamo che l'account contenga 100.000 offer_ids e che page_size sia impostato su 200. Il set di risultati conterrà quindi 200 oggetti ReportRow nella prima risposta, insieme a un next_page_token.

Per recuperare le successive 200 righe, invia di nuovo la richiesta con le stesse dimensioni della pagina, ma aggiorna page_token della richiesta con next_page_token della risposta precedente.

Di seguito è riportato un esempio di corpo della risposta (i primi cinque risultati più 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"
}