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

מבצעים

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

דוגמאות למוצרים:

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

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

הטמעת מבצעים

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

OfferFeed

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

מבצע

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

חובה

המזהה הייחודי של המוצר. חובה.
entity_idsמערך של מחרוזות

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

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

חובה

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

חובה

השירות שמספק את המבצע. מזהה מבצע יכול להשתייך רק לסוג פעולה אחד. אם אפשר לשתף מבצע בכמה סוגי שירותים, המערכת צפויה ליצור מבצעים כפולים עם מזהים ייחודיים לכל סוג שירות. חובה.
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.
subscriptionobject
(Subscription)

פרטי המינוי. חובה להגדיר את המאפיין offer_category: 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_valueobject
(Money)

ההנחה המקסימלית שאפשר לקבל. לדוגמה, 10% הנחה עד 400 ש"ח.
min_spend_valueobject
(Money)

סכום ההוצאה המינימלי שנדרש כדי לקבל את ההנחה. לדוגמה, 10% הנחה כשמחיר המוצר הכולל הוא 100 $או יותר.
booking_costobject
(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_infoobject
(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_amountobject
(Money)

max_amountאובייקט
(Money)

AdditionalFee

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

חובה

השם של העמלה הנוספת. דוגמאות: עמלת נוחות, דמי טיפול וכו'. חובה.
feeobject
(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_idsמערך של מחרוזות

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

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

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

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

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

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

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

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

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בוליאני

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

חובה

עלות המינוי. חובה.
subscription_durationobject
(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_conditionsמערך של מחרוזות

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

ValidityPeriod

שם השדהסוגדרישהתיאור
valid_periodobject
(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_timeobject
(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_windowsobject
(TimeOfDayRange)

חובה

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

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

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

TimeOfDayRange

טווח תאריכים סגור-פתוח.

שם השדהסוגדרישהתיאור
open_timeobject
(TimeOfDay)

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

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

TimeOfDay

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

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

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

שניות בדקה. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל קטן מ-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_APPOINTMENTהמבצע רלוונטי לשירותים של קביעת פגישות.
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מציין שהמבצע עומד להסתיים. כדאי למשתמשים לממש את הפרס לפני שיהיה חסר במלאי. יכול להיות שנוסיף את האפשרויות MEDIUM ו-HIGH בהמשך.

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 על פריטים נבחרים בתפריט), צריך לפרט אותם כאן.

עלות

שם השדהסוגדרישהתיאור
amountobject
(Money)

לא יכול להתקיים יחד עם amount_range

amount_rangeobject
(MoneyRange)

לא ניתן להשתמש ב-amount יחד עם

denomination_type

שם השדהסוגדרישהתיאור
fixed_denominationsobject
(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 כדי להפעיל מבצעים על תוספים כמבצעים בסיסיים רק אם אין מבצע בסיסי פעיל.
  • איחוד של מבצעים זהים לפי אמצעי תשלום: אם כמה אמצעי תשלום חולקים את אותו ערך הנחה בדיוק (לדוגמה, כרטיס אשראי, כרטיס חיוב מיידי ו-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% הנחה למשלמים בכרטיס אשראי ספציפי, ואפשר לשלב בין שתי ההנחות.

    • מבצע של 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 Sandbox. כך תוכלו לוודא שהפיתוח שלכם כולל את כל מקרי הקצה, ו-Google תוכל להעריך את איכות הנתונים ולעזור לכם בצורה טובה יותר על סמך מודל הנתונים שלכם.
  • אחרי שתעלו באופן עקבי פידים מלאים של מוכרים, שירותים ודילים לסביבת Google Sandbox, הצוות של Google יעריך את הפידים שלכם. אחרי שהצוות של Google יאשר את הקוד, תוכלו להעביר אותו לסביבת הייצור ולהתחיל לשלוח נתוני ייצור לסביבת הייצור של Google.
  • אחרי שתסיימו לבדוק את השילוב בסביבת הייצור, הצוות של Google יבדוק אותו גם כן. אחרי שכל הבדיקות יסתיימו, השילוב יושק.

מעקב

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

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

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

שמירה במטמון

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