מבצעים
שילוב המבצעים מאפשר לכם להעביר מידע מובנה על מבצעים והנחות של מוכרים שחלים על שירותים ספציפיים בזמנים ספציפיים. מבצעים מורכבים מהמבצע עצמו (הנחה באחוזים, הנחה בדולרים וכו'), חלונות תוקף (שעות ספציפיות, ימים בשבוע וכו') ושימושים רלוונטיים (אפשר להשתמש במבצע רק בשירותים מסוימים), וגם משילובים מורכבים של הגבלות.
דוגמאות לשוברי פרסום:
- 50% הנחה על מנות ראשונות בימי רביעי וחמישי בדצמבר, מ-12:00 עד 17:00
- קונים קינוח אחד ומקבלים קינוח נוסף בחינם בארוחת ערב ליום האם בין השעות 18:00 ל-22:00
- הנחה של 5$ על מנה ראשונה של בראנץ' בכל יום ראשון מ-10:00 עד 14:00
- הנחה של 10% למשתמשים שנכנסים לחנות ללא הזמנה מראש, בשילוב עם הנחה של 5% למנויי פרימיום והנחה של 5% אם המשתמש משלם דרך האפליקציה שלכם.
כדי שמבצע ייכלל בשילוב, הוא צריך להתאים למודל הנתונים הטכני ולעמוד בדרישות הסף שלנו. חשוב לעיין במדיניות שלנו בנושא מבצעים כדי לוודא שהשילוב עומד בדרישות, ולקבל הוראות לגבי פעולות שצריך לבצע במבצעים שלא עומדים בדרישות הטכניות.
מציע הטמעה
השילוב של המבצעים כולל שני פידים שיועלו מדי יום או בתדירות שתבטיח רמת דיוק גבוהה (כלומר, תצמצם את הנתונים המיושנים):
- אחת מהאפשרויות הבאות:
- פיד מוצרים של מוֹכרים
(באמצעות הגדרת
Merchant) - או
פיד ישויות
(באמצעות הגדרות של
Generic)
- פיד מוצרים של מוֹכרים
(באמצעות הגדרת
- וגם
פיד מבצעים
(באמצעות הגדרות של
Generic)
OfferFeed
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
data | מערך של אובייקטים(Offer) |
מבצע
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
offer_id | מחרוזת | חובה | המזהה הייחודי של המוצר. חובה. |
entity_ids | array of string | רשימת מוֹכרים שמשתתפים במבצע הזה. | |
add_on_offer_applicable_to_all_entities | בוליאני | אם הערך הוא True, המבצע חל על כל הישויות שמשויכות למצטבר. המאפיין הזה רלוונטי רק למבצעים של חבילות ערוצים. | |
offer_source | enum(OfferSource) | חובה | מבצע יכול להיות מסופק על ידי האתר המאגד, על ידי מוכר ספציפי או אפילו על ידי צד שלישי כתוספת. חובה. |
action_type | enum(ActionType) | חובה | השירות שמספק את המבצע. מזהה המבצע [offer_id] יכול להשתייך רק לסוג פעולה [action_type] אחד. אם אפשר לשתף מבצע בכמה סוגי שירותים, המערכת צפויה ליצור מבצעים כפולים עם מזהים ייחודיים לכל סוג שירות. חובה. |
offer_modes | מערך של enum(OfferMode) | חובה | השיטות למימוש המבצע – הגעה למקום, הזמנה, אונליין וכו'. חובה. |
offer_category | enum(OfferCategory) | חובה | הקטגוריה של המבצע. חובה. |
source_assigned_priority | number | מספר שלם לא שלילי ([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_level | enum(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_unit | enum(FeeUnit) | יחידת העלות של ההזמנה. לדוגמה, לכל אדם, לכל עסקה. | |
convenience_fee | אובייקט(Fee) | ||
booking_cost_adjustable | בוליאני | האם עלות ההזמנה ניתנת להתאמה, כלומר עלות ההזמנה מופחתת מהחשבון הסופי. לדוגמה: 30% הנחה על ארוחת ערב בהזמנה מראש. העלות של השמירה היא 15 $והיא תנוכה מהחיוב הסופי. לכן החיוב הסופי הוא: סכום ההוצאה הכולל פחות 30% פחות 15$ | |
additional_fees | מערך של אובייקטים(AdditionalFee) | עמלות נוספות שבהן מחויב המשתמש. דוגמאות: עמלת נוחות, עמלת טיפול, עמלת משלוח, עמלת אריזה, דמי שירות וכו'. | |
offer_discount_type | enum(OfferDiscountType) | סוג ההנחה. | |
gift_card_info | אובייקט(GiftCardInfo) | פרטים ספציפיים לגבי מבצעים על כרטיסי מתנה. |
כסף
מייצג סכום כסף עם סוג המטבע.
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
currency_code | מחרוזת | קוד המטבע בן שלוש אותיות שמוגדר בתקן ISO 4217. | |
units | number | מספר היחידות השלמות של הסכום.
לדוגמה: אם הערך של currencyCode הוא "USD", המשמעות היא ש-1 יחידה = 1 דולר ארה"ב. | |
nanos | number | מספר יחידות הננו (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 | אובייקט(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_ids | array of string | רשימה של מזהי מבצעים שאפשר לשלב עם המבצע הזה. יכול להיות שיהיה אפשר לשלב חלק מהמבצעים רק עם מזהי מבצעים ספציפיים אחרים (אפשר להתייחס אליהם כמבצעים ראשיים). אם הערך של combinable_with_other_offers הוא true והשדה הזה לא מוגדר, אפשר לשלב את כל מזהי המבצעים. | |
inclusions | מערך של אובייקטים(OfferCondition) | רשימת התנאים שצריכים להתקיים כדי שהמבצע יהיה תקף (למשל, משקאות לא אלכוהוליים, אוכל). | |
exclusions | מערך של אובייקטים(OfferCondition) | רשימת התנאים שבעקבותיהם המבצע לא תקף (לדוגמה, בופה, מבצעים על ארוחות משולבות וקוקטיילים). | |
min_guest | number | מספר האנשים המינימלי שנדרש למימוש המבצע. הערה: השדה הזה רלוונטי רק להזמנות במסעדות, ואין להשתמש בו בענפים אחרים. | |
food_offer_restrictions | אובייקט(FoodOfferRestrictions) | הגבלות שספציפיות למבצעים על מזון. | |
max_redemption_count | number | הגבלות ספציפיות לגבי מספר הפעמים שאפשר להשתמש במבצע הזה. הערך 0 מציין שאין מגבלות. לדוגמה, אם הערך הוא 3, המשתמש יכול לממש את המבצע הזה 3 פעמים. | |
max_total_discount_value | אובייקט(Money) | ההנחה המקסימלית שאפשר לקבל על כמה עסקאות במסגרת המבצע הזה. | |
special_conditions | array of string | תנאים מיוחדים של המבצע שחובה להציג למשתמש. דוגמאות: "השובר תקף רק לתשלום ב[אזור]", "לא כולל תשלומים אונליין", "אפשר להשתמש בשובר המתנה במהלך המבצע". |
OfferCondition
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
description | מחרוזת |
FoodOfferRestrictions
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
meal_types | מערך של enum(MealType) | סוגי הארוחות שאפשר להשתמש בהן במבצע, כמו ארוחת צהריים או ארוחת ערב. אם לא תציינו סוג ארוחה, המבצע יחול על כל סוגי הארוחות. | |
restricted_to_certain_courses | בוליאני | האם אפשר להחיל את המבצע רק על קורסים מסוימים. |
שובר
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
text | מחרוזת | הטקסט של השובר שספק המבצע רוצה להציג למשתמשים. | |
code | מחרוזת | חובה | נדרש קוד שובר כדי לממש את המבצע. חובה. |
PaymentInstrument
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
items | מערך של אובייקטים(PaymentInstrumentItem) | חובה | רשימת אמצעי התשלום שבהם אפשר להשתמש כדי לממש את המבצע. חובה. |
provider_name | מחרוזת | שם הספק של אמצעי התשלום. יכול להיות שותף בנקאי, שם של בנק וכו'. לדוגמה: אמריקן אקספרס, HDFC, ICICI. |
PaymentInstrumentItem
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
type | enum(PaymentInstrumentType) | חובה | סוג אמצעי התשלום. חובה. |
name | מחרוזת | חובה | שם הפריט של אמצעי התשלום, כמו שם כרטיס האשראי. לדוגמה: HDFC Infinia, אמריקן אקספרס Platinum. חובה. |
יש אפשרות להירשם למינוי
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
name | מחרוזת | חובה | שם המינוי. חובה. |
subscription_auto_added | בוליאני | האם המינוי מתווסף אוטומטית כשמשתמש מממש את המבצע הזה | |
cost | אובייקט(Money) | חובה | עלות המינוי. חובה. |
subscription_duration | אובייקט(Duration) | חובה | משך התוקף של המינוי שמוגדר במאפיין עלות המינוי [subscription_cost]. חובה. |
terms_and_conditions_url | מחרוזת | כתובת URL לתנאים ולהגבלות של השותף שרלוונטיים למינוי הזה. |
משך
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
seconds | number | מספר השניות עם סימן של טווח הזמן. הערך חייב להיות בין -315,576,000,000 לבין +315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות/דקה * 60 דקות/שעה * 24 שעות/יום * 365.25 ימים/שנה * 10,000 שנים | |
nanos | number | שבריר חתום של שנייה ברזולוציית ננו-שנייה של טווח הזמן. משכי זמן של פחות משנייה מיוצגים באמצעות שדה seconds עם הערך 0 ושדה nanos עם ערך חיובי או שלילי. אם משך הזמן הוא שנייה אחת או יותר, הערך בשדה nanos צריך להיות שונה מאפס, וסימן הערך צריך להיות זהה לסימן הערך בשדה seconds. הערך חייב להיות בין -999,999,999 ל-+999,999,999, כולל. |
תנאים
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
url | מחרוזת | כתובת ה-URL של התנאים וההגבלות של השותף. | |
restricted_to_certain_users | בוליאני | האם המבצע מוגבל למשתמשים מסוימים. | |
terms_and_conditions | מחרוזת | הטקסט העיקרי של התנאים וההגבלות שסופק על ידי השותף. | |
additional_terms_and_conditions | array 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_scope | enum(ValidityScope) | מציין את היקף תקופת התוקף. | |
validity_duration_in_days | number | משך הזמן (בימים) שבו השובר או הקופון תקפים, מרגע הרכישה. |
ValidityRange
טווח חותמות זמן סגור-פתוח.
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
valid_from_time | אובייקט(Timestamp) | חובה | שעת ההתחלה של הטווח (כולל). חובה. |
valid_through_time | אובייקט(Timestamp) | שעת הסיום של הטווח (לא כולל). אם לא מוגדר תאריך סיום, המשמעות היא שהתקופה הזו לא מסתיימת לעולם. אופציונלי. |
חותמת זמן
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
seconds | number | מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך צריך להיות בין -62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). | |
nanos | number | שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכים שליליים של שניות עם שברים עדיין צריכים לכלול ערכים חיוביים של ננו-שניות שסופרים קדימה בזמן. הערך חייב להיות בין 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
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
hours | number | שעות ביום בפורמט של 24 שעות. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל קטן מ-23 או שווה לו. יכול להיות ש-API יאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירה של עסק. | |
minutes | number | מספר הדקות אחרי השעה השלמה. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-59 או שווה לו. | |
seconds | number | שניות בדקה. הערך חייב להיות גדול מ-0 או שווה ל-0, ובדרך כלל קטן מ-59 או שווה ל-59. יכול להיות ש-API יאפשר את הערך 60 אם הוא מאפשר שניות מעוברות. | |
nanos | number | חלקיקי שניות, בננו-שניות. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-999,999,999 או שווה לו. |
DayOfMonthRange
טווח של ימים בחודש שחל על כל החודשים בשנה.
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
valid_from_day | number | חובה | היום שבו מתחיל הטווח (כולל). חובה. |
valid_through_day | number | יום הסיום של הטווח (כולל). אם לא מוגדר, המשמעות היא שהטווח הזה מייצג יום אחד (valid_from_day). אופציונלי. |
ValidTimeException
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
exceptional_period | אובייקט(ValidityRange) | חותמת הזמן של ההתחלה והסיום שבהן המבצע לא תקף. השעות האלה צריכות לייצג ימים שונים, כלומר שעת ההתחלה צריכה להיות 00:00 (תחילת היום) ושעת הסיום צריכה להיות 00:00 (לא כולל) ביום שבו מסתיים תקופת החריגה. |
תאריך
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
year | number | השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 כדי לציין תאריך ללא שנה. | |
month | number | החודש בשנה. הערך חייב להיות בין 1 ל-12, או 0 כדי לציין שנה בלי חודש ויום. | |
day | number | יום בחודש. הערך חייב להיות בין 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_percent | number | לא יכול להיות שיהיו גם | אחוז ההנחה בחשבון. [0, 100] במבצעים של 1+1 או 50% הנחה על כל הארוחה (למשל, מזנון 1+1, הנחה של 1+1 על כל החשבון, הנחה של 1+1 על תפריט קבוע), אפשר להגדיר את הערך הזה ל-50. |
discount_value | אובייקט(Money) | לא יכול להיות שיהיו גם | ערך קבוע של ההנחה. |
other_offer_detail_text | מחרוזת | לא יכול להיות שיהיו גם | טקסט חופשי לתיאור ההנחה. אם יש מבצעים ספציפיים של 1+1 (למשל, 1+1 על משקאות, מנה עיקרית נוספת, 1+1 על פריטים נבחרים בתפריט), צריך לפרט אותם כאן. |
עלות
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
amount | אובייקט(Money) | לא ניתן להשתמש בו עם | |
amount_range | אובייקט(MoneyRange) | לא ניתן להשתמש בו עם |
denomination_type
| שם השדה | סוג | דרישה | תיאור |
|---|---|---|---|
fixed_denominations | אובייקט(FixedDenominations) | לא ניתן להשתמש בו עם | המאפיין הזה משמש כשכרטיס המתנה זמין בסכומים ספציפיים וקבועים. |
custom_range | אובייקט(MoneyRange) | לא ניתן להשתמש בו עם | התג הזה משמש כשהמותג מאפשר למשתמשים לבחור ערך נקוב מותאם אישית (גמיש) בטווח מוגדר. |
העלאת פיד
צריך להעלות את פיד המוצרים לשרת ה-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.
- מבצע של 5% הנחה על כרטיס אשראי צריך להישלח כ-2 עותקים, אחד עם התג
מסעדה מציעה 10% הנחה ללקוחות מזדמנים ו-5% הנחה למשלמים בכרטיס אשראי ספציפי, ואפשר לשלב בין שתי ההנחות.
- מבצע של 10% הנחה על רכישה בחנות צריך להיות מתויג בתור
OFFER_CATEGORY_BASE_OFFER. - למבצע של 5% הנחה למשלמים בכרטיס אשראי צריכות להיות 2 עותקים, שאחד מהם מתויג בתור
OFFER_CATEGORY_BASE_OFFERוהשני מתויג בתורOFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.
- מבצע של 10% הנחה על רכישה בחנות צריך להיות מתויג בתור
מסעדה מציעה הנחה של 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.
- המבצע של 10% הנחה צריך להיות מוגדר עם
תהליך הפיתוח וההשקה
במהלך השילוב, תוכלו לקבל מידע ומשוב על סמך הפיתוח שלכם בפורטל השותפים. תהליך הפיתוח יתבצע לפי השלבים הבאים:
- השילוב יפותח קודם בסביבת ארגז החול. מומלץ להשתמש בייצוא של נתוני ייצור (או אפילו בנתוני ייצור ישירות) בסביבת ארגז החול של 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.