Aby obsługiwać zestawy wyników zawierające dużą liczbę wierszy, język zapytań Merchant Center obsługuje paginację. Oprócz pola wyjściowego w treści
odpowiedzi:
next_page_token dostępne są 2 parametry do
kontrolowania paginacji w treści żądania reports.search:
page_size i page_token.
Parametr page_size określa maksymalną liczbę wierszy do pobrania w jednym żądaniu. Jeśli nie zostanie określony, automatycznie zostanie ustawiony na maksymalny rozmiar strony wynoszący 1000 wierszy.
Parametr page_token określa token strony, która ma zostać zwrócona. Jeśli nie zostanie określony, zwracana jest pierwsza strona. Aby pobrać kolejną stronę, wartość otrzymaną jako next_page_token z poprzedniego wywołania reports.search
należy podać jako page_token. Gdy podany jest page_token, wszystkie inne parametry w wywołaniu powinny być zgodne z poprzednim wywołaniem, które zwróciło page_token, aby uniknąć nieoczekiwanego zachowania.
Przykład:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks,
metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'
W przypadku tego zapytania załóżmy, że konto zawiera 100 tys. offer_ids,a page_size jest ustawiony na 200. Zestaw wyników będzie wtedy zawierać 200 obiektów ReportRow w pierwszej odpowiedzi oraz next_page_token.
Aby pobrać kolejne 200 wierszy, wyślij żądanie ponownie z tym samym rozmiarem strony,
ale zaktualizuj page_token żądania do next_page_token poprzedniej odpowiedzi.
Oto przykład treści odpowiedzi (pierwsze 5 wyników plus 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"
}