تقسيم نتائج طلب البحث على صفحات

لمعالجة مجموعات النتائج التي تحتوي على عدد كبير من الصفوف، تتيح لغة طلب البحث في 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"
}