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