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