على الشركاء المشاركين في عملية دمج العروض الترويجية إكمال خطوة إعداد الحساب لتاجر أو كيان (إصدار تجريبي) استنادًا إلى عملية الدمج قبل البدء. سيتضمّن هذا الدليل تفاصيل حول عملية تنفيذ ميزة دمج العروض واختبارها وإطلاقها. يُرجى قراءة هذه النظرة العامة وسياسات العروض قبل الانتقال إلى خطوات الدمج.
العروض
يتيح لك دمج العروض الترويجية نقل معلومات منظَّمة حول العروض الترويجية والخصومات التي يقدّمها التاجر على خدمات معيّنة في أوقات معيّنة. تتألف العروض من العرض الفعلي (خصم بنسبة مئوية أو مبلغ محدد أو غير ذلك)، وفترات الصلاحية (أوقات محددة أو أيام الأسبوع أو غير ذلك)، والاستخدامات السارية (لا يمكن استخدام العرض إلا على خدمات معيّنة)، بالإضافة إلى مجموعات معقّدة من القيود.
أمثلة على العروض:
- خصم 50% على المقبلات أيام الأربعاء والخميس في شهر ديسمبر من الساعة 12 ظهرًا حتى 5 مساءً
- احصل على حلوى مجانية عند شراء حلوى أخرى في عشاء عيد الأم من الساعة 6 مساءً إلى الساعة 10 مساءً
- خصم 5 دولارات أمريكية على وجبة فطور وغداء كل يوم أحد من الساعة 10 صباحًا حتى الساعة 2 ظهرًا
- خصم% 10 عند الحجز في الفندق، ويمكن دمجه مع خصم% 5 للمشتركين في الخطة المميزة وخصم% 5 إذا دفع المستخدم من خلال تطبيقك
لكي يتم تضمين عرض في عملية الدمج، يجب أن يتوافق مع نموذج البيانات الفنية وأن يستوفي متطلبات الأهلية. احرص على مراجعة سياسات العروض للتأكّد من أنّ عملية الدمج متوافقة معها، وللحصول على تعليمات حول كيفية التعامل مع العروض التي لا تستوفي المتطلبات الفنية.
تنفيذ العروض
يتضمّن دمج العروض الترويجية خلاصتَين سيتم تحميلهما يوميًا أو بوتيرة تضمن دقة عالية (ما يعني تقليل عدم الحداثة):
OfferFeed
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
data | مصفوفة تتضمّن عناصر (Offer) |
عرض
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
offer_id | سلسلة | مطلوب | تمثّل هذه السمة معرّفًا فريدًا للعرض. مطلوب. |
entity_ids | مصفوفة من السلاسل | قائمة بالتجّار المشاركين في هذا العرض | |
add_on_offer_applicable_to_all_entities | قيمة منطقية | إذا كانت القيمة true، ينطبق هذا العرض على جميع الكيانات ضمن خدمة التجميع. ينطبق ذلك على عروض الإضافات فقط. | |
offer_source | enum(OfferSource) | مطلوب | يمكن أن يقدّم المجمّع أو تاجر فردي أو حتى جهة خارجية عرضًا كإضافة. مطلوب. |
action_type | enum(ActionType) | مطلوب | الخدمة التي تقدّم العرض يمكن أن ينتمي offer_id إلى action_type واحد فقط. إذا كان يمكن مشاركة عرض ترويجي على مستوى أنواع خدمات متعددة، من المتوقّع إنشاء عروض ترويجية مكرّرة بمعرّفات فريدة لكل نوع خدمة. مطلوب. |
offer_modes | مصفوفة من قيم التعداد(OfferMode) | مطلوب | طُرق الاستفادة من العرض، مثل الحجز أو الشراء على الإنترنت أو في المتجر مباشرةً مطلوب |
offer_category | enum(OfferCategory) | مطلوب | تمثّل هذه السمة فئة العرض الترويجي. مطلوب. |
source_assigned_priority | الرقم | عدد صحيح غير سالب ([1-100]، حيث يمثّل الرقم 1 أعلى أولوية) يشير إلى مستوى أولوية العرض الذي حدّده المصدر. عندما تتوفّر عروض متعدّدة للتاجر نفسه، ستكون هذه إشارة لترتيب العروض. تشير القيمة 0 إلى أنّه لم يتم ضبط الأولوية. | |
offer_details | object(OfferDetails) | مطلوب | تمثّل هذه السمة تفاصيل العرض، مثل الخصم وتكلفة الحجز وما إلى ذلك. هذه السمة مطلوبة. |
offer_restrictions | object(OfferRestrictions) | مطلوب | توضّح هذه السمة القيود المفروضة على العرض، أي ما إذا كان الاشتراك أو وسيلة الدفع مطلوبَين، وما إذا كان يمكن الجمع بين هذا العرض وعروض أخرى (وما هي الأنواع)، وما إلى ذلك. هذه السمة مطلوبة. |
coupon | object(Coupon) | تفاصيل قسيمة مطلوبة لفئة العرض: OFFER_CATEGORY_ADD_ON_COUPON_OFFER. | |
payment_instrument | object(PaymentInstrument) | تعرض هذه السمة تفاصيل وسيلة الدفع. مطلوبة لفئة العرض: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. | |
subscription | object(Subscription) | تعرض هذه السمة تفاصيل الاشتراك. مطلوبة لفئة العرض: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER. | |
terms | object(Terms) | مطلوب | أحكام العرض وشروطه مطلوب. |
validity_periods | مصفوفة تتضمّن عناصر (ValidityPeriod) | مطلوب | تمثّل هذه السمة مدة صلاحية العرض. تصف هذه السمة الفترة الزمنية التي يكون العرض ساريًا خلالها، بما في ذلك أوقات البدء والانتهاء وأيام الأسبوع وما إلى ذلك. هذه السمة مطلوبة. |
offer_url | سلسلة | تمثّل هذه السمة عنوان URL لصفحة العرض التي يقدّمها التاجر. مطلوبة لفئة العرض: OFFER_CATEGORY_BASE_OFFER. | |
image_url | سلسلة | تمثّل هذه السمة عنوان URL لصورة العرض الترويجي الخاص بالتاجر. |
OfferDetails
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
offer_display_text | سلسلة | مطلوب | تمثّل هذه السمة نص العرض الذي يريد مقدّم العرض الترويجي عرضه للعملاء على صفحة نتائج البحث. مطلوب. |
| oneOf(offer_specification) | مطلوب | لا يمكن ضبط سوى حقل واحد من الحقول في هذا oneOf. |
max_discount_value | object(Money) | الحدّ الأقصى للخصم الذي يمكن الاستفادة منه على سبيل المثال، خصم بنسبة% 10 يصل إلى 100 ريال سعودي. | |
min_spend_value | object(Money) | الحدّ الأدنى لقيمة الإنفاق للاستفادة من الخصم على سبيل المثال، خصم 10% عندما يكون السعر الإجمالي 100 دولار أمريكي أو أكثر. | |
booking_cost | object(Money) | تمثّل هذه السمة تكلفة حجز هذا العرض. على سبيل المثال، خصم 100 دولار أمريكي من الفاتورة النهائية عند حجز طاولة مقابل 15 دولارًا أمريكيًا. | |
booking_cost_unit | enum(FeeUnit) | تمثّل هذه السمة وحدة تكلفة الحجز. على سبيل المثال، لكل شخص ولكل معاملة. | |
convenience_fee | object(Fee) | ||
booking_cost_adjustable | قيمة منطقية | تُستخدَم لتحديد ما إذا كانت تكلفة الحجز قابلة للتعديل، أي ما إذا كانت تكلفة الحجز سيتم طرحها من الفاتورة النهائية. على سبيل المثال: خصم% 30 على العشاء مع الحجز. تبلغ تكلفة الحجز 15 دولارًا أمريكيًا، وسيتم تطبيقها على الفاتورة النهائية. وبالتالي، فإنّ الفاتورة النهائية هي: إجمالي المبلغ الذي تم إنفاقه - %30 - 15 دولارًا أمريكيًا | |
additional_fees | مصفوفة تتضمّن عناصر (AdditionalFee) | الرسوم الإضافية التي يتم تحصيلها من المستخدم أمثلة: الراحة، والمناولة، وما إلى ذلك |
المال
تمثّل هذه السمة مبلغًا من المال مع نوع العملة.
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
currency_code | سلسلة | تمثّل هذه السمة رمز العملة المكوّن من ثلاثة أحرف والمحدّد في معيار ISO 4217. | |
units | سلسلة | تمثّل هذه السمة الوحدات الكاملة للمبلغ.
على سبيل المثال، إذا كانت قيمة currencyCode هي "USD" ، تكون الوحدة الواحدة هي دولار أمريكي واحد. | |
nanos | الرقم | عدد وحدات النانو (10^-9) من المبلغ.
يجب أن تتراوح القيمة بين -999,999,999 و+999,999,999، بما في ذلك الرقمان.
إذا كانت قيمة units موجبة، يجب أن تكون قيمة nanos موجبة أو صفرًا.
إذا كانت قيمة units صفرًا، يمكن أن تكون قيمة nanos موجبة أو صفرًا أو سالبة.
إذا كانت قيمة units سالبة، يجب أن تكون قيمة nanos سالبة أو صفرًا.
على سبيل المثال، يتم تمثيل القيمة $-1.75 على النحو التالي: units =-1 وnanos =-750,000,000. |
رسوم
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
unit | enum(FeeUnit) | ||
type | enum(FeeType) | ||
| oneOf(cost) | لا يمكن ضبط سوى حقل واحد من الحقول في هذا oneOf. |
MoneyRange
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
min_amount | object(Money) | ||
max_amount | object(Money) |
AdditionalFee
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
name | سلسلة | مطلوب | اسم الرسوم الإضافية أمثلة: رسوم الدفعات الإلكترونية، ورسوم المناولة، وما إلى ذلك. هذا الحقل مطلوب. |
fee | object(Fee) |
OfferRestrictions
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
combinable_with_other_offers | قيمة منطقية | تُستخدَم لتحديد ما إذا كان يمكن الجمع بين هذا العرض وعروض أخرى. عند ضبط القيمة على "صحيح"، يمكن للشركاء تحديد العروض التي يمكن الجمع بينها وبين هذا العرض. إذا تم ضبط كل من combinable_offer_categories وcombinable_offer_ids، سيكون أي عرض يطابق أحد الشروط أعلاه قابلاً للدمج. | |
combinable_offer_categories | مصفوفة من قيم التعداد(OfferCategory) | قائمة بأنواع العروض التي يمكن الجمع بينها وبين هذا العرض على سبيل المثال، يمكن الجمع بين هذا العرض وقسائم أخرى. إذا كانت قيمة combinable_with_other_offers هي "صحيح" ولم يتم ضبط هذا الحقل، سيتم السماح بالجمع بين جميع الأنواع. | |
combinable_offer_ids | مصفوفة من السلاسل | قائمة بمعرّفات العروض التي يمكن الجمع بينها وبين هذا العرض قد لا يمكن الجمع بين بعض العروض إلا مع معرّفات عروض أخرى معيّنة (يمكن اعتبارها عروضًا رئيسية). إذا كانت قيمة combinable_with_other_offers هي "صحيح" ولم يتم ضبط هذا الحقل، يمكن الجمع بين جميع معرّفات العروض. | |
inclusions | مصفوفة تتضمّن عناصر (OfferCondition) | قائمة بالشروط التي يجب استيفاؤها ليكون العرض صالحًا (مثلاً، المشروبات غير الكحولية والطعام). | |
exclusions | مصفوفة تتضمّن عناصر (OfferCondition) | قائمة الشروط التي تؤدي إلى إبطال العرض (مثل البوفيه وعروض الوجبات المجمّعة والكوكتيلات) | |
min_guest | الرقم | الحدّ الأدنى لعدد الأشخاص المطلوب للاستفادة من العرض | |
food_offer_restrictions | object(FoodOfferRestrictions) | قيود خاصة بعروض الطعام |
OfferCondition
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
description | سلسلة |
FoodOfferRestrictions
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
meal_types | مصفوفة من قيم التعداد(MealType) | أنواع الوجبات التي يمكن تطبيق العرض عليها، مثل الغداء أو العشاء في حال عدم ضبط هذا الخيار، يمكن تطبيق العرض على جميع أنواع الوجبات. | |
restricted_to_certain_courses | قيمة منطقية | تُستخدَم لتحديد ما إذا كان يمكن تطبيق العرض على دورات تدريبية معيّنة فقط. |
القسيمة
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
text | سلسلة | نص القسيمة الذي يريد مقدّم العرض الترويجي عرضه للمستخدمين. | |
code | سلسلة | مطلوب | يجب استخدام رمز قسيمة لتحصيل قيمة العرض. مطلوب. |
PaymentInstrument
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
items | مصفوفة تتضمّن عناصر (PaymentInstrumentItem) | مطلوب | قائمة أدوات الدفع التي يمكن استخدامها للاستفادة من العرض مطلوب. |
provider_name | سلسلة | مطلوب | تمثّل هذه السمة اسم مقدّم أداة الدفع. يمكن أن يكون شريكًا مصرفيًا أو اسم مصرف أو غير ذلك، مثل American Express وHDFC وICICI. مطلوب. |
PaymentInstrumentItem
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
type | enum(PaymentInstrumentType) | مطلوب | نوع وسيلة الدفع مطلوب. |
name | سلسلة | مطلوب | اسم أداة الدفع، مثل اسم بطاقة الائتمان على سبيل المثال: HDFC Infinia وAmerican Express Platinum. مطلوب. |
تاريخ التوفّر للمشتركين
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
name | سلسلة | مطلوب | تمثّل هذه السمة اسم الاشتراك. مطلوب. |
subscription_auto_added | قيمة منطقية | ما إذا كان سيتمّ إضافة الاشتراك تلقائيًا عندما يستفيد المستخدم من هذا العرض | |
cost | object(Money) | مطلوب | تكلفة الاشتراك مطلوب. |
subscription_duration | object(Duration) | مطلوب | تحدّد هذه السمة مدة صلاحية الاشتراك مقابل تكلفة الاشتراك. مطلوب. |
terms_and_conditions_url | سلسلة | عنوان URL يؤدي إلى أحكام وشروط الشريك ذات الصلة بهذا الاشتراك. |
المدة
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
seconds | سلسلة | ثوانٍ موقّعة من الفترة الزمنية. يجب أن تتراوح القيمة بين -315,576,000,000 و+315,576,000,000، بما في ذلك الرقمان. ملاحظة: يتم احتساب هذه الحدود من: 60 ثانية/دقيقة * 60 دقيقة/ساعة * 24 ساعة/يوم * 365.25 يوم/سنة * 10000 سنة | |
nanos | الرقم | أجزاء من الثانية الموقّعة بدقة النانو ثانية في مدى الوقت. يتم تمثيل المدد الأقل من ثانية واحدة باستخدام الحقل 0
seconds والحقل nanos الموجب أو السالب. بالنسبة إلى المدد التي تبلغ ثانية واحدة أو أكثر، يجب أن تكون قيمة الحقل nanos غير صفرية وأن تحمل العلامة نفسها التي يحملها الحقل seconds . يجب أن تتراوح القيمة بين -999,999,999 و+999,999,999، بما في ذلك الرقمان. |
البنود
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
url | سلسلة | عنوان URL الخاص بالأحكام والشروط لدى الشريك | |
restricted_to_certain_users | قيمة منطقية | تُستخدَم لتحديد ما إذا كان العرض الترويجي مخصّصًا لمستخدمين معيّنين. | |
terms_and_conditions | سلسلة | نص بنود الخدمة الأساسية المقدَّمة من الشريك | |
additional_terms_and_conditions | مصفوفة من السلاسل | الأحكام والشروط بالإضافة إلى الأحكام والشروط الأساسية من الشريك |
ValidityPeriod
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
valid_period | object(ValidityRange) | الطابع الزمني للبدء والانتهاء الذي يكون العرض ساريًا خلاله يجب أن تمثّل هذه الأوقات أيامًا مختلفة، أي يجب أن يكون وقت البدء هو 00:00 (بداية اليوم) ووقت الانتهاء هو 00:00 (باستثناء) في اليوم الذي تنتهي فيه فترة الصلاحية. | |
time_of_day | مصفوفة تتضمّن عناصر (TimeOfDayWindow) | تحدّد هذه السمة الفاصل الزمني الصالح في يوم معيّن والأيام التي يتوفّر فيها العرض.
على سبيل المثال:
الاثنين: من الساعة 10 صباحًا إلى الساعة 5 مساءً
الثلاثاء: من الساعة 10 صباحًا إلى الساعة 2 بعد الظهر
الثلاثاء: من الساعة 5 مساءً إلى الساعة 7 مساءً
الأربعاء والخميس والجمعة والسبت والأحد: من الساعة 3 بعد الظهر إلى الساعة 7 مساءً
إذا لم يتم ضبط أي وقت، يعني ذلك أنّ العرض الترويجي متاح في كل الأوقات ضمن
valid_period . | |
time_exceptions | مصفوفة تتضمّن عناصر (ValidTimeException) | تحدّد هذه السمة الاستثناءات من valid_period وvalid_time_of_week المذكورتَين أعلاه. |
ValidityRange
نطاق طوابع زمنية مغلق ومفتوح
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
valid_from_time | object(Timestamp) | مطلوب | تمثّل هذه السمة وقت بدء النطاق (شامل). مطلوب. |
valid_through_time | object(Timestamp) | وقت انتهاء النطاق (حصري) إذا لم يتم ضبط هذا الإعداد، يعني ذلك أنّ هذه الفترة لا تنتهي أبدًا. اختياريّ. |
الطابع الزمني
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
seconds | سلسلة | تمثّل هذه السمة ثواني التوقيت العالمي المنسَّق منذ بدء حساب الفترة في 1970-01-01T00:00:00Z. يجب أن تتراوح القيمة بين 0001-01-01T00:00:00Z و9999-12-31T23:59:59Z، بما في ذلك الرقمان. | |
nanos | الرقم | أجزاء غير سالبة من الثانية بدقة النانو ثانية يجب أن تتضمّن قيم الثواني السالبة التي تتضمّن كسورًا قيمًا غير سالبة للنانو ثانية يتم احتسابها للأمام في الوقت. يجب أن تتراوح القيمة بين 0 و999,999,999 ، بما في ذلك الرقمان. |
TimeOfDayWindow
عنصر TimeWindow هو كيان مركّب يصف قائمة بالنوافذ التي يمكن فيها إما تقديم طلب المستخدم أو تنفيذه.
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
time_windows | object(TimeOfDayRange) | مطلوب | الفترة الزمنية التي يمكن فيها تقديم الطلب أو تنفيذه مطلوب. |
day_of_week | مصفوفة من قيم التعداد(DayOfWeek) | قائمة بأيام الأسبوع التي يتم تطبيق الفترات الزمنية فيها إذا لم يتم ضبط أي منها، يعني ذلك أنّها تنطبق على جميع أيام الأسبوع. اختياريّ. |
TimeOfDayRange
نطاق زمني مغلق ومفتوح
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
open_time | object(TimeOfDay) | وقت يشير إلى وقت بداية اليوم من النطاق (شامل). إذا لم يتم ضبطها، يعني ذلك 00:00:00. اختياريّ. | |
close_time | object(TimeOfDay) | وقت يشير إلى وقت انتهاء اليوم في النطاق (غير شامل). إذا لم يتم ضبطها، يعني ذلك 23:59:59. اختياريّ. |
TimeOfDay
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
hours | الرقم | ساعات اليوم بتنسيق 24 ساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 23 عادةً. يمكن لواجهة برمجة التطبيقات أن تسمح بالقيمة "24:00:00" في سيناريوهات مثل وقت إغلاق النشاط التجاري. | |
minutes | الرقم | دقائق الساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 59. | |
seconds | الرقم | ثواني الدقيقة يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 59. قد يسمح أحد واجهات برمجة التطبيقات بالقيمة 60 إذا كان يسمح بالثواني الكبيسة. | |
nanos | الرقم | أجزاء من الثانية، بالنانو ثانية يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 999,999,999. |
ValidTimeException
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
exceptional_period | object(ValidityRange) | الطابع الزمني للبدء والانتهاء الذي لا يكون العرض الترويجي صالحًا خلاله. يجب أن تمثّل هذه الأوقات أيامًا مختلفة، أي يجب أن يكون وقت البدء هو 00:00 (بداية اليوم) وأن يكون وقت الانتهاء هو 00:00 (باستثناء) في اليوم الذي تنتهي فيه فترة الاستثناء. |
OfferSource
الاسم | الوصف |
---|---|
OFFER_SOURCE_UNSPECIFIED | |
OFFER_SOURCE_AGGREGATOR |
ActionType
الاسم | الوصف |
---|---|
ACTION_TYPE_UNSPECIFIED | |
ACTION_TYPE_DINING |
OfferMode
الاسم | الوصف |
---|---|
OFFER_MODE_OTHER | |
OFFER_MODE_WALK_IN | |
OFFER_MODE_FREE_RESERVATION | |
OFFER_MODE_PAID_RESERVATION | |
OFFER_MODE_ONLINE_ORDER |
OfferCategory
تمثّل هذه السمة فئة العرض الترويجي. العرض الأساسي هو عرض عادي متاح لجميع العملاء، مثل خصم بنسبة% 10 على الإنفاق الذي يزيد عن 100 دولار أمريكي. سيتم ضبط الحقول الخاصة بالعرض الأساسي المحظور بقسيمة أو وسيلة دفع. لدينا أيضًا عروض إضافية، مثل ADD_ON_PAYMENT_OFFER. ويمكن إضافة هذه العروض إلى عروض أخرى للحصول على خصومات إضافية.
الاسم | الوصف |
---|---|
OFFER_CATEGORY_UNSPECIFIED | |
OFFER_CATEGORY_BASE_OFFER | |
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER | |
OFFER_CATEGORY_ADD_ON_COUPON_OFFER | |
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER |
FeeUnit
الاسم | الوصف |
---|---|
FEE_UNIT_UNSPECIFIED | |
FEE_UNIT_PER_GUEST | |
FEE_UNIT_PER_TRANSACTION |
FeeType
الاسم | الوصف |
---|---|
FEE_TYPE_UNSPECIFIED | |
FEE_TYPE_FIXED | |
FEE_TYPE_VARIABLE |
MealType
الاسم | الوصف |
---|---|
MEAL_TYPE_UNSPECIFIED | |
MEAL_TYPE_BREAKFAST | |
MEAL_TYPE_LUNCH | |
MEAL_TYPE_DINNER |
PaymentInstrumentType
الاسم | الوصف |
---|---|
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED | |
PAYMENT_INSTRUMENT_CREDIT_CARD | |
PAYMENT_INSTRUMENT_DEBIT_CARD | |
PAYMENT_INSTRUMENT_BANK_ACCOUNT | |
PAYMENT_INSTRUMENT_UPI | |
PAYMENT_INSTRUMENT_ONLINE_WALLET |
DayOfWeek
تمثّل هذه السمة يومًا من أيام الأسبوع.
الاسم | الوصف |
---|---|
DAY_OF_WEEK_UNSPECIFIED | لم يتم تحديد يوم الأسبوع. |
MONDAY | الاثنين |
TUESDAY | الثلاثاء |
WEDNESDAY | الأربعاء |
THURSDAY | الخميس |
FRIDAY | الجمعة |
SATURDAY | السبت |
SUNDAY | الأحد |
offer_specification
يمكن أن يكون الخصم نسبة مئوية أو قيمة ثابتة يتم طرحها من القيمة الإجمالية. على سبيل المثال: 1. خصم% 10 على الفاتورة النهائية 2. خصم بقيمة 15 دولار أمريكي على أحد الطلبات يمكن للتجّار أيضًا تقديم خصومات مخصّصة، مثل "اشترِ قطعة واحصل على الأخرى مجانًا"، من خلال حقول المواصفات ذات الصلة. مطلوب.
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
discount_percent | الرقم | لا يمكن استخدامها مع | نسبة الفاتورة التي يتم خصمها [0, 100] بالنسبة إلى عروض "1+1" أو عروض الخصم بنسبة% 50 التي تنطبق على الوجبة بأكملها (مثل بوفيه "1+1"، أو عرض "1+1" على الفاتورة بأكملها، أو عرض "1+1" على قائمة الطعام المحدّدة)، يمكن ضبط هذه القيمة على 50. |
discount_value | object(Money) | لا يمكن استخدامها مع | القيمة الثابتة للخصم |
other_offer_detail_text | سلسلة | لا يمكن استخدامها مع | نص حُرّ يصف الخصم. بالنسبة إلى عروض "اشترِ قطعة واحصل على قطعة إضافية" المحدّدة (مثل مشروبان بسعر مشروب واحد، أو طبق رئيسي إضافي، أو عناصر محدّدة من القائمة)، يجب توضيح هذه التفاصيل هنا. |
التكلفة
اسم الحقل | النوع | المتطلبات | الوصف |
---|---|---|---|
amount | object(Money) | لا يمكن استخدامها مع | |
amount_range | object(MoneyRange) | لا يمكن استخدامها مع |
تحميل الخلاصة
يجب تحميل
خلاصة العروض
إلى خادم بروتوكول النقل الآمن للملفات (SFTP) الخاص بخلاصة Generic
. اتّبِع التعليمات الواردة في برنامج تعليمي حول كيفية استخدام خادم بروتوكول SFTP الخاص بالخلاصة العامة واستخدِم القيمة name
التي تم ضبطها على google.offer
في ملف الواصف.
معدل التحميل
بشكل عام، تتوقّع Google تحميل خلاصة واحدة في اليوم، ويمكن زيادة عدد مرات التحميل أو خفضه حسب عدد مرات تعديل العروض من جهتك لضمان الحفاظ على دقة عالية باستمرار. استشِر جهة الاتصال التي تتعامل معها في Google.
سيستغرق ظهور البيانات على Google بضع ساعات.
تصنيف العروض
OFFER_CATEGORY_BASE_OFFER
: العروض التي يمكن الاستفادة منها بشكل مستقل بدون الجمع بينها وبين أي عرض آخر. ويشمل ذلك ما يلي:- خصومات ثابتة على الفاتورة بأكملها (مثلاً خصم بنسبة% 20)
- عروض الاشتراك (مثل حلويات مجانية عند الاشتراك)
- عروض الدفع في الحالات التي لا تتوفّر فيها عروض أساسية أخرى للمطعم
- عروض الحزمة الإضافية: هي عروض تتطلّب الاستفادة من عرض أساسي. وتشمل ما يلي:
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
(مثلاً، خصم إضافي بنسبة% 10 عند استخدام بطاقة ائتمان معيّنة)OFFER_CATEGORY_ADD_ON_COUPON_OFFER
(مثلاً، مشروب مجاني باستخدام رمز قسيمة محدّد)OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER
(مثلاً، خصم إضافي بنسبة% 10 للمشتركين)
اعتبارات أخرى:
- عندما لا يضبط المطعم "العرض الأساسي"، لن يتم عرض عروض "المنتجات الإضافية".
في حال عدم توفّر "العرض الأساسي"، يجب تصنيف أي "عرض دفع" أو "عرض اشتراك" أو "عرض قسيمة" يمكن الاستفادة منه بدون الحاجة إلى إضافته إلى عرض آخر على أنّه
OFFER_CATEGORY_BASE_OFFER
.- استنادًا إلى النوع، يجب ضبط البيانات ذات الصلة لكل من
PaymentInstrument
أوSubscription
أوCoupon
. - على الشركاء تقديم نسختَين من كل عرض من هذه العروض لتغطية الحالات التي تعمل فيها كعروض أساسية وعروض إضافية. يمكن بعد ذلك ضبط نسخة "عرض الحزمة" لمطاعم متعدّدة باستخدام
entity_ids
أوadd_on_offer_applicable_to_all_entities
.
- استنادًا إلى النوع، يجب ضبط البيانات ذات الصلة لكل من
- عندما يقدّم المطعم عروضًا أساسية متعددة يمكن دمجها، يجب تصنيف جميع العروض الأساسية على أنّها
OFFER_CATEGORY_BASE_OFFER
، ويجب إرسال العروض الأساسية التي تتضمّن عروضًا للدفع أو الاشتراك أو القسائم بشكل إضافي كنوع العرض التكميلي ذي الصلة. - يجب استخدام
ValidityPeriod
لتفعيل عروض الإضافات كعروض أساسية فقط عندما لا يكون هناك عرض أساسي نشط.
أمثلة على السيناريوهات:
يقدّم مطعم خصمًا بنسبة% 5 عند الدفع باستخدام بطاقة ائتمان معيّنة ومشروبًا مجانيًا عند استخدام رمز قسيمة معيّن.
- يجب إرسال نسختَين من عرض بطاقة الائتمان الذي يقدّم خصمًا بنسبة% 5، إحداهما تحمل العلامة
OFFER_CATEGORY_BASE_OFFER
والأخرى تحمل العلامةOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
مع تضمين تفاصيلPaymentInstrument
. - يجب إرسال عرض المشروب المجاني مع رمز القسيمة على النحو التالي:
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
مع تضمين التفاصيلCoupon
.
- يجب إرسال نسختَين من عرض بطاقة الائتمان الذي يقدّم خصمًا بنسبة% 5، إحداهما تحمل العلامة
يقدّم مطعم خصمًا بنسبة% 10 للزبائن الذين يحجزون في المطعم مباشرةً، وخصمًا بنسبة% 5 عند الدفع باستخدام بطاقة ائتمان معيّنة، ويمكن الجمع بين الخصمَين.
- يجب تصنيف العرض الترويجي بنسبة 10% على أنّه
OFFER_CATEGORY_BASE_OFFER
. - يجب أن يتضمّن عرض الخصم% 5 عند استخدام بطاقة الائتمان نسختَين، إحداهما تحمل العلامة
OFFER_CATEGORY_BASE_OFFER
والأخرى تحمل العلامةOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
.
- يجب تصنيف العرض الترويجي بنسبة 10% على أنّه
يقدّم مطعم خصمًا بنسبة% 10 على وجبة الغداء فقط خلال أيام الأسبوع، وخصمًا بنسبة% 5 في أي وقت عند الدفع باستخدام بطاقة ائتمان معيّنة.
- يجب ضبط قيمة
ValidityPeriod
على "صحيح" في عرض الخصم بنسبة% 10 للإشارة إلى أنّ العرض متاح فقط خلال ساعات الغداء في المطعم خلال أيام الأسبوع. - يجب إرسال نسختَين من عرض الخصم% 5 عند استخدام بطاقة الائتمان.
- يجب تصنيف إحدى النسخ على أنّها
OFFER_CATEGORY_BASE_OFFER
مع تضمين تفاصيلPaymentInstrument
. يجب ضبطValidityPeriod
على "استبعاد" ساعات الغداء خلال أيام الأسبوع عندما يكون عرض الغداء بخصم% 10 نشطًا - يجب وضع علامة
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
على إحدى النسخ مع تضمين تفاصيلPaymentInstrument
.
- يجب تصنيف إحدى النسخ على أنّها
- يجب تصنيف جميع عروض الدفع الأخرى لهذا المطعم على أنّها
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
.
- يجب ضبط قيمة
عملية التطوير والإطلاق
خلال عملية الدمج، ستتمكّن من الاستفادة من بوابة الشريك للحصول على معلومات وملاحظات استنادًا إلى عملية التطوير. ستتّبع عملية التطوير الخطوات التالية:
- سيتم تطوير عملية الدمج أولاً في بيئة Sandbox. يجب استخدام نسخة من بيانات الإنتاج (أو حتى بيانات الإنتاج مباشرةً) في بيئة Google Sandbox. يساعد ذلك في ضمان أن يكتشف التطوير جميع الحالات الحدّية، ويتيح لمحرك بحث Google تقييم جودة البيانات وتقديم مساعدة أفضل لك استنادًا إلى نموذج البيانات.
- بعد إكمال عملية التحميل اليومي لخلاصات Merchant وServices وDeals بشكل منتظم في بيئة Google التجريبية، سيقيّم فريق Google خلاصاتك. بعد أن يوافق فريق Google، يمكنك نقل الرمز إلى مرحلة الإنتاج والبدء في إرسال بيانات الإنتاج إلى بيئة الإنتاج في Google.
- بعد أن تختبر عملية الدمج في بيئة التشغيل الفعلية بشكل كامل، سيجري فريق Google اختبارًا أيضًا. بعد اكتمال جميع الاختبارات، سيتم إطلاق عملية الدمج.
التتبّع
لضمان تقديم تجربة جيّدة للمستخدمين، ستتحقّق Google من أنّ العروض المقدَّمة صالحة وصحيحة وتستوفي معايير سياساتنا قبل الإطلاق وبعده. ولإجراء ذلك، ستستخدم Google مزيجًا من المراجعة اليدوية والمبرمَجة. يمكن الاطّلاع على نتيجة هذه المراجعات في لوحة بيانات العروض في "مركز الإجراءات" (في الإصدار العلني فقط). وقد يتم استخدام نتيجة هذه المراقبة للتأثير في ترتيب العروض.
عمليات التحقّق المبرمَجة (برامج الزحف)
يتولّى فريق الجودة في Google تنفيذ برامج الزحف. برامج الزحف هي نصوص برمجية تعمل على برمجة متصفّح ويب لتنفيذ بعض النقرات واستخراج معلومات العروض، لأغراض اختبار الجودة فقط.
عدد طلبات البحث
على سبيل المثال، إذا قرّرنا إرسال 5,000 عملية تحقّق في اليوم، يعني ذلك أنّ 5,000 مرة في اليوم (يتم توزيعها بالتساوي على مدار اليوم، أي مرة واحدة كل 17 ثانية تقريبًا)، سيقوم الزاحف بتنفيذ جميع الإجراءات التالية التي ينفّذها المستخدم العادي:
- ابدأ من "بحث Google"، وانقر على رابط الشريك.
- ابحث عن معلومات العرض.
- إذا كان العرض يتطلّب حجزًا، سيتم الانتقال إلى مسار الحجز للتأكّد من توفّر العرض في الوقت المحدّد (ولن يتم إجراء أي حجز).
رصد برامج استخراج البيانات من الويب
لضمان عدم حظر برنامج الزحف على الويب (ما قد يؤدي إلى استنتاج أن العروض غير متوفرة)، تأكَّد من أنّ نظامك يسمح لبرنامج الزحف على الويب بالبحث في صفحتك في جميع الأوقات. لتحديد برنامج الزحف الخاص بنا:
- سيحتوي وكيل المستخدم لبرنامج استخراج البيانات من الويب على السلسلة "Google-Offers":
- مثال: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
- يمكنك أيضًا التحقّق مما إذا كانت المكالمات واردة من Google باستخدام نظام أسماء النطاقات العكسي كما هو مقترَح في مقالة "التأكّد من أنّ مصدر طلبات الزحف هو Googlebot وبرامج زحف أخرى من Google".
في حالتنا المحدّدة، يتّبع التحويل العكسي لنظام أسماء النطاقات النمط التالي:
google-proxy-***-***-***-***.google.com
.
السلوك التقني
التخزين المؤقت
بهدف تقليل الحمل على الموقع الإلكتروني الخاص بالشريك، يتم عادةً ضبط برامج الزحف لدينا على مراعاة جميع عناوين التخزين المؤقت العادية لبروتوكول HTTP المتوفّرة في الاستجابة. وهذا يعني أنّنا نتجنّب جلب المحتوى الذي يتغير نادرًا (مثل مكتبات JavaScript) بشكل متكرر للمواقع الإلكترونية التي تم إعدادها بشكل صحيح. للحصول على مزيد من التفاصيل حول كيفية تنفيذ التخزين المؤقت، يمكنك الاطّلاع على مستندات التخزين المؤقت عبر HTTP.