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