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 viene specificato, viene impostato automaticamente sulla dimensione massima della pagina di 1000 righe.
Il parametro page_token specifica il token della pagina da restituire. Se non viene 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 della 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 la stessa dimensione della pagina,
ma aggiorna il page_token della richiesta al
next_page_token della risposta precedente.
Di seguito è riportato un esempio di corpo della risposta (i primi cinque risultati più il 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"
}