הוספת זמינות לשילובי הזמנות בקמעונאות בגרסה 1

במדריך הזה נסביר:

  1. תיאור ברמה גבוהה לגבי אופן הצגת הזמינות למשתמשים, וסוג הנתונים הנדרש
  2. הוראות ספציפיות לקידוד נתוני הזמינות בפיד של action_link בפידים
  3. הוראות בנוגע לעדכון הזמינות אם היא משתנה במהלך היום
  4. ציפיות בנוגע לדיוק הזמינות

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

אילו פרטי זמינות נדרשים?

הזמינות של הזמנות קמעונאיות עבור החוויה הזו מתבצעת ברמת פירוט יומית. נתוני הזמינות האלה מוצגים למשתמשים יחד עם עמלות וסכומים מינימליים להזמנה, עם ההודעה "זמין היום", "זמין מחר" או "זמין ב-DD/MM", בהתאם לתאריך המוקדם ביותר שזמין.

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

לדוגמה: אם התאריך של היום הוא 23 במרץ 2021, ויש זמינות למשלוח מחר, כל עוד המשתמש מזמין היום עד 16:00, לפי הנתונים האלה הזמינות תהיה:

  • מועד אספקה: 24 במרץ 2021
  • שעת ההזמנה האחרונה: 23/03/2021: 16:00

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

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

ציון זמינות באמצעות פידים

הזמינות של קישורים לפעולות כלולה בהודעה של המוכר בפיד action_link, כחלק מהשדה order_online_metadata. לכל מוכר ולכל אפשרות מילוי הזמנות, יש רשימה של AvailableDay הודעות לאורך המסלול

Merchant.action_link.order_online_metadata.fulfillment_option.available_day

ההודעות צריכות להיות בפורמט הבא:

{
  "fulfillment_date": {
    "year": "2020",
    "month": "10",
    "day": "1"
  },
  "last_ordering_time":  {
    "seconds": "1601614800"  // 2020/10/1, 10pm
  }
}

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

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

לעיון בחומר העזר בנושא order_online_metadata, יש לעיין בחומר העזר בנושא פידים של מוכרים. לדוגמה של פיד שכולל זמינות בפורמט JSON, אפשר לעיין במאמר דוגמאות של פיד קמעונאות + מטא-נתונים של פידים.

מעדכנים את הזמינות עם עדכונים בזמן אמת

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

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

כדי לעדכן את הזמינות, צריך לשלוח בקשת תיקון לנקודת הקצה הבאה:

PATCH https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}?updateMask=action_link

גוף הבקשה יהיה אובייקט מוכר עם הערך action_link בלבד (כי הגדרנו את ה-updateMask לכלול רק את action_link):

{
  "action_link": [
    ..., // all required action_link fields here
    "order_online_metadata": {
      "fulfillment_option": [
        "fulfillment_type": "FULFILLMENT_TYPE_DELIVERY",
        "available_day": [ // Include the updated availability here
          {
            "fulfillment_date": {
              "year": "2020",
              "month": "10",
              "day": "1"
            }
            "last_ordering_time": {
              "seconds": "1601614800"  // 2020/10/1, 10pm
            }
          },
          ... // Other updated availability_days
        ]
      ]
    }
  ]
}

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

לקבלת פירוט מלא של שיטת העדכון של מוכרים, אפשר לעיין במאמר: שיטה: מלאי.partners.merchants.patch.

רמת הדיוק של הזמינות

ב-'Google הזמנת מקומות' מבינים שהזמינות הספציפית משתנה בהתאם למגוון גורמים. הגורמים האלה כוללים:

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

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

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