صفحه بندی نتایج پرس و جو

به منظور مدیریت مجموعه‌های نتایج حاوی تعداد زیادی ردیف، 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"
}