تلخّص هذه النظرة العامة تدفق الطلبات مع Google وكيفية تفاعلها مع خدمة توصيل الطلبات على الويب.
الترتيب
تتعامل واجهة مستخدم "الطلب من خلال Google" مع جميع التفاعلات مع المستخدم
عند إضافة عناصر إلى القائمة في طلبه وتحديد ما إذا كانت هناك استلام أو توصيل،
بناءً على الخدمات التي يقدمها المطعم. ويتم تفعيل هذه التجربة
من خلال كيانات Restaurant
وService
وMenu
المتوفّرة في
خلاصات البيانات.
الخطوة التالية هي مرحلة التحقق من سلة التسوّق التي تعالج فيها خدمة الويب Cart
التي أنشأها المستخدم.
إجراء الدفع
إجراء الدفع هو المكالمة الأولى التي تجريها Google إلى نقطة نهاية خدمة الويب.
خدمة الويب مسؤولة عن التحقّق من صحة Cart
. عليك
التأكّد من مدى توفّر السلع وأسعارها، وحساب الضرائب وإرجاع المشتريات،
والخصومات والرسوم، والتحقق من عنوان تسليم الطلب.
تتّبع عملية الدفع ما يلي:
- ترسل خدمة "الطلب من خلال Google"
CheckoutRequestMessage
الذي يحتوي علىCart
إلى نقطة نهاية خدمة توصيل الويب. - تحتاج خدمة الويب إلى التحقق من صحة العناصر في
Cart
استنادًا إلى الأسعار الحالية ومدى التوفر ومقدّمي الخدمات. بعد ذلك، تحتسب السعر الإجمالي الذي يشمل الخصومات والضرائب ورسوم التسليم. - تستجيب نقطة النهاية بالقيمة
CheckoutResponseMessage
التي تحتوي على علامةCart
غير المعدَّلة للطلبات الناجحة. يمكن تضمينFoodErrorExtension
فيCheckoutResponseMessage
لعرض خطأ في المعالجة أو اقتراح تغييرات بسيطة، إذا لزم الأمر.
بعد التحقق من Cart
، قد يختار المستخدم المتابعة إلى مرحلة إرسال الطلب من التدفق.
إرسال إجراء الطلب
يتم تشغيل إجراء إرسال الطلب عندما يقدّم المستخدم طلبه. يجب أن تعيد خدمة الويب التحقق من سلة التسوق، ومعالجة الرمز المميز للبطاقة إذا تم تفعيل الدفعات على الإنترنت، وتحديث حالة الطلب في النهاية.
تتّبع عملية إرسال الطلب التسلسل التالي:
- ترسل خدمة "الطلب من خلال Google"
SubmitOrderRequestMessage
الذي يحتوي علىOrder
إلى نقطة نهاية خدمة الويب لتوصيل الطلبات. يجب تنفيذ تنفيذ عملية الخلفية علىCart
قبل المتابعة. تعالج خدمة الويب تفاصيل الدفع الواردة في
Order
، ويتم عادةً تنفيذ الإجراءات التالية:- إجراء عمليات التحقق من الرمز المميز والاحتيال وعمليات التحقق الأخرى من الأهلية
- تفويض البطاقة وتحصيل رسومها اختياريًا
تستجيب نقطة النهاية بعلامة
SubmitOrderResponseMessage
التي تحتوي على حالةOrderUpdate
بالحالةCREATED
("Order;" purchase) أوCONFIRMED
("Accept"purchase;) أوREJECTED
("Rejected;Rejected" purchase).
عند تقديم الطلب، يتوقع المستخدم تلقي تحديثات حالة الطلب منك ومن واجهة مستخدم "الطلب من خلال Google". عليك إرسال رسالة إلكترونية لتأكيد الطلب إلى المستخدم. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات غير المتزامنة لطلب التحديث غير المتزامن لإرسال تحديثات الطلبات ذات الصلة إلى Google.
إجراء تعديل الطلب غير المتزامن
وبغض النظر عن أي إشعارات من المستخدمين، يجب أيضًا إرسال تحديثات حالة الطلب إلى Google للأحداث التالية:
- التغييرات على
OrderState
، مثل الانتقالات منCREATED
إلىCONFIRMED
، وCONFIRMED
إلىIN_TRANSIT
. - التغييرات على السلع المطلوبة، مثل السعر أو مدى التوفّر
- عندما يشغّل المستخدم طلب دعم من إحدى قنوات دعم العملاء.
يتم إرسال التحديثات من نقطة نهاية خدمة الويب باعتبارها AsyncOrderUpdateRequestMessage
التي تحتوي على OrderUpdate
. ويستجيب Google
باستخدام AsyncOrderUpdateResponseMessage
.
مخطط التسلسل
يوضح الرسم التوضيحي التالي كيفية تفاعل إجراءات توصيل الطلب مع خدمة الويب. انقر للتكبير.
إعداد نقطة نهاية توصيل الطلب
تستخدم إجراءات "الطلب من خلال Google" رسائل JSON للتواصل مع خدمة الويب الخاصة بك ومعالجة المعالجة والتأكيد والتحديثات بشأن طلبات الطعام. عند تصميم خدمة الويب الخاصة بميزة "الطلب من خلال Google"، عليك تحديد عنوان URL يتلقّى رسائل الطلب من خدمة "الطلب من خلال Google"، ويمكنك إعادة الرسائل إلى خدمة Google. يجب أن تستوفي عملية التنفيذ المتطلبات التالية:
- يجب أن تتلقى خدمة الويب رسالة JSON كطلب
POST
من خدمة "الطلب عبر Google". - يجب أن توفّر خدمة الويب نقطة نهاية عنوان URL متاحة للجميع، تُسمى عنوان URL لتوصيل الطلب، والذي تحدّده في بوابة الشركاء. يُستخدم عنوان URL لتوصيل الطلب لإتمام الدفع وإرسال الطلبات. يجب أن يعالج تنفيذك نوعَي الطلبات.
- يجب أن تتمكن خدمة الويب من التحقق من الرسائل من Google باستخدام طريقة التحقق من الرسائل.
- يجب أن يتمكّن تنفيذ نقطة نهاية عنوان URL من معالجة كل من عملية الدفع وتوصيل الطلبات باستخدام نقطة نهاية واحدة. لا يمكنك الحصول على عنوان URL واحد لإتمام الدفع ونقطة نهاية منفصلة لطلب الإرسال.
مكتبات العملاء
تتوفّر أداة إنشاء رموز العملاء في قسم "الأدوات" للتحقّق من صحة خدمة الويب مقارنةً بمواصفات واجهة برمجة التطبيقات Fulfillment API.