עימוד תוצאות השאילתה

כדי לטפל בקבוצות של תוצאות שמכילות מספר רב של שורות, שפת השאילתות של 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"
}