این نمای کلی جریان سفارش از پایان به انتها و نحوه تعامل آن با سرویس وب تکمیل شما را خلاصه می کند.
مرتب سازی
رابط کاربری Ordering End-to-End تمام تعاملات با کاربر را انجام می دهد، زیرا آنها آیتم های منو را به سفارش خود اضافه می کنند و بسته به خدمات ارائه شده توسط رستوران در مورد تحویل یا تحویل تصمیم می گیرند. این تجربه توسط نهادهای Restaurant
, Service
, و Menu
که در فیدهای داده شما یافت می شوند ارائه می شود.
مرحله بعدی مرحله اعتبار سنجی سبد خرید است که در آن Cart
ایجاد شده توسط کاربر توسط وب سرویس شما پردازش می شود.
اقدام پرداخت
اقدام پرداخت اولین تماسی است که Google با نقطه پایانی سرویس وب شما برقرار می کند. وب سرویس شما مسئول اعتبار سنجی Cart
است. شما باید در دسترس بودن و قیمت اقلام را تأیید کنید، مالیات، تخفیفها و هزینهها را محاسبه و برگردانید، و آدرس تحویل سفارش را تأیید کنید.
فرآیند پرداخت به این ترتیب است:
- سرویس Ordering End-to-End یک
CheckoutRequestMessage
که حاوی یکCart
است به نقطه پایانی سرویس وب انجام شما ارسال می کند. - وب سرویس شما باید موارد موجود در
Cart
را بر اساس قیمت های فعلی، در دسترس بودن و ارائه دهندگان خدمات اعتبار سنجی کند. سپس کل قیمت را محاسبه میکنید که شامل تخفیف، مالیات و هزینههای تحویل است. - نقطه پایانی شما با یک
CheckoutResponseMessage
که حاویCart
تغییر نشده برای درخواستهای موفق است، پاسخ میدهد. یکFoodErrorExtension
را می توان درCheckoutResponseMessage
برای ایجاد یک خطای پردازش یا پیشنهاد تغییرات جزئی، در صورت لزوم، گنجاند.
پس از اعتبار سنجی Cart
، کاربر ممکن است انتخاب کند که به مرحله ارسال سفارش جریان ادامه دهد.
ارسال اقدام سفارش
عمل ارسال سفارش زمانی فعال می شود که کاربر سفارش خود را ارسال می کند. وب سرویس شما باید سبد خرید را مجدداً اعتبار سنجی کند، در صورت فعال بودن پرداخت های آنلاین، رمز کارت را پردازش کند و در نهایت وضعیت سفارش را به روز کند.
مراحل ارسال سفارش به ترتیب زیر است:
- سرویس Ordering End-to-End یک
SubmitOrderRequestMessage
ارسال می کند که حاوی یکOrder
به نقطه پایانی سرویس وب شماست. پیش از ادامه، باید یک اعتبارسنجیCart
دیگر را انجام دهد. وب سرویس شما جزئیات پرداخت موجود در
Order
را پردازش می کند و معمولاً اقدامات زیر را انجام می دهد:- تأیید توکن، تقلب و سایر بررسیهای واجد شرایط بودن را انجام دهید.
- مجوز و در صورت تمایل، کارت را شارژ کنید.
نقطه پایانی شما با یک
SubmitOrderResponseMessage
پاسخ می دهد که حاوی یکOrderUpdate
با وضعیتCREATED
(وضعیت خرید "سفارش شده")،CONFIRMED
(وضعیت خرید "پذیرفته شده")، یاREJECTED
(وضعیت خرید "رد شده") است.
با انجام سفارش، کاربر انتظار دارد که بهروزرسانیهای وضعیت سفارش را هم از شما و هم از رابط کاربری «انتخاب به پایان سفارش» دریافت کند. شما باید یک ایمیل تایید سفارش برای کاربر ارسال کنید. علاوه بر این، از API بهروزرسانی سفارش ناهمگام برای ارسال بهروزرسانیهای سفارش مربوطه به Google استفاده میکنید.
اقدام بهروزرسانی سفارش ناهمزمان
فارغ از هر گونه اعلانهای کاربر، باید بهروزرسانیهای وضعیت سفارش را برای رویدادهای زیر نیز به Google ارسال کنید:
- تغییرات در
OrderState
مانند انتقال ازCREATED
بهCONFIRMED
وCONFIRMED
بهIN_TRANSIT
. - تغییرات در سفارش موارد، مانند قیمت یا در دسترس بودن.
- هر زمان که کاربر درخواست پشتیبانی از یکی از کانال های پشتیبانی مشتری شما را راه اندازی کرد.
بهروزرسانیها از نقطه پایانی سرویس وب شما بهعنوان AsyncOrderUpdateRequestMessage
ارسال میشوند که حاوی OrderUpdate
است. Google با یک AsyncOrderUpdateResponseMessage
پاسخ می دهد.
نمودار توالی
تصویر زیر نشان میدهد که چگونه اقدامات تکمیلی با سرویس وب شما تعامل دارند. برای بزرگنمایی کلیک کنید.
نقطه پایان تحقق خود را تنظیم کنید
کنشهای Ordering End-to-End از پیامهای JSON برای برقراری ارتباط با وب سرویس شما و رسیدگی به پردازش، تأیید و بهروزرسانی سفارشهای غذا استفاده میکنند. هنگامی که سرویس وب سفارشی پایان به انتها را طراحی میکنید، باید یک نقطه پایانی URL را تعریف کنید که پیامهای درخواستی را از سرویس پایان به پایان سفارش دریافت میکند و میتواند پیامها را به سرویس Google برگرداند. پیاده سازی شما باید شرایط زیر را برآورده کند:
- وب سرویس شما باید بتواند پیام JSON را به عنوان یک درخواست
POST
از سرویس Ordering End-to-End دریافت کند. - سرویس وب شما باید یک نقطه پایانی URL در دسترس عموم به نام URL تکمیلی ارائه دهد که در مرکز اقدامات مشخص میکنید . URL تکمیل برای بررسی و ارسال سفارشات استفاده می شود. پیاده سازی شما باید هر دو نوع درخواست را انجام دهد.
- وب سرویس شما باید بتواند پیام های Google را با استفاده از روش تأیید پیام تأیید کند.
- اجرای شما از نقطه پایانی URL باید بتواند هم پرداخت و هم انجام سفارش را با یک نقطه پایانی واحد انجام دهد. شما نمی توانید یک نقطه پایان URL برای تسویه حساب و یک نقطه پایان جداگانه برای ارسال سفارش داشته باشید.
کتابخانه های مشتری
تولیدکننده کد مشتری در بخش ابزارها برای اعتبارسنجی وب سرویس شما در برابر مشخصات Fulfillment API موجود است.