סקירה כללית

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

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

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

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

פעולה בקופה

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

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

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

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

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

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

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

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

    1. ביצוע אימות אסימונים, הונאות ובדיקות זכאות אחרות.
    2. מאשרים את הכרטיס, ואם רוצים, טוענים אותו.
  3. נקודת הקצה (endpoint) שלך מגיבה ל-SubmitOrderResponseMessage שמכיל OrderUpdate עם המצב CREATED (&"הזמנה&&; סטטוס רכישה), CONFIRMED ("מקובל&ציטוט; סטטוס רכישה) או REJECTED ("נדחה" סטטוס רכישה).

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

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

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

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

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

תרשים רצף

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

תהליך מילוי ההזמנה ב'הזמנה עם Google'

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

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

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

ספריות לקוח

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