دمج خلاصة العروض

العروض

يتيح لك دمج العروض الترويجية نقل معلومات منظَّمة حول العروض الترويجية التي يقدّمها التجّار والخصومات المطبَّقة على خدمات معيّنة في أوقات معيّنة. تتألف العروض من العرض الفعلي (خصم بنسبة مئوية أو مبلغ محدد أو غير ذلك)، وفترات الصلاحية (أوقات محددة أو أيام الأسبوع أو غير ذلك)، والاستخدامات السارية (لا يمكن استخدام العرض إلا في خدمات معيّنة)، بالإضافة إلى مجموعات معقّدة من القيود.

أمثلة على العروض:

  • خصم 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قيمة منطقية

إذا كانت القيمة صحيحة، ينطبق هذا العرض على جميع الكيانات التابعة لخدمة التجميع. ينطبق ذلك على العروض الترويجية الخاصة بالإضافات فقط.
offer_sourceenum
(OfferSource)

مطلوب

يمكن أن يقدّم المجمّع أو تاجر فردي أو حتى جهة خارجية العرض كإضافة. الحقل مطلوب.
action_typeenum
(ActionType)

مطلوب

الخدمة التي تقدّم العرض يمكن أن ينتمي offer_id إلى action_type واحد فقط. إذا كان يمكن مشاركة عرض ترويجي على مستوى أنواع خدمات متعددة، من المتوقّع إنشاء عروض ترويجية مكرّرة بمعرّفات فريدة لكل نوع خدمة. الحقل مطلوب.
offer_modesمصفوفة من التعداد
(OfferMode)

مطلوب

طُرق الاستفادة من العرض، مثل الحضور بدون حجز أو الحجز أو الاستفادة من العرض على الإنترنت وما إلى ذلك. هذه السمة مطلوبة.
offer_categoryenum
(OfferCategory)

مطلوب

تمثّل هذه السمة فئة العرض. الحقل مطلوب.
source_assigned_priorityالرقم

عدد صحيح غير سالب ([1-100]، حيث يمثّل الرقم 1 الأولوية القصوى) يشير إلى مستوى أولوية العرض الذي حدّده المصدر. عندما تتوفّر عروض متعدّدة للتاجر نفسه، ستكون هذه إشارة لترتيب العروض. تشير القيمة 0 إلى أنّه لم يتم ضبط الأولوية.
offer_detailsالكائن
(OfferDetails)

مطلوب

تفاصيل العرض، مثل الخصم وتكلفة الحجز وما إلى ذلك. مطلوب.
offer_restrictionsالكائن
(OfferRestrictions)

مطلوب

توضّح هذه السمة كيفية تقييد العرض، أي ما إذا كان الاشتراك أو وسيلة الدفع مطلوبَين، وما إذا كان يمكن الجمع بين هذا العرض وعروض أخرى (وما هي الأنواع)، وما إلى ذلك. هذه السمة مطلوبة.
couponالكائن
(Coupon)

تعرض هذه السمة تفاصيل قسيمة. مطلوب لفئة العرض: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentالكائن
(PaymentInstrument)

تعرض هذه السمة تفاصيل وسيلة الدفع. مطلوب لقيمة offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
subscriptionالكائن
(Subscription)

تعرض هذه السمة تفاصيل الاشتراك. مطلوبة لقيمة offer_category: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.
termsالكائن
(Terms)

مطلوب

تمثّل هذه السمة أحكام العرض الترويجي وشروطه. الحقل مطلوب.
validity_periodsمصفوفة من العناصر
(ValidityPeriod)

مطلوب

تمثّل هذه السمة مدة صلاحية العرض. يصف هذا النوع الفترة الزمنية التي يكون العرض ساريًا خلالها، بما في ذلك أوقات البدء والانتهاء وأيام الأسبوع وما إلى ذلك. هذا النوع مطلوب.
offer_urlسلسلة

عنوان URL لصفحة العرض الترويجي الخاصة بالتاجر مطلوبة لقيمة offer_category: OFFER_CATEGORY_BASE_OFFER.
tagsمصفوفة من التعداد
(OfferTag)

علامات خاصة مرتبطة بالعرض يُستخدم هذا الحقل لتحديد العروض الخاصة، مثل "موسم الأعياد" و"الأكثر تقييمًا" و"الأكثر حجزًا" وما إلى ذلك.
brand_idسلسلة

مطلوب لعروض بطاقات الهدايا لتحديد العلامة التجارية التي تقدّم العرض.
availability_levelenum
(AvailabilityLevel)

تمثّل هذه السمة مستوى توفّر العرض.

OfferDetails

اسم الحقلالنوعالمتطلباتالوصف
offer_display_textسلسلة

مطلوب

نص العرض الذي يريد مقدّم العرض الترويجي عرضه للعملاء على صفحة نتائج البحث يُرجى العِلم أنّ هذا الوصف قد لا يكون مطابقًا لما يظهر للمستخدمين، وقد نستخدم بيانات وصفية أخرى لإعادة كتابته أو صياغته. الحقل مطلوب.
oneOf
(offer_specification)

مطلوب

يمكن ضبط حقل واحد فقط من الحقول في هذا oneOf.
max_discount_valueالكائن
(Money)

الحد الأقصى للخصم الذي يمكن الاستفادة منه على سبيل المثال، خصم% 10 يصل إلى 100 ريال سعودي.
min_spend_valueالكائن
(Money)

تمثّل هذه السمة الحدّ الأدنى لقيمة الإنفاق للاستفادة من الخصم. على سبيل المثال، خصم ‎10% عندما يكون السعر الإجمالي 100 دولار أمريكي أو أكثر.
booking_costالكائن
(Money)

تمثّل هذه السمة تكلفة حجز هذا العرض. على سبيل المثال، خصم 100 دولار أمريكي من الفاتورة النهائية عند حجز طاولة مقابل 15 دولارًا أمريكيًا.
booking_cost_unitenum
(FeeUnit)

تمثّل هذه السمة وحدة تكلفة الحجز. على سبيل المثال، لكل شخص ولكل معاملة.
convenience_feeالكائن
(Fee)

booking_cost_adjustableقيمة منطقية

تُستخدَم لتحديد ما إذا كانت تكلفة الحجز قابلة للتعديل، أي ما إذا كانت تكلفة الحجز سيتم طرحها من الفاتورة النهائية. على سبيل المثال: خصم% 30 على العشاء مع الحجز تبلغ تكلفة الحجز 15 دولارًا أمريكيًا، وسيتم تطبيقها على الفاتورة النهائية. وبالتالي، الفاتورة النهائية: إجمالي المبلغ الذي تم إنفاقه - %30 - 15 دولارًا أمريكيًا
additional_feesمصفوفة من العناصر
(AdditionalFee)

الرسوم الإضافية التي يتم تحصيلها من المستخدم أمثلة: الراحة والمناولة والتسليم والتعبئة ورسوم الخدمة وما إلى ذلك
offer_discount_typeenum
(OfferDiscountType)

تمثّل هذه السمة نوع الخصم.
gift_card_infoالكائن
(GiftCardInfo)

تفاصيل خاصة بصفقات بطاقات الهدايا

المال

تمثّل هذه السمة مبلغًا من المال مع نوع العملة.

اسم الحقلالنوعالمتطلباتالوصف
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.

رسوم

اسم الحقلالنوعالمتطلباتالوصف
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

يمكن ضبط حقل واحد فقط من الحقول في هذا oneOf.

MoneyRange

اسم الحقلالنوعالمتطلباتالوصف
min_amountالكائن
(Money)

max_amountالكائن
(Money)

AdditionalFee

اسم الحقلالنوعالمتطلباتالوصف
nameسلسلة

مطلوب

اسم الرسوم الإضافية أمثلة: رسم خدمة إضافي، رسم مناولة، وما إلى ذلك هذا الحقل إلزامي.
feeالكائن
(Fee)

GiftCardInfo

اسم الحقلالنوعالمتطلباتالوصف
oneOf
(denomination_type)

يمكن ضبط حقل واحد فقط من الحقول في هذا oneOf.

FixedDenominations

اسم الحقلالنوعالمتطلباتالوصف
amountsمصفوفة من العناصر
(Money)

قائمة بجميع الفئات المنفصلة المتاحة (مثل [100, 500, 1000]).

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الكائن
(FoodOfferRestrictions)

قيود خاصة بعروض الطعام
max_redemption_countالرقم

قيود خاصة بعدد المرات التي يمكن فيها استخدام هذا العرض تشير القيمة 0 إلى عدم وجود حدود. على سبيل المثال، تعني القيمة 3 أنّه يمكن للمستخدم الاستفادة من هذا العرض الترويجي 3 مرات.
max_total_discount_valueالكائن
(Money)

تمثّل هذه السمة الحد الأقصى للخصم الذي يمكن الاستفادة منه في عدّة معاملات ضمن هذا العرض.
special_conditionsمصفوفة من السلاسل

تمثّل هذه السمة الشروط الخاصة لهذا العرض التي يجب عرضها للمستخدم. أمثلة: "صالحة للدفع في [المنطقة] فقط"، "لا تشمل الدفعات على الإنترنت"، "يمكن استخدام قسيمة الهدايا خلال فترة التخفيضات".

OfferCondition

اسم الحقلالنوعالمتطلباتالوصف
descriptionسلسلة

FoodOfferRestrictions

اسم الحقلالنوعالمتطلباتالوصف
meal_typesمصفوفة من التعداد
(MealType)

أنواع الوجبات التي يمكن تطبيق العرض عليها، مثل الغداء أو العشاء في حال عدم ضبطها، يمكن تطبيق العرض على جميع أنواع الوجبات.
restricted_to_certain_coursesقيمة منطقية

تُستخدَم لتحديد ما إذا كان يمكن تطبيق العرض على دورات تدريبية معيّنة فقط.

القسيمة

اسم الحقلالنوعالمتطلباتالوصف
textسلسلة

تمثّل هذه السمة نص القسيمة الذي يريد مقدّم العرض الترويجي عرضه للمستخدمين.
codeسلسلة

مطلوب

يجب إدخال رمز القسيمة للاستفادة من العرض. الحقل مطلوب.

PaymentInstrument

اسم الحقلالنوعالمتطلباتالوصف
itemsمصفوفة من العناصر
(PaymentInstrumentItem)

مطلوب

قائمة أدوات الدفع التي يمكن استخدامها للاستفادة من العرض الحقل مطلوب.
provider_nameسلسلة

تمثّل هذه السمة اسم مقدّم وسيلة الدفع. يمكن أن يكون شريكًا مصرفيًا أو اسم مصرف أو غير ذلك، مثل American Express وHDFC وICICI.

PaymentInstrumentItem

اسم الحقلالنوعالمتطلباتالوصف
typeenum
(PaymentInstrumentType)

مطلوب

نوع وسيلة الدفع. الحقل مطلوب.
nameسلسلة

مطلوب

اسم وسيلة الدفع، مثل اسم بطاقة الائتمان. على سبيل المثال: HDFC Infinia وAmerican Express Platinum. الحقل مطلوب.

تاريخ التوفّر للمشتركين

اسم الحقلالنوعالمتطلباتالوصف
nameسلسلة

مطلوب

تمثّل هذه السمة اسم الاشتراك. الحقل مطلوب.
subscription_auto_addedقيمة منطقية

ما إذا كان الاشتراك يُضاف تلقائيًا عندما يستفيد المستخدم من هذا العرض
costالكائن
(Money)

مطلوب

تكلفة الاشتراك الحقل مطلوب.
subscription_durationالكائن
(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الكائن
(ValidityRange)

الطابع الزمني للبدء والانتهاء الذي يكون العرض ساريًا خلاله يجب أن تمثّل هذه الأوقات أيامًا مختلفة، أي يجب أن يكون وقت البدء هو 00:00 (بداية اليوم) ووقت الانتهاء هو 00:00 (باستثناء) في اليوم الذي تنتهي فيه فترة الصلاحية.
time_of_dayمصفوفة من العناصر
(TimeOfDayWindow)

تحدّد هذه السمة الفترة الزمنية الصالحة في يوم معيّن والأيام التي يتوفّر فيها العرض. بالنسبة إلى الأُطر الزمنية التي تتجاوز منتصف الليل (مثلاً، من الساعة 10 مساءً إلى الساعة 2 صباحًا)، استخدِم نوافذ منفصلة لكل يوم: واحدة تنتهي في الساعة 11:59:59 مساءً وأخرى تبدأ في الساعة 12:00 صباحًا في اليوم التالي. على سبيل المثال: الاثنين: من الساعة 10 صباحًا إلى الساعة 5 مساءً الثلاثاء: من الساعة 10 صباحًا إلى الساعة 2 ظهرًا الثلاثاء: من الساعة 5 مساءً إلى الساعة 7 مساءً الأربعاء والخميس والجمعة والسبت والأحد: من الساعة 3 مساءً إلى الساعة 7 مساءً إذا لم يتم ضبط أي وقت، يعني ذلك أنّ العرض الترويجي متاح في كل الأوقات ضمن valid_period.
time_exceptionsمصفوفة من العناصر
(ValidTimeException)

تحدّد هذه السمة الاستثناءات من السمتَين valid_period وvalid_time_of_week أعلاه
date_exceptionsمصفوفة من العناصر
(Date)

تحدّد هذه السمة الاستثناءات بالأيام من السمتَين valid_period وtime_of_day أعلاه.
validity_scopeenum
(ValidityScope)

تحدّد هذه السمة نطاق فترة الصلاحية.
validity_duration_in_daysالرقم

تمثّل هذه السمة مدة صلاحية القسيمة (بالأيام) بعد شرائها.

ValidityRange

نطاق طوابع زمنية مغلق ومفتوح

اسم الحقلالنوعالمتطلباتالوصف
valid_from_timeالكائن
(Timestamp)

مطلوب

تمثّل هذه السمة وقت بدء النطاق (شامل). الحقل مطلوب.
valid_through_timeالكائن
(Timestamp)

تمثّل هذه السمة وقت انتهاء النطاق (غير مشمول). في حال عدم ضبطها، يعني ذلك أنّ هذه الفترة لا تنتهي أبدًا. اختيارية:

الطابع الزمني

اسم الحقلالنوعالمتطلباتالوصف
secondsالرقم

تمثّل هذه السمة عدد ثواني التوقيت العالمي المنسق (UTC) المنقضية منذ بداية حقبة يونكس 1970-01-01T00:00:00Z. يجب أن تتراوح القيمة بين -62135596800 و253402300799، بما في ذلك طرفي النطاق (وهو ما يتوافق مع النطاق الزمني من 0001-01-01T00:00:00Z إلى 9999-12-31T23:59:59Z).
nanosالرقم

تشير هذه السمة إلى أجزاء الثانية غير السالبة بدقة النانو ثانية هذا الحقل هو جزء من المدة بوحدة النانو ثانية، وليس بديلاً عن الثواني. يجب أن تتضمّن قيم الثواني السالبة مع الكسور قيمًا غير سالبة للنانو ثانية تحتسب الوقت إلى الأمام. يجب أن تتراوح القيمة بين 0 و999,999,999، بما في ذلك طرفي النطاق.

TimeOfDayWindow

عنصر TimeWindow هو كيان مركّب يصف قائمة بالنوافذ التي يمكن فيها إما تقديم طلب المستخدم أو تنفيذه.

اسم الحقلالنوعالمتطلباتالوصف
time_windowsالكائن
(TimeOfDayRange)

مطلوب

الفترة الزمنية التي يمكن فيها تقديم الطلب أو تنفيذه الحقل مطلوب.
day_of_weekمصفوفة من التعداد
(DayOfWeek)

قائمة الأيام في الأسبوع التي يتم تطبيق الفترات الزمنية فيها في حال عدم ضبط أي أيام، يعني ذلك أنّها تنطبق على جميع أيام الأسبوع. اختيارية:
day_of_monthمصفوفة من العناصر
(DayOfMonthRange)

تمثّل هذه السمة الأيام في الشهر التي يتم فيها تطبيق فترات الحظر. في حال عدم ضبط أي أيام، يعني ذلك أنّها تنطبق على جميع أيام الشهر. اختيارية:

TimeOfDayRange

نطاق زمني مغلق ومفتوح

اسم الحقلالنوعالمتطلباتالوصف
open_timeالكائن
(TimeOfDay)

وقت يشير إلى وقت بداية اليوم من النطاق (شامل). إذا لم يتم ضبطها، يعني ذلك 00:00:00. اختيارية:
close_timeالكائن
(TimeOfDay)

وقت يشير إلى وقت انتهاء اليوم من النطاق (حصري). في حال عدم ضبط القيمة، يعني ذلك 23:59:59. اختيارية:

TimeOfDay

اسم الحقلالنوعالمتطلباتالوصف
hoursالرقم

ساعات اليوم بتنسيق 24 ساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 23 عادةً. يمكن لواجهة برمجة التطبيقات أن تسمح بالقيمة "24:00:00" في سيناريوهات مثل وقت إغلاق النشاط التجاري.
minutesالرقم

دقائق الساعة يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 59.
secondsالرقم

ثواني الدقيقة يجب أن تكون القيمة أكبر من أو تساوي 0، ويجب عادةً أن تكون أقل من أو تساوي 59. قد يسمح أحد واجهات برمجة التطبيقات بالقيمة 60 إذا كان يسمح بالثواني الكبيسة.
nanosالرقم

أجزاء من الثانية، بالنانو ثانية يجب أن تكون القيمة أكبر من أو تساوي 0 وأقل من أو تساوي 999,999,999.

DayOfMonthRange

نطاق من أيام الشهر ينطبق على جميع أشهر السنة

اسم الحقلالنوعالمتطلباتالوصف
valid_from_dayالرقم

مطلوب

تمثّل هذه السمة يوم بداية النطاق (شامل). الحقل مطلوب.
valid_through_dayالرقم

يمثّل هذا الحقل آخر يوم في النطاق (شامل). في حال عدم ضبط هذه السمة، يعني ذلك أنّ هذا النطاق يمثّل يومًا واحدًا (valid_from_day). اختيارية:

ValidTimeException

اسم الحقلالنوعالمتطلباتالوصف
exceptional_periodالكائن
(ValidityRange)

الطابع الزمني للبدء والانتهاء الذي لا يكون العرض صالحًا خلاله يجب أن تمثّل هذه الأوقات أيامًا مختلفة، أي يجب أن يكون وقت البدء هو 00:00 (بداية اليوم) ووقت الانتهاء هو 00:00 (باستثناء) في اليوم الذي تنتهي فيه فترة الاستثناء.

التاريخ

اسم الحقلالنوعالمتطلباتالوصف
yearالرقم

تمثّل هذه السمة العام الذي يقع فيه التاريخ. يجب أن تتراوح القيمة بين 1 و9999، أو بين 0 لتحديد تاريخ بدون سنة.
monthالرقم

شهر من السنة يجب أن يكون رقمًا يتراوح بين 1 و12، أو 0 لتحديد سنة بدون شهر ويوم.
dayالرقم

اليوم من الشهر يجب أن يكون الرقم بين 1 و31 وصالحًا للسنة والشهر، أو 0 لتحديد سنة فقط أو سنة وشهر بدون تحديد اليوم.

OfferSource

الاسمالوصف
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

تمثّل هذه السمة طريقة الاستفادة من العرض. إذا كان يمكن مشاركة عرض على مستوى أوضاع تنفيذ متعدّدة، من المتوقّع إنشاء عروض مكرّرة لكل وضع تنفيذ.

الاسمالوصف
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_FOOD_DELIVERYيسري العرض على خدمات توصيل الطعام.
ACTION_TYPE_FOOD_TAKEOUTيسري العرض على طلبات استلام الطعام أو أخذه معك.
ACTION_TYPE_DININGالعرض مخصّص لتناول الطعام في مطعم ضمن الفندق.
ACTION_TYPE_SHOPPING_IN_STOREيسري العرض على عمليات الشراء في المتاجر.

OfferMode

تحدّد هذه السمة الطريقة أو القناة التي يمكن للمستخدم الاستفادة من العرض الترويجي من خلالها.

الاسمالوصف
OFFER_MODE_OTHERيُستخدَم لطرق التنفيذ التي لا تغطيها الأوضاع المحدّدة الأخرى.
OFFER_MODE_WALK_INيتوفّر العرض للزيارات في الموقع بدون حجز مسبق.
OFFER_MODE_FREE_RESERVATIONينطبق العرض الترويجي عندما يجري المستخدم حجزًا لا يتطلّب دفع رسوم مقدّمًا.
OFFER_MODE_PAID_RESERVATIONينطبق العرض الترويجي عندما يجري المستخدم حجزًا يتطلّب دفع مبلغ مقدّم.
OFFER_MODE_ONLINE_ORDERيسري العرض على الطلبات المقدَّمة من خلال موقع إلكتروني أو منصة رقمية.
OFFER_MODE_GIFT_CARD_PURCHASEتشير إلى أنّ شراء بطاقة هدايا هو الخطوة الأساسية المطلوبة للاستفادة من الصفقة.

OfferCategory

فئة العرض العرض الأساسي هو عرض عادي متاح لجميع العملاء، مثل خصم بنسبة% 10 على الإنفاق الذي يزيد عن 100 ريال سعودي. سيتم ضبط الحقول ذات الصلة في العرض الأساسي الذي يتم تقييده بقسيمة أو وسيلة دفع. لدينا أيضًا عروض إضافية، مثل ADD_ON_PAYMENT_OFFER. ويمكن إضافة هذه العروض إلى عروض أخرى للحصول على خصومات إضافية.

الاسمالوصف
OFFER_CATEGORY_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
OFFER_CATEGORY_BASE_OFFER
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER
OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER

FeeUnit

الاسمالوصف
FEE_UNIT_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

الاسمالوصف
FEE_TYPE_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

OfferDiscountType

الاسمالوصف
OFFER_DISCOUNT_TYPE_UNSPECIFIED
OFFER_DISCOUNT_TYPE_INSTANT_DISCOUNT
OFFER_DISCOUNT_TYPE_CASHBACK
OFFER_DISCOUNT_TYPE_REWARD_POINT

MealType

الاسمالوصف
MEAL_TYPE_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

الاسمالوصف
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET
PAYMENT_INSTRUMENT_NETBANKING

DayOfWeek

تمثّل هذه السمة يومًا من أيام الأسبوع.

الاسمالوصف
DAY_OF_WEEK_UNSPECIFIEDلم يتم تحديد يوم الأسبوع.
MONDAYالاثنين
TUESDAYالثلاثاء
WEDNESDAYالأربعاء
THURSDAYالخميس
FRIDAYالجمعة
SATURDAYالسبت
SUNDAYالأحد

ValidityScope

نطاق مدة الصلاحية، أي الإجراءات التي تنطبق عليها مدة الصلاحية هذه بالضبط

الاسمالوصف
VALIDITY_SCOPE_UNSPECIFIED
VALIDITY_SCOPE_CLAIM
VALIDITY_SCOPE_REDEEM

OfferTag

الاسمالوصف
OFFER_TAG_UNSPECIFIEDيجب عدم استخدام قيمة التعداد التلقائية أو UNSPECIFIED في الخلاصات.
OFFER_TAG_NEW_YEAR_SPECIAL
OFFER_TAG_VALENTINES_SPECIAL

AvailabilityLevel

تشير هذه السمة إلى حالة توفّر العرض أو عدم توفّره.

الاسمالوصف
AVAILABILITY_LEVEL_UNSPECIFIED
AVAILABILITY_LEVEL_LOWيشير إلى أنّ العرض الترويجي أوشك على النفاد. ويُنصح المستخدمون بتحصيل قيمتها قبل نفاد المخزون. قد نضيف الخيارَين "متوسط" و"عالي" لاحقًا.

offer_specification

يمكن أن يكون الخصم نسبة مئوية أو قيمة ثابتة يتم طرحها من القيمة الإجمالية. على سبيل المثال: 1. خصم% 10 على الفاتورة النهائية 2. خصم 15 دولار أمريكي على الطلب يمكن للتجّار أيضًا تقديم خصومات مخصّصة، مثل "اشترِ قطعة واحصل على الأخرى مجانًا"، من خلال حقول المواصفات ذات الصلة. الحقل مطلوب.

اسم الحقلالنوعالمتطلباتالوصف
discount_percentالرقم

لا يمكن استخدامها مع discount_value أو other_offer_detail_text

النسبة المئوية للفاتورة التي تمّ تطبيق الخصم عليها ‫[0, 100] بالنسبة إلى عروض "1+1" أو عروض الخصم بنسبة% 50 التي تنطبق على الوجبة بأكملها (مثل بوفيه "1+1" أو خصم "1+1" على الفاتورة بأكملها أو خصم "1+1" على قائمة الطعام المحدّدة)، يمكن ضبط هذه القيمة على 50.
discount_valueالكائن
(Money)

لا يمكن استخدامها مع discount_percent أو other_offer_detail_text

القيمة الثابتة للخصم
other_offer_detail_textسلسلة

لا يمكن استخدامها مع discount_percent أو discount_value

نص بأسلوب حر لوصف الخصم. بالنسبة إلى عروض "اشترِ قطعة واحصل على قطعة إضافية" المحدّدة (مثل مشروبان بسعر مشروب واحد، أو طبق رئيسي إضافي، أو عناصر محدّدة من القائمة)، يجب توضيح هذه التفاصيل هنا.

التكلفة

اسم الحقلالنوعالمتطلباتالوصف
amountالكائن
(Money)

لا يمكن استخدامها مع amount_range

amount_rangeالكائن
(MoneyRange)

لا يمكن استخدامها مع amount

denomination_type

اسم الحقلالنوعالمتطلباتالوصف
fixed_denominationsالكائن
(FixedDenominations)

لا يمكن استخدامها مع custom_range

يتم استخدامها عندما تكون بطاقة الهدايا متاحة بمبالغ ثابتة ومحدّدة.
custom_rangeالكائن
(MoneyRange)

لا يمكن استخدامها مع fixed_denominations

يُستخدَم عندما تسمح العلامة التجارية للمستخدمين باختيار قيمة اسمية مخصّصة (مرنة) ضمن نطاق محدّد.

تحميل الخلاصة

يجب تحميل خلاصة العروض إلى خادم بروتوكول النقل الآمن للملفات (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_ADD_ON_FEE_REDUCTION_OFFER (مثلاً، التسليم بدون رسوم أو رسوم مخفَّضة)

اعتبارات أخرى:

  • يجب عدم ضبط عروض التنازل عن الرسوم أو تخفيضها على مستوى المنصة كعروض أساسية (OFFER_CATEGORY_BASE_OFFER)، بل يجب ضبطها فقط كـ OFFER_CATEGORY_ADD_ON_FEE_REDUCTION_OFFER لتكمّل عرضًا أساسيًا نشطًا آخر.
  • عندما لا يضبط المطعم "العرض الأساسي"، لن يتم عرض عروض "الإضافات". في حال عدم توفّر "العرض الأساسي"، يجب تصنيف أي "عرض دفع" أو "عرض اشتراك" أو "عرض قسيمة" يمكن الاستفادة منه بدون الحاجة إلى إضافته إلى عرض آخر على أنّه OFFER_CATEGORY_BASE_OFFER.
    • يجب ضبط البيانات ذات الصلة بـ PaymentInstrument أو Subscription أو Coupon، وذلك حسب النوع.
    • على الشركاء تقديم نسختَين من كل عرض من هذه العروض لتغطية الحالات التي تعمل فيها كعروض أساسية وعروض إضافية. يمكن بعد ذلك ضبط نسخة "عرض الحزمة" لمطاعم متعدّدة باستخدام entity_ids أو add_on_offer_applicable_to_all_entities.
  • عندما يقدّم المطعم عروضًا أساسية متعددة يمكن دمجها، يجب تصنيف جميع العروض الأساسية على أنّها OFFER_CATEGORY_BASE_OFFER، ويجب إرسال العروض الأساسية التي تتضمّن عروضًا متعلقة بالدفع أو الاشتراك أو القسائم بشكل إضافي كنوع العرض الإضافي ذي الصلة.
  • يجب استخدام ValidityPeriod كعروض أساسية فقط عندما لا يكون هناك عرض أساسي نشط.
  • دمج العروض الترويجية المتطابقة حسب أداة الدفع: إذا كانت أدوات دفع متعددة تتشارك قيمة الخصم نفسها تمامًا (على سبيل المثال، بطاقة الائتمان وبطاقة السحب الآلي وخدمة Net Banking تقدّم جميعها خصمًا بنسبة% 5)، يجب تجميعها ضمن عنصر Offer مدمج واحد بدلاً من إرسال عروض ترويجية مكرّرة منفصلة. لإجراء ذلك، املأ قائمة payment_instrument.items بجميع وسائل الدفع السارية. يقلّل ذلك من الازدحام في تصميم واجهة Google ويمنع حدوث انخفاضات محتملة في الترتيب بسبب القيود المفرطة على المحتوى المكرّر.

أمثلة على السيناريوهات:

  • يقدّم مطعم خصمًا بنسبة% 5 عند الدفع باستخدام بطاقة ائتمان معيّنة ومشروبًا مجانيًا عند استخدام رمز قسيمة معيّن.

    • يجب إرسال نسختَين من عرض بطاقة الائتمان الذي يقدّم خصمًا بنسبة% 5، إحداهما تحمل العلامة OFFER_CATEGORY_BASE_OFFER والأخرى تحمل العلامة OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER مع تضمين تفاصيل PaymentInstrument.
    • يجب إرسال عرض المشروب المجاني مع رمز القسيمة على النحو التالي: OFFER_CATEGORY_ADD_ON_COUPON_OFFER مع تضمين تفاصيل Coupon.
  • يقدّم مطعم خصمًا بنسبة% 10 للزبائن الذين يحضرون بدون حجز، وخصمًا بنسبة% 5 عند الدفع باستخدام بطاقة ائتمان معيّنة، ويمكن الجمع بين الخصمين.

    • يجب وضع علامة OFFER_CATEGORY_BASE_OFFER على العرض الترويجي الذي يقدّم خصمًا بنسبة% 10 عند الحجز مباشرةً.
    • يجب أن يتضمّن عرض الخصم% 5 عند استخدام بطاقة الائتمان نسختَين، إحداهما تحمل العلامة OFFER_CATEGORY_BASE_OFFER والأخرى تحمل العلامة OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
  • يقدّم مطعم خصمًا بنسبة% 10 على وجبة الغداء فقط خلال أيام الأسبوع، وخصمًا بنسبة% 5 في أي وقت عند الدفع باستخدام بطاقة ائتمان معيّنة.

    • يجب أن يكون عرض الخصم بنسبة% 10 ValidityPeriod مضبوطًا على الظهور خلال ساعات الغداء في المطعم خلال أيام الأسبوع فقط.
    • يجب إرسال نسختَين من عرض بطاقة الائتمان الذي يقدّم خصمًا بنسبة% 5.
      • يجب وضع علامة OFFER_CATEGORY_BASE_OFFER على إحدى النسخ مع تضمين تفاصيل PaymentInstrument. يجب ضبط ValidityPeriod على استبعاد ساعات الغداء خلال أيام الأسبوع عندما يكون عرض الغداء الذي يقدّم خصمًا بنسبة% 10 مفعّلاً.
      • يجب وضع علامة OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER على إحدى النسخ مع تضمين تفاصيل PaymentInstrument.
    • يجب وضع العلامة OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER على جميع عروض الدفع الأخرى لهذا المطعم.

عملية التطوير والإطلاق

خلال عملية الدمج، ستتمكّن من الاستفادة من بوابة الشريك للحصول على المعلومات والملاحظات استنادًا إلى عملية التطوير. ستتّبع عملية التطوير الخطوات التالية:

  • سيتم تطوير عملية الدمج أولاً في بيئة وضع الحماية. يجب استخدام نسخة من بيانات الإنتاج (أو حتى بيانات الإنتاج مباشرةً) في بيئة Google Sandbox. يساعد ذلك في ضمان أن يكتشف التطوير جميع الحالات الحدّية، ويتيح لمحرك بحث Google تقييم جودة البيانات وتقديم مساعدة أفضل لك استنادًا إلى نموذج البيانات.
  • بعد اكتمال عملية التحميل اليومي لخلاصات Merchant وServices وDeals بشكل منتظم في بيئة Google التجريبية، سيقيّم فريق Google خلاصاتك. بعد أن يوافق فريق Google، يمكنك نقل الرمز إلى مرحلة الإنتاج وبدء إرسال بيانات الإنتاج إلى بيئة الإنتاج في Google.
  • بعد أن تختبر عملية الدمج في بيئة الإنتاج بشكل كامل، سيجري فريق Google اختبارًا أيضًا. بعد اكتمال جميع الاختبارات، سيتم إطلاق عملية الدمج.

المراقبة

لضمان تقديم تجربة جيّدة للمستخدمين، ستتحقّق Google من أنّ العروض المقدَّمة صالحة وصحيحة وتستوفي معايير سياستنا قبل الإطلاق وبعده. ولإجراء ذلك، ستستخدم Google مزيجًا من المراجعة اليدوية والمبرمَجة. يمكن الاطّلاع على نتائج هذه المراجعات في لوحة بيانات العروض في "مركز الإجراءات" (في الإصدار العلني فقط). وقد يتم استخدام نتيجة هذا الرصد للتأثير في ترتيب العروض.

تأكَّد من أنّ تحميل الصفحة بالكامل مع العروض يستغرق أقل من 5 ثوانٍ، وإلا سيتم اعتبار ذلك تعذُّرًا وسيتم وضع علامة Bad link عليها.

عمليات التحقّق المبرمَجة (برامج الزحف)

ينفّذ فريق الجودة في 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". في حالتنا المحدّدة، يتّبع التحويل العكسي لنظام أسماء النطاقات (DNS) النمط التالي: google-proxy-***-***-***-***.google.com.

السلوك الفني

التخزين المؤقت

بهدف تقليل الحِمل على الموقع الإلكتروني الشريك، يتم عادةً ضبط برامج الزحف لدينا على مراعاة جميع عناوين التخزين المؤقت العادية لبروتوكول HTTP المتوفّرة في الاستجابة. وهذا يعني أنّنا نتجنّب جلب المحتوى الذي يتغيّر نادرًا (مثل مكتبات JavaScript) بشكل متكرّر من المواقع الإلكترونية التي تم إعدادها بشكل صحيح. لمزيد من التفاصيل حول كيفية تنفيذ التخزين المؤقت، يُرجى الاطّلاع على مستندات التخزين المؤقت عبر HTTP.