מציע שילוב פידים

מבצעים

שילוב המבצעים מאפשר לכם להעביר מידע מובנה על מבצעים והנחות של מוכרים שחלים על שירותים ספציפיים בזמנים ספציפיים. מבצעים מורכבים מהמבצע עצמו (הנחה באחוזים, הנחה בדולרים וכו'), חלונות תוקף (שעות ספציפיות, ימים בשבוע וכו') ושימושים רלוונטיים (אפשר להשתמש במבצע רק בשירותים מסוימים), וגם משילובים מורכבים של הגבלות.

דוגמאות לשוברי פרסום:

  • ‫50% הנחה על מנות ראשונות בימי רביעי וחמישי בדצמבר, מ-12:00 עד 17:00
  • קונים קינוח אחד ומקבלים קינוח נוסף בחינם בארוחת ערב ליום האם בין השעות 18:00 ל-22:00
  • הנחה של 5$ על מנה ראשונה של בראנץ' בכל יום ראשון מ-10:00 עד 14:00
  • הנחה של 10% למשתמשים שנכנסים לחנות ללא הזמנה מראש, בשילוב עם הנחה של 5% למנויי פרימיום והנחה של 5% אם המשתמש משלם דרך האפליקציה שלכם.

כדי שמבצע ייכלל בשילוב, הוא צריך להתאים למודל הנתונים הטכני ולעמוד בדרישות הסף שלנו. חשוב לעיין במדיניות שלנו בנושא מבצעים כדי לוודא שהשילוב עומד בדרישות, ולקבל הוראות לגבי פעולות שצריך לבצע במבצעים שלא עומדים בדרישות הטכניות.

מציע הטמעה

השילוב של המבצעים כולל שני פידים שיועלו מדי יום או בתדירות שתבטיח רמת דיוק גבוהה (כלומר, תצמצם את הנתונים המיושנים):

OfferFeed

שם השדהסוגדרישהתיאור
dataמערך של אובייקטים
(Offer)

מבצע

שם השדהסוגדרישהתיאור
offer_idמחרוזת

חובה

המזהה הייחודי של המוצר. חובה.
entity_idsarray of string

רשימת מוֹכרים שמשתתפים במבצע הזה.
add_on_offer_applicable_to_all_entitiesבוליאני

אם הערך הוא True, המבצע חל על כל הישויות שמשויכות למצטבר. המאפיין הזה רלוונטי רק למבצעים של חבילות ערוצים.
offer_sourceenum
(OfferSource)

חובה

מבצע יכול להיות מסופק על ידי האתר המאגד, על ידי מוכר ספציפי או אפילו על ידי צד שלישי כתוספת. חובה.
action_typeenum
(ActionType)

חובה

השירות שמספק את המבצע. מזהה המבצע [offer_id] יכול להשתייך רק לסוג פעולה [action_type] אחד. אם אפשר לשתף מבצע בכמה סוגי שירותים, המערכת צפויה ליצור מבצעים כפולים עם מזהים ייחודיים לכל סוג שירות. חובה.
offer_modesמערך של enum
(OfferMode)

חובה

השיטות למימוש המבצע – הגעה למקום, הזמנה, אונליין וכו'. חובה.
offer_categoryenum
(OfferCategory)

חובה

הקטגוריה של המבצע. חובה.
source_assigned_prioritynumber

מספר שלם לא שלילי (‎[1-100]‎, כאשר 1 מייצג את העדיפות הכי גבוהה) שמציין את רמת העדיפות של המוצר שהוקצתה על ידי המקור. כשכמה מבצעים זמינים אצל אותו מוכר, זה יהיה אות לדירוג המבצעים. הערך 0 מייצג מצב שבו העדיפות לא מוגדרת.
offer_detailsאובייקט
(OfferDetails)

חובה

פרטי המבצע, כמו ההנחה, עלות ההזמנה וכו'. חובה.
offer_restrictionsאובייקט
(OfferRestrictions)

חובה

תיאור של ההגבלות על המבצע, כלומר אם נדרש מינוי או אמצעי תשלום, אם אפשר לשלב את המבצע הזה עם מבצעים אחרים (ואילו סוגים), וכו'. חובה.
couponאובייקט
(Coupon)

פרטים של שובר. חובה לכלול את המאפיין הזה אם ערך המאפיין offer_category הוא OFFER_CATEGORY_ADD_ON_COUPON_OFFER.
payment_instrumentאובייקט
(PaymentInstrument)

פרטים של אמצעי תשלום. חובה לקטגוריית המבצע: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
subscriptionאובייקט
(Subscription)

פרטים של מינוי. חובה למבצע_קטגוריה: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.
termsאובייקט
(Terms)

חובה

התנאים וההגבלות של המבצע. חובה.
validity_periodsמערך של אובייקטים
(ValidityPeriod)

חובה

תקופת התוקף של המבצע. תיאור של תקופת הזמן שבה המבצע תקף, כולל שעות התחלה וסיום, ימים בשבוע וכו'. חובה.
offer_urlמחרוזת

כתובת ה-URL לדף המבצע של המוֹכר. חובה למבצע מסוג offer_category: OFFER_CATEGORY_BASE_OFFER.
tagsמערך של enum
(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.
unitsnumber

מספר היחידות השלמות של הסכום. לדוגמה: אם הערך של currencyCode הוא "USD", המשמעות היא ש-1 יחידה = 1 דולר ארה"ב.
nanosnumber

מספר יחידות הננו (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בוליאני

האם אפשר לשלב את המבצע הזה עם מבצעים אחרים. אם הערך הוא True, השותפים יכולים לציין עם אילו מבצעים אפשר לשלב את המבצע הזה. אם הגדרתם גם את combinable_offer_categories וגם את combinable_offer_ids, כל מבצע שתואם לאחד מהתנאים שלמעלה יהיה ניתן לשילוב.
combinable_offer_categoriesמערך של enum
(OfferCategory)

רשימה של סוגי מבצעים שאפשר לשלב עם המבצע הזה. לדוגמה, יכול להיות שאפשר יהיה לשלב את המבצע הזה עם שוברים אחרים. אם הערך של combinable_with_other_offers הוא true והשדה הזה לא מוגדר, אפשר לשלב את כל סוגי המבצעים.
combinable_offer_idsarray of string

רשימה של מזהי מבצעים שאפשר לשלב עם המבצע הזה. יכול להיות שיהיה אפשר לשלב חלק מהמבצעים רק עם מזהי מבצעים ספציפיים אחרים (אפשר להתייחס אליהם כמבצעים ראשיים). אם הערך של combinable_with_other_offers הוא true והשדה הזה לא מוגדר, אפשר לשלב את כל מזהי המבצעים.
inclusionsמערך של אובייקטים
(OfferCondition)

רשימת התנאים שצריכים להתקיים כדי שהמבצע יהיה תקף (למשל, משקאות לא אלכוהוליים, אוכל).
exclusionsמערך של אובייקטים
(OfferCondition)

רשימת התנאים שבעקבותיהם המבצע לא תקף (לדוגמה, בופה, מבצעים על ארוחות משולבות וקוקטיילים).
min_guestnumber

מספר האנשים המינימלי שנדרש למימוש המבצע. הערה: השדה הזה רלוונטי רק להזמנות במסעדות, ואין להשתמש בו בענפים אחרים.
food_offer_restrictionsאובייקט
(FoodOfferRestrictions)

הגבלות שספציפיות למבצעים על מזון.
max_redemption_countnumber

הגבלות ספציפיות לגבי מספר הפעמים שאפשר להשתמש במבצע הזה. הערך 0 מציין שאין מגבלות. לדוגמה, אם הערך הוא 3, המשתמש יכול לממש את המבצע הזה 3 פעמים.
max_total_discount_valueאובייקט
(Money)

ההנחה המקסימלית שאפשר לקבל על כמה עסקאות במסגרת המבצע הזה.
special_conditionsarray of string

תנאים מיוחדים של המבצע שחובה להציג למשתמש. דוגמאות: "השובר תקף רק לתשלום ב[אזור]", "לא כולל תשלומים אונליין", "אפשר להשתמש בשובר המתנה במהלך המבצע".

OfferCondition

שם השדהסוגדרישהתיאור
descriptionמחרוזת

FoodOfferRestrictions

שם השדהסוגדרישהתיאור
meal_typesמערך של enum
(MealType)

סוגי הארוחות שאפשר להשתמש בהן במבצע, כמו ארוחת צהריים או ארוחת ערב. אם לא תציינו סוג ארוחה, המבצע יחול על כל סוגי הארוחות.
restricted_to_certain_coursesבוליאני

האם אפשר להחיל את המבצע רק על קורסים מסוימים.

שובר

שם השדהסוגדרישהתיאור
textמחרוזת

הטקסט של השובר שספק המבצע רוצה להציג למשתמשים.
codeמחרוזת

חובה

נדרש קוד שובר כדי לממש את המבצע. חובה.

PaymentInstrument

שם השדהסוגדרישהתיאור
itemsמערך של אובייקטים
(PaymentInstrumentItem)

חובה

רשימת אמצעי התשלום שבהם אפשר להשתמש כדי לממש את המבצע. חובה.
provider_nameמחרוזת

שם הספק של אמצעי התשלום. יכול להיות שותף בנקאי, שם של בנק וכו'. לדוגמה: אמריקן אקספרס,‏ HDFC,‏ ICICI.

PaymentInstrumentItem

שם השדהסוגדרישהתיאור
typeenum
(PaymentInstrumentType)

חובה

סוג אמצעי התשלום. חובה.
nameמחרוזת

חובה

שם הפריט של אמצעי התשלום, כמו שם כרטיס האשראי. לדוגמה: HDFC Infinia, ‏ אמריקן אקספרס Platinum. חובה.

יש אפשרות להירשם למינוי

שם השדהסוגדרישהתיאור
nameמחרוזת

חובה

שם המינוי. חובה.
subscription_auto_addedבוליאני

האם המינוי מתווסף אוטומטית כשמשתמש מממש את המבצע הזה
costאובייקט
(Money)

חובה

עלות המינוי. חובה.
subscription_durationאובייקט
(Duration)

חובה

משך התוקף של המינוי שמוגדר במאפיין עלות המינוי [subscription_cost]. חובה.
terms_and_conditions_urlמחרוזת

כתובת URL לתנאים ולהגבלות של השותף שרלוונטיים למינוי הזה.

משך

שם השדהסוגדרישהתיאור
secondsnumber

מספר השניות עם סימן של טווח הזמן. הערך חייב להיות בין ‎-315,576,000,000 לבין ‎+315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות/דקה * 60 דקות/שעה * 24 שעות/יום * 365.25 ימים/שנה * 10,000 שנים
nanosnumber

שבריר חתום של שנייה ברזולוציית ננו-שנייה של טווח הזמן. משכי זמן של פחות משנייה מיוצגים באמצעות שדה seconds עם הערך 0 ושדה nanos עם ערך חיובי או שלילי. אם משך הזמן הוא שנייה אחת או יותר, הערך בשדה nanos צריך להיות שונה מאפס, וסימן הערך צריך להיות זהה לסימן הערך בשדה seconds. הערך חייב להיות בין ‎-999,999,999 ל-‎+999,999,999, כולל.

תנאים

שם השדהסוגדרישהתיאור
urlמחרוזת

כתובת ה-URL של התנאים וההגבלות של השותף.
restricted_to_certain_usersבוליאני

האם המבצע מוגבל למשתמשים מסוימים.
terms_and_conditionsמחרוזת

הטקסט העיקרי של התנאים וההגבלות שסופק על ידי השותף.
additional_terms_and_conditionsarray of string

תנאים והגבלות בנוסף לתנאים ולהגבלות העיקריים של השותף.

ValidityPeriod

שם השדהסוגדרישהתיאור
valid_periodאובייקט
(ValidityRange)

חותמת הזמן של ההתחלה ושל הסיום שבהן המבצע תקף. השעות האלה צריכות לייצג ימים שונים, כלומר שעת ההתחלה צריכה להיות 00:00 (תחילת היום) ושעת הסיום צריכה להיות 00:00 (לא כולל) ביום שבו מסתיים תוקף תקופת המימוש.
time_of_dayמערך של אובייקטים
(TimeOfDayWindow)

מציינים את מרווח הזמן שבו המבצע תקף ביום מסוים ואת הימים שבהם המבצע זמין. אם טווח הזמן כולל את חצות (לדוגמה, מ-22:00 עד 02:00), צריך להשתמש בחלונות נפרדים לכל יום: אחד שמסתיים ב-23:59:59 ואחד שמתחיל ב-00:00 ביום המחרת. לדוגמה: יום שני: 10:00 עד 17:00 יום שלישי: 10:00 עד 14:00 יום שלישי: 17:00 עד 19:00 יום רביעי, חמישי, שישי, שבת, ראשון: 15:00 עד 19:00 אם לא מוגדרות שעות, המשמעות היא שהמבצע זמין בכל שעות היום במסגרת 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_daysnumber

משך הזמן (בימים) שבו השובר או הקופון תקפים, מרגע הרכישה.

ValidityRange

טווח חותמות זמן סגור-פתוח.

שם השדהסוגדרישהתיאור
valid_from_timeאובייקט
(Timestamp)

חובה

שעת ההתחלה של הטווח (כולל). חובה.
valid_through_timeאובייקט
(Timestamp)

שעת הסיום של הטווח (לא כולל). אם לא מוגדר תאריך סיום, המשמעות היא שהתקופה הזו לא מסתיימת לעולם. אופציונלי.

חותמת זמן

שם השדהסוגדרישהתיאור
secondsnumber

מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) ‏1970-01-01T00:00:00Z. הערך צריך להיות בין ‎-62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z).
nanosnumber

שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכים שליליים של שניות עם שברים עדיין צריכים לכלול ערכים חיוביים של ננו-שניות שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל.

TimeOfDayWindow

אובייקט TimeWindow הוא ישות מורכבת שמתארת רשימה של חלונות שבהם אפשר לבצע את ההזמנה של המשתמש או לספק אותה.

שם השדהסוגדרישהתיאור
time_windowsאובייקט
(TimeOfDayRange)

חובה

חלון הזמן שבו אפשר לבצע את ההזמנה או לספק אותה. חובה.
day_of_weekמערך של enum
(DayOfWeek)

רשימת הימים בשבוע שבהם חלונות הזמן מופעלים. אם לא מוגדרים ימים, המשמעות היא שהמדיניות חלה על כל הימים בשבוע. אופציונלי.
day_of_monthמערך של אובייקטים
(DayOfMonthRange)

הימים בחודש שבהם חלונות הזמן חלים. אם לא מוגדרים ימים, המשמעות היא שהמדיניות חלה על כל הימים בחודש. אופציונלי.

TimeOfDayRange

טווח זמן סגור-פתוח.

שם השדהסוגדרישהתיאור
open_timeאובייקט
(TimeOfDay)

אובייקט Time שמציין את שעת ההתחלה של היום בטווח (כולל). אם לא מגדירים את השעה, ברירת המחדל היא 00:00:00. אופציונלי.
close_timeאובייקט
(TimeOfDay)

השעה שמציינת את שעת הסיום של היום בטווח (לא כולל). אם לא מגדירים את השעה, ברירת המחדל היא 23:59:59. אופציונלי.

TimeOfDay

שם השדהסוגדרישהתיאור
hoursnumber

שעות ביום בפורמט של 24 שעות. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל קטן מ-23 או שווה לו. יכול להיות ש-API יאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירה של עסק.
minutesnumber

מספר הדקות אחרי השעה השלמה. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-59 או שווה לו.
secondsnumber

שניות בדקה. הערך חייב להיות גדול מ-0 או שווה ל-0, ובדרך כלל קטן מ-59 או שווה ל-59. יכול להיות ש-API יאפשר את הערך 60 אם הוא מאפשר שניות מעוברות.
nanosnumber

חלקיקי שניות, בננו-שניות. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-999,999,999 או שווה לו.

DayOfMonthRange

טווח של ימים בחודש שחל על כל החודשים בשנה.

שם השדהסוגדרישהתיאור
valid_from_daynumber

חובה

היום שבו מתחיל הטווח (כולל). חובה.
valid_through_daynumber

יום הסיום של הטווח (כולל). אם לא מוגדר, המשמעות היא שהטווח הזה מייצג יום אחד (valid_from_day). אופציונלי.

ValidTimeException

שם השדהסוגדרישהתיאור
exceptional_periodאובייקט
(ValidityRange)

חותמת הזמן של ההתחלה והסיום שבהן המבצע לא תקף. השעות האלה צריכות לייצג ימים שונים, כלומר שעת ההתחלה צריכה להיות 00:00 (תחילת היום) ושעת הסיום צריכה להיות 00:00 (לא כולל) ביום שבו מסתיים תקופת החריגה.

תאריך

שם השדהסוגדרישהתיאור
yearnumber

השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 כדי לציין תאריך ללא שנה.
monthnumber

החודש בשנה. הערך חייב להיות בין 1 ל-12, או 0 כדי לציין שנה בלי חודש ויום.
daynumber

יום בחודש. הערך חייב להיות בין 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 של סוג הנתונים enum בפידים.
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 של סוג הנתונים enum בפידים.
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

שםתיאור
FEE_TYPE_UNSPECIFIEDאין להשתמש בערך ברירת המחדל או בערך UNSPECIFIED של סוג הנתונים enum בפידים.
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 של סוג הנתונים enum בפידים.
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

שםתיאור
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIEDאין להשתמש בערך ברירת המחדל או בערך UNSPECIFIED של סוג הנתונים enum בפידים.
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 של סוג הנתונים enum בפידים.
OFFER_TAG_NEW_YEAR_SPECIAL
OFFER_TAG_VALENTINES_SPECIAL

AvailabilityLevel

מציין את סטטוס המלאי או הזמינות של מוצר.

שםתיאור
AVAILABILITY_LEVEL_UNSPECIFIED
AVAILABILITY_LEVEL_LOWמציין שהמבצע עומד להיגמר. מומלץ למשתמשים לממש את השובר לפני שהוא יאזל. יכול להיות שנוסיף את האפשרויות 'בינוני' ו'גבוה' בהמשך.

offer_specification

ההנחה יכולה להיות אחוז או ערך קבוע שמנוכה מהערך הכולל. לדוגמה: 1. הנחה של 10% על החשבון הסופי. 2. ‫15$ הנחה על הזמנה. מוכרים יכולים גם להציע הנחות מותאמות אישית כמו 'קונים אחד ומקבלים אחד במתנה' באמצעות שדות המפרט הרלוונטיים. חובה.

שם השדהסוגדרישהתיאור
discount_percentnumber

לא יכול להיות שיהיו גם 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

טקסט חופשי לתיאור ההנחה. אם יש מבצעים ספציפיים של 1+1 (למשל, 1+1 על משקאות, מנה עיקרית נוספת, 1+1 על פריטים נבחרים בתפריט), צריך לפרט אותם כאן.

עלות

שם השדהסוגדרישהתיאור
amountאובייקט
(Money)

לא ניתן להשתמש בו עם amount_range

amount_rangeאובייקט
(MoneyRange)

לא ניתן להשתמש בו עם amount

denomination_type

שם השדהסוגדרישהתיאור
fixed_denominationsאובייקט
(FixedDenominations)

לא ניתן להשתמש בו עם custom_range

המאפיין הזה משמש כשכרטיס המתנה זמין בסכומים ספציפיים וקבועים.
custom_rangeאובייקט
(MoneyRange)

לא ניתן להשתמש בו עם fixed_denominations

התג הזה משמש כשהמותג מאפשר למשתמשים לבחור ערך נקוב מותאם אישית (גמיש) בטווח מוגדר.

העלאת פיד

צריך להעלות את פיד המוצרים לשרת ה-SFTP של הפיד Generic. פועלים לפי ההוראות במדריך בנושא שימוש בשרת SFTP של פיד כללי ומשתמשים בערך google.offer של המאפיין name בקובץ התיאור.

תדירות ההעלאה

באופן כללי, 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.
    • השותפים צריכים לספק 2 עותקים של כל אחת מההצעות האלה כדי לכסות תרחישים שבהם הן פועלות גם כהצעות בסיסיות וגם כהצעות של חבילות ערוצים. אחרי זה אפשר להגדיר את העותק של מבצעים על מוצרים נלווים לכמה מסעדות באמצעות entity_ids או add_on_offer_applicable_to_all_entities.
  • אם למסעדה יש כמה מבצעים בסיסיים שאפשר לשלב ביניהם, צריך לתייג את כל המבצעים הבסיסיים בתור OFFER_CATEGORY_BASE_OFFER. בנוסף, צריך לשלוח מבצעים בסיסיים שקשורים לתשלום, למינוי או לשובר בתור סוג המבצע הרלוונטי של מוצר נלווה.
  • צריך להשתמש ב-ValidityPeriod כדי להפעיל מבצעים על תוספים כמבצעים בסיסיים רק אם אין מבצע בסיסי פעיל.
  • איחוד של מבצעים זהים לפי אמצעי תשלום: אם לכמה אמצעי תשלום יש בדיוק את אותו ערך הנחה (למשל, כרטיס אשראי, כרטיס חיוב מיידי ונט בנקאות, שכולם מציעים הנחה של 5%), צריך לקבץ אותם באובייקט Offer מאוחד אחד במקום לשלוח מבצעים כפולים נפרדים. כדי לעשות את זה, מאכלסים את הרשימה payment_instrument.items בכל אמצעי התשלום הרלוונטיים. כך מצטמצם העומס בפריסת הרכיבים בממשק של Google, ונמנעות ירידות פוטנציאליות בדירוג בגלל הגבלות מוגזמות של כפילויות.

תרחישים לדוגמה:

  • מסעדה מציעה 5% הנחה על תשלום בכרטיס אשראי ספציפי ומשקה חינם עם קוד שובר ספציפי

    • מבצע של 5% הנחה על כרטיס אשראי צריך להישלח כ-2 עותקים, אחד עם התג OFFER_CATEGORY_BASE_OFFER ואחד עם התג OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER, עם הפרטים של PaymentInstrument.
    • מבצע של משקה חינם עם קוד שובר צריך להישלח כ-OFFER_CATEGORY_ADD_ON_COUPON_OFFER עם הפרטים של Coupon.
  • מסעדה מציעה 10% הנחה ללקוחות מזדמנים ו-5% הנחה למשלמים בכרטיס אשראי ספציפי, ואפשר לשלב בין שתי ההנחות.

    • מבצע של 10% הנחה על רכישה בחנות צריך להיות מתויג בתור OFFER_CATEGORY_BASE_OFFER.
    • למבצע של 5% הנחה למשלמים בכרטיס אשראי צריכות להיות 2 עותקים, שאחד מהם מתויג בתור OFFER_CATEGORY_BASE_OFFER והשני מתויג בתור OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
  • מסעדה מציעה הנחה של 10% רק על ארוחת צהריים בימי חול, והנחה של 5% בכל שעה אם משלמים באמצעות כרטיס אשראי ספציפי.

    • המבצע של 10% הנחה צריך להיות מוגדר עם ValidityPeriod כדי לציין שהוא תקף רק בשעות הצהריים של המסעדה בימי חול.
    • מבצע של 5% הנחה למשלמים בכרטיס אשראי צריך להישלח כ-2 עותקים.
      • עותק אחד צריך להיות מתויג כ-OFFER_CATEGORY_BASE_OFFER עם הפרטים שכלולים ב-PaymentInstrument. ‫ValidityPeriod צריך להגדיר כך שיוחרגו שעות הצהריים בימי חול כשהמבצע של 10% הנחה על ארוחת הצהריים פעיל
      • עותק אחד צריך להיות מתויג כ-OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER עם הפרטים של PaymentInstrument.
    • כל שאר מבצעי התשלום במסעדה הזו צריכים להיות מתויגים בתג OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

תהליך הפיתוח וההשקה

במהלך השילוב, תוכלו לקבל מידע ומשוב על סמך הפיתוח שלכם בפורטל השותפים. תהליך הפיתוח יתבצע לפי השלבים הבאים:

  • השילוב יפותח קודם בסביבת ארגז החול. מומלץ להשתמש בייצוא של נתוני ייצור (או אפילו בנתוני ייצור ישירות) בסביבת ארגז החול של Google. כך תוכלו לוודא שהפיתוח שלכם יתעד את כל המקרים הקיצוניים, ו-Google תוכל להעריך את איכות הנתונים ולעזור לכם בצורה טובה יותר על סמך מודל הנתונים שלכם.
  • אחרי שתעלו באופן עקבי פיד מלא ויומי של מוצרים, שירותים ומבצעים בסביבת הארגז החול של Google, הצוות של Google יבדוק את הפידים שלכם. אחרי שצוות Google יאשר את הבקשה, תוכלו להעביר את הקוד לסביבת הייצור ולהתחיל לשלוח נתוני ייצור לסביבת הייצור של Google.
  • אחרי שתסיימו לבדוק את השילוב בסביבת הייצור, הצוות של Google יבדוק אותו גם כן. אחרי שכל הבדיקות יסתיימו, השילוב יופעל.

מעקב

כדי להבטיח חוויית משתמש טובה, Google תבדוק לפני ההשקה ואחריה שהמבצעים תקפים, נכונים ועומדים בקריטריונים של המדיניות שלנו. לשם כך, Google תשתמש בשילוב של בדיקה אנושית ואוטומטית. תוצאות הבדיקות האלה יהיו זמינות בלוח הבקרה של המוצרים במרכז הפעולות (בסביבת הייצור בלבד). יכול להיות שהתוצאה של המעקב הזה תשמש להשפעה על דירוג המוצרים.

חשוב לוודא שמשך הטעינה של הדף עם המבצעים הוא פחות מ-5 שניות. אחרת, הטעינה תיחשב כטעינה שנכשלה והדף יסומן כBad link.

בדיקות אוטומטיות (סורקים)

צוות האיכות של Google מטמיע סורקים. סורקים הם סקריפטים שמבצעים אוטומציה של דפדפן אינטרנט כדי לבצע קליקים מסוימים ולחלץ מידע על מוצרים, למטרות בדיקת איכות בלבד.

מספר השאילתות

לדוגמה, אם החלטנו לשלוח 5,000 בדיקות ביום, המשמעות היא שבמהלך היום (בחלוקה שווה, כלומר בערך אחת בכל 17 שניות), הסורק שלנו מבצע 5,000 פעמים את כל הפעולות הבאות שמשתמש רגיל מבצע:

  • מתחילים בחיפוש 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 באמצעות DNS הפוך, כמו שמומלץ במאמר אימות של Googlebot וסורקים אחרים של Google. במקרה הספציפי שלנו, רזולוציית ה-DNS ההפוכה פועלת לפי הדפוס הבא: google-proxy-***-***-***-***.google.com.

התנהגות טכנית

שמירה במטמון

כדי להפחית את העומס על אתר השותף, הסורקים שלנו מוגדרים בדרך כלל כך שיכבדו את כל כותרות ה-HTTP הרגילות של שמירת נתונים במטמון שמופיעות בתגובה. המשמעות היא שבאופן הזה אנחנו נמנעים מאתרים שהוגדרו בצורה נכונה לשלוף שוב ושוב תוכן שמשתנה לעיתים רחוקות (למשל ספריות JavaScript). במאמר הזה מוסבר איך להטמיע שמירה במטמון של HTTP.