כדי לטפל בקבוצות של תוצאות שמכילות מספר רב של שורות, שפת השאילתות של Merchant Center תומכת בעימוד. קיימים שני פרמטרים לשליטה בעימוד בגוף הבקשהreports.search
: page_size
ו-page_token
, בנוסף לשדה פלט אחד בגוף התגובות:next_page_token
.
הפרמטר page_size
מציין את מספר השורות המקסימלי לאחזור בבקשה יחידה. אם היא לא מוגדרת, היא מוגדרת באופן אוטומטי לגודל הדף המרבי של 1,000 שורות.
הפרמטר 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'
בשאילתה הזו נניח שהחשבון מכיל 100,000 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"
}