סקירה כללית

הסקירה הזו מסכמת את תהליך ההזמנה מקצה לקצה ואת האינטראקציה שלה עם שירות האינטרנט של מילוי ההזמנות.

סידור הסרטונים

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

השלב הבא הוא שלב אימות עגלת הקניות, שבו שירות האינטרנט מעבד את Cart שנוצר על ידי המשתמש.

פעולה בקופה

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

תהליך התשלום בקופה מתבצע לפי הרצף הבא:

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

אחרי אימות ה-Cart, המשתמשים יכולים לבחור להמשיך לשלב של שליחת ההזמנה בתהליך.

שליחת פעולה להזמנה

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

תהליך שליחת ההזמנה מתבצע בסדר הבא:

  1. שירות ההזמנה מקצה לקצה שולח SubmitOrderRequestMessage שמכיל Order לנקודת הקצה של שירות האינטרנט למילוי הזמנות. הקצה העורפי צריך לבצע אימות Cart נוסף לפני שממשיכים.
  2. שירות האינטרנט שלך מעבד את פרטי התשלום שמופיעים בOrder, ובדרך כלל מבצע את הפעולות הבאות:

    1. לבצע אימות אסימונים, הונאה ובדיקות זכאות אחרות.
    2. מאשרים את הכרטיס ואם רוצים, אפשר גם לחייב אותו.
  3. נקודת הקצה מגיבה עם SubmitOrderResponseMessage שכולל OrderUpdate עם מצב רכישה: CREATED (סטטוס רכישה 'הוזמנה'), CONFIRMED (סטטוס רכישה 'אושרה') או REJECTED (סטטוס הרכישה 'נדחתה').

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

פעולת עדכון הזמנה אסינכרונית

בלי קשר להתראות שנשלחות למשתמשים, תצטרכו לשלוח ל-Google גם עדכונים לגבי סטטוס ההזמנה לגבי האירועים הבאים:

  1. שינויים ב-OrderState, כמו מעבר מ-CREATED אל CONFIRMED ומ-CONFIRMED ל-IN_TRANSIT.
  2. שינויים בפריטים בהזמנה, כמו מחיר או זמינות.
  3. בכל פעם שהמשתמש מפעיל בקשת תמיכה מאחד מערוצי תמיכת הלקוחות שלכם.

העדכונים נשלחים מנקודת הקצה של שירות האינטרנט כ-AsyncOrderUpdateRequestMessage שמכיל OrderUpdate. Google מגיבה באמצעות AsyncOrderUpdateResponseMessage.

תרשים רצף

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

תהליך מילוי ההזמנה מקצה לקצה

הגדרת נקודת קצה למילוי הזמנות

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

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

ספריות לקוח

מחולל קוד הלקוח בקטע 'כלים' זמין כדי לאמת את שירות האינטרנט מול מפרט ה-Fulfillment API.