نظرة عامة

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

الترتيب

تتعامل واجهة مستخدم "الطلب من خلال Google" مع جميع التفاعلات مع المستخدم عند إضافة عناصر إلى القائمة في طلبه وتحديد ما إذا كانت هناك استلام أو توصيل، بناءً على الخدمات التي يقدمها المطعم. ويتم تفعيل هذه التجربة من خلال كيانات Restaurant وService وMenu المتوفّرة في خلاصات البيانات.

الخطوة التالية هي مرحلة التحقق من سلة التسوّق التي تعالج فيها خدمة الويب Cart التي أنشأها المستخدم.

إجراء الدفع

إجراء الدفع هو المكالمة الأولى التي تجريها Google إلى نقطة نهاية خدمة الويب. خدمة الويب مسؤولة عن التحقّق من صحة Cart. عليك التأكّد من مدى توفّر السلع وأسعارها، وحساب الضرائب وإرجاع المشتريات، والخصومات والرسوم، والتحقق من عنوان تسليم الطلب.

تتّبع عملية الدفع ما يلي:

  1. ترسل خدمة "الطلب من خلال Google" CheckoutRequestMessage الذي يحتوي على Cart إلى نقطة نهاية خدمة توصيل الويب.
  2. تحتاج خدمة الويب إلى التحقق من صحة العناصر في Cart استنادًا إلى الأسعار الحالية ومدى التوفر ومقدّمي الخدمات. بعد ذلك، تحتسب السعر الإجمالي الذي يشمل الخصومات والضرائب ورسوم التسليم.
  3. تستجيب نقطة النهاية بالقيمة CheckoutResponseMessage التي تحتوي على علامة Cart غير المعدَّلة للطلبات الناجحة. يمكن تضمين FoodErrorExtension في CheckoutResponseMessage لعرض خطأ في المعالجة أو اقتراح تغييرات بسيطة، إذا لزم الأمر.

بعد التحقق من Cart، قد يختار المستخدم المتابعة إلى مرحلة إرسال الطلب من التدفق.

إرسال إجراء الطلب

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

تتّبع عملية إرسال الطلب التسلسل التالي:

  1. ترسل خدمة "الطلب من خلال Google" SubmitOrderRequestMessage الذي يحتوي على Order إلى نقطة نهاية خدمة الويب لتوصيل الطلبات. يجب تنفيذ تنفيذ عملية الخلفية على Cart قبل المتابعة.
  2. تعالج خدمة الويب تفاصيل الدفع الواردة في Order، ويتم عادةً تنفيذ الإجراءات التالية:

    1. إجراء عمليات التحقق من الرمز المميز والاحتيال وعمليات التحقق الأخرى من الأهلية
    2. تفويض البطاقة وتحصيل رسومها اختياريًا
  3. تستجيب نقطة النهاية بعلامة SubmitOrderResponseMessage التي تحتوي على حالة OrderUpdate بالحالة CREATED ("Order;" purchase) أو CONFIRMED ("Accept"purchase;) أو REJECTED ("Rejected;Rejected" purchase).

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

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

وبغض النظر عن أي إشعارات من المستخدمين، يجب أيضًا إرسال تحديثات حالة الطلب إلى Google للأحداث التالية:

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

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

مخطط التسلسل

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

تنفيذ الطلب باستخدام Google

إعداد نقطة نهاية توصيل الطلب

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

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

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

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