لمعالجة مجموعات النتائج التي تحتوي على عدد كبير من الصفوف، تتيح لغة طلب البحث في Merchant Center إمكانية التقسيم على صفحات. تتوفّر معلمتان للتحكم في التقسيم على صفحات في نص الطلب 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'
بالنسبة إلى هذا الطلب، نفترض أنّ الحساب يحتوي على 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"
}