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

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