به منظور مدیریت مجموعههای نتایج حاوی تعداد زیادی ردیف، Merchant Center Query Language از صفحهبندی پشتیبانی میکند. دو پارامتر برای کنترل صفحه بندی در بدنه درخواست reports.search
موجود است: page_size
و page_token
، علاوه بر یک فیلد خروجی در بدنه پاسخ : next_page_token
.
پارامتر page_size
حداکثر تعداد سطرهایی را برای بازیابی در یک درخواست مشخص می کند. اگر مشخص نباشد، به طور خودکار روی حداکثر اندازه صفحه 1000 ردیف تنظیم می شود.
پارامتر page_token
توکن صفحه را که باید برگردانده شود را مشخص می کند. اگر مشخص نشده باشد، صفحه اول برگردانده می شود. برای بازیابی صفحه بعدی، مقدار دریافت شده به عنوان next_page_token
از تماس های قبلی reports.search
باید به عنوان page_token
ارائه شود. هنگامی که یک page_token
ارائه میشود، تمام پارامترهای دیگر در تماس باید با تماس قبلی که page_token
برمیگرداند مطابقت داشته باشد تا از رفتار غیرمنتظره جلوگیری شود.
مثال:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks,
metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'
برای این پرس و جو، فرض کنید حساب شامل 100000 offer_ids
و page_size
روی 200 تنظیم شده است. سپس مجموعه نتیجه شامل 200 شی ReportRow
در اولین پاسخ همراه با next_page_token
خواهد بود.
برای بازیابی 200 ردیف بعدی، درخواست را دوباره با همان اندازه صفحه ارسال کنید، اما page_token
درخواست را به next_page_token
پاسخ قبلی بهروزرسانی کنید.
در اینجا یک مثال بدنه پاسخ آمده است (پنج نتیجه اول به اضافه 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"
}