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