بنية طلب البحث

يمكن إرسال طلبات البحث عن حقول المقاييس والشرائح إلى الـ reports.search method. لإنشاء طلب بحث بلغة طلبات البحث في Merchant Center، عليك أولاً إنشاء طلب البحث باستخدام قواعد اللغة. يتألف طلب البحث من عدد من البنود:

  • SELECT
  • FROM
  • WHERE
  • ORDER BY
  • LIMIT

تستخدِم البنود أسماء الحقول و أسماء الجداول و عوامل التشغيل و الشروط و الترتيبات لمساعدتك في اختيار البيانات المطلوبة. بعد دمجها في طلب بحث واحد، يمكن إرسال طلب باستخدام 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.date
    • segments.program
  • المقاييس

    • metrics.impressions
    • metrics.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