يمكن إرسال طلبات البحث عن حقول المقاييس والشرائح إلى الـ reports.search
method. لإنشاء طلب بحث بلغة طلبات البحث في Merchant Center، عليك أولاً إنشاء
طلب البحث باستخدام قواعد اللغة.
يتألف طلب البحث من عدد من البنود:
SELECTFROMWHEREORDER BYLIMIT
تستخدِم البنود أسماء الحقول و أسماء الجداول و عوامل التشغيل و الشروط و الترتيبات لمساعدتك في اختيار البيانات المطلوبة. بعد دمجها في طلب بحث واحد، يمكن إرسال طلب باستخدام Google Content API for Shopping. لنلقِ نظرة على كيفية استخدام كل بند.
البنود
SELECT
يحدّد بند SELECT مجموعة من الحقول المطلوب جلبها في الطلب. يأخذ SELECT قائمة مفصولة بفواصل من حقول الشرائح والمقاييس، ويعرض القيم في الاستجابة. بند SELECT مطلوب في طلب البحث.
في ما يلي نموذج لطلب بحث يختار مقاييس النقرات من جدول معيّن:
SELECT
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
يمكنك أيضًا طلب أنواع مختلفة من الحقول في طلب واحد:
SELECT
segments.date,
segments.program,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
حقول الشرائح
segments.datesegments.program
المقاييس
metrics.impressionsmetrics.clicks
لا يُسمح ببعض الحقول في بند SELECT بسبب التقييد التالي:
- طلب حقول الشرائح بدون حقل مقياس واحد على الأقل
يمكن العثور على معلومات ذات صلة بالشرط أعلاه في مستنداتنا المرجعية.
FROM
يحدّد بند FROM الجدول المطلوب جلب البيانات منه في الطلب. يحدّد الجدول في بند FROM الحقول التي يمكن استخدامها من قِبل جميع البنود الأخرى لطلب البحث المحدّد. لا يمكن تحديد سوى جدول واحد في بند FROM. في الوقت الحالي، لا يتوفّر ذلك إلا في جدول MerchantPerformanceView.
بند FROM مطلوب في طلب البحث إلى طريقة search في خدمة reports.
WHERE
يحدّد بند WHERE الشروط التي يجب تطبيقها عند فلترة البيانات للطلب. عند استخدام بند WHERE، يمكن تحديد شرط واحد أو أكثر باستخدام AND للفصل بينها. يجب أن يتّبع كل شرط النمط field_name Operator value. يمكن استخدام أي حقل من حقول الشرائح في بند WHERE، ولكن يجب تحديد حقول المقاييس في بند SELECT لاستخدامها في بند WHERE. بند WHERE مطلوب في طلب البحث، لأنّه يجب دائمًا تحديد النطاق الزمني الذي تريد عرض بيانات الأداء له.
في ما يلي مثال على استخدام WHERE لعرض المقاييس من فترة زمنية معيّنة:
SELECT
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
يمكنك الجمع بين شروط متعددة لفلترة البيانات. سيعرض هذا المثال عدد النقرات لكل عرض في برنامج SHOPPING_ADS حيث النقرات > 100 خلال الفترة الزمنية المحدّدة البالغة 30 يومًا.
SELECT
segments.offer_id,
segments.program,
metrics.clicks
FROM MerchantPerformanceView
WHERE metrics.clicks > 100
AND segments.program = SHOPPING_ADS
AND segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’;
في طلب البحث التالي، ستلاحظ أنّه تم اختيار segments.date.
بغض النظر عمّا إذا كنت تختار segments.date، يجب دائمًا تقديم نطاق زمني محدود في بند WHERE لاسترداد بيانات الأداء.
SELECT
segments.date,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
عند الفلترة، من المهم مراعاة الحساسية لحالة الأحرف في عامل التشغيل.
يُرجى مراعاة ما يلي عند طلب البيانات الوصفية باستخدام سلسلة طلب بحث موضّحة في الـ قواعد اللغوية.
ORDER BY
يحدّد بند ORDER BY الترتيب الذي سيتم عرض النتائج به. يسمح لك هذا البند بترتيب البيانات بترتيب تصاعدي أو تنازلي استنادًا إلى اسم حقل. يتم تحديد كل ترتيب على أنّه field_name متبوعًا بـ ASC أو DESC. إذا لم يتم تحديد ASC أو DESC، يكون الترتيب تلقائيًا ASC. لا يمكن استخدام سوى الحقول المحدّدة في بند SELECT في بند ORDER BY. بند ORDER BY اختياري في طلب البحث.
يرتّب طلب البحث التالي الصفوف المعروضة حسب عدد النقرات من الأعلى إلى الأدنى:
SELECT
segments.offer_id,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.clicks DESC
يمكنك تحديد حقول متعددة في بند ORDER BY باستخدام قائمة مفصولة بفواصل. سيحدث الترتيب بالتسلسل نفسه المحدّد في طلب البحث.
على سبيل المثال، في طلب البحث هذا، سيتم ترتيب النتائج بترتيب تصاعدي حسب offer_id، ثم بترتيب تنازلي حسب عدد مرّات الظهور، ثم بترتيب تنازلي حسب عدد النقرات:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY
segments.offer_id,
metrics.impressions DESC,
metrics.clicks DESC
LIMIT
يسمح لك بند LIMIT بتحديد عدد النتائج المطلوب عرضها.
يكون هذا البند مفيدًا إذا كنت مهتمًا بملخّص فقط.
على سبيل المثال، يمكن استخدام LIMIT لتقييد العدد الإجمالي للنتائج لطلب البحث التالي:
SELECT
segments.program,
segments.offer_id,
metrics.impressions
FROM MerchantPerformanceView
WHERE segments.date BETWEEN ‘2020-08-01’ AND ‘2020-08-31’
ORDER BY metrics.impressions DESC
LIMIT 50