نظرة عامة

تلخص هذه النظرة العامة تدفق الطلب الشامل وكيفية تفاعله مع خدمة ويب توصيل الطلبات.

الترتيب

تتعامل واجهة المستخدم الشاملة للطلب مع جميع التفاعلات مع المستخدم أثناء إضافة عناصر القائمة إلى طلبه واتخاذ قرار بشأن الاستلام أو التوصيل، اعتمادًا على الخدمات التي يقدمها المطعم. هذه التجربة مستندة إلى الكيانات 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 (حالة الشراء "مرفوض").

مع تقديم الطلب، يتوقع المستخدم أن يتلقى تحديثات حالة الطلب منك ومن واجهة المستخدم الشاملة للطلب. وعليك إرسال رسالة تأكيد الطلب بالبريد الإلكتروني إلى المستخدم. بالإضافة إلى ذلك، يمكنك استخدام واجهة برمجة التطبيقات غير المتزامنة لتحديث الطلب لإرسال تحديثات الطلبات ذات الصلة إلى Google.

إجراء تعديل الطلب غير المتزامن

بصرف النظر عن أي إشعارات للمستخدم، يجب أيضًا إرسال آخر أخبار حالة الطلب إلى Google في ما يتعلّق بالأحداث التالية:

  1. التغييرات على OrderState مثل عمليات النقل من CREATED إلى CONFIRMED، وCONFIRMED إلى IN_TRANSIT.
  2. التغييرات على السلع المرتبطة بالطلب، مثل السعر أو مدى التوفّر
  3. عندما يشغّل المستخدم طلب دعم من إحدى قنوات دعم العملاء لديك.

يتم إرسال التحديثات من نقطة نهاية خدمة الويب على أنّها AsyncOrderUpdateRequestMessage يحتوي على OrderUpdate. يرد Google باستخدام AsyncOrderUpdateResponseMessage.

الرسم التخطيطي للتسلسل

يوضح الرسم التوضيحي التالي كيفية تفاعل إجراءات التنفيذ مع خدمة الويب. انقر للتكبير.

تدفق الطلب من البداية إلى النهاية

إعداد نقطة نهاية التنفيذ

تستخدم إجراءات "الطلب التام بين الأطراف" رسائل JSON للتواصل مع خدمة الويب والتعامل مع عمليات معالجة طلبات الطعام وتأكيدها وتحديثاتها. عند تصميم خدمة ويب "من النهاية إلى النهاية"، يجب تحديد نقطة نهاية عنوان URL تتلقى رسائل الطلب من خدمة "الطلبات بين الأطراف" والتي يمكنها إعادة الرسائل إلى خدمة Google. يجب أن تستوفي عملية التنفيذ المتطلّبات التالية:

  • يجب أن تتمكّن خدمة الويب من تلقّي رسالة JSON كطلب POST من خدمة "الطلب الشامل".
  • يجب أن توفّر خدمة الويب نقطة نهاية عنوان URL متاحة للجميع، تُسمى عنوان URL الخاص بالتنفيذ، ويمكنك تحديده في "مركز الإجراءات". يُستخدم عنوان URL لطريقة التنفيذ من أجل دفع الطلبات وإرسالها. يجب أن تعالج عملية التنفيذ كلا النوعين من الطلبات.
  • يجب أن تتمكّن خدمة الويب من التحقّق من الرسائل من Google باستخدام طريقة التحقّق من الرسائل.
  • يجب أن تتمكن عملية تنفيذ نقطة نهاية عنوان URL من معالجة كل من الدفع وتنفيذ الطلبات من خلال نقطة نهاية واحدة. لا يمكن أن يكون لديك نقطة نهاية عنوان URL واحدة للدفع ونقطة نهاية منفصلة لإرسال الطلب.

مكتبات العملاء

يتوفّر منشئ رمز العميل في قسم "الأدوات" للتحقّق من خدمة الويب وفقًا لمواصفات Fulfillment API.