Impagina i risultati della query

Per gestire set di risultati contenenti un numero elevato di righe, il linguaggio di query di Merchant Center supporta l'impaginazione. Sono disponibili due parametri per controllare l'impaginazione nel corpo della richiesta reports.search: 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 la dimensione massima 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 a reports.search deve essere fornito come page_token. Quando viene fornito un valore page_token, tutti gli altri parametri nella chiamata devono corrispondere alla chiamata precedente che ha restituito 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 nuovamente la richiesta con le stesse dimensioni di pagina, ma aggiorna il valore page_token della richiesta con il valore next_page_token della risposta precedente.

Ecco 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"
}