Genel bakış

Bu genel bakış, sipariş uçtan uca akışını ve bu akışla sipariş karşılama web hizmetiniz arasındaki etkileşimi özetler.

Sıralama

Sipariş Son-Uca kullanıcı arayüzü, kullanıcılar siparişlerine menü öğeleri eklerken ve restoranın sunduğu hizmetlere bağlı olarak teslimat veya paket servisi seçeneklerinden birine karar verirken kullanıcıyla olan tüm etkileşimleri yönetir. Bu deneyim, veri feed'lerinizde bulunan Restaurant, Service ve Menu öğeleriyle desteklenir.

Sonraki adım, kullanıcı tarafından oluşturulan Cart öğesinin web hizmetiniz tarafından işlendiği alışveriş sepeti doğrulama aşamasıdır.

Ödeme İşlemi

Ödeme işlemi, Google'ın web hizmetinizin uç noktasına yaptığı ilk çağrıdır. Cart doğrulamasından web hizmetiniz sorumludur. Ürünlerin stok durumunu ve fiyatını onaylamanız, vergileri, indirimleri ve ücretleri hesaplayıp iade etmeniz ve sipariş teslimat adresini doğrulamanız gerekir.

Ödeme süreci şu sırayla gerçekleşir:

  1. Sipariş End-to-End hizmeti, sipariş tamamlama web hizmetinizin uç noktasına Cart içeren bir CheckoutRequestMessage gönderir.
  2. Web hizmetinizin, mevcut fiyatlara, müsaitlik durumuna ve servis sağlayıcılara göre Cart'teki öğeleri doğrulaması gerekir. Ardından indirimleri, vergileri ve teslimat ücretlerini içeren toplam fiyatı hesaplarsınız.
  3. Bitiş noktanız, başarılı istekler için değiştirilmemiş Cart içeren bir CheckoutResponseMessage ile yanıt verir. İşleme hatası bildirmek veya gerekirse küçük değişiklikler önermek için CheckoutResponseMessage içine bir FoodErrorExtension eklenebilir.

Cart doğrulandıktan sonra kullanıcı, akışın sipariş gönderme aşamasına geçmeyi seçebilir.

Sipariş Gönderme İşlemi

Sipariş gönderme işlemi, kullanıcı sipariş verdiğinde tetiklenir. Web hizmetiniz, alışveriş sepetini yeniden doğrulamalı, internetten ödeme özelliği etkinse kart jetonunu işlemeli ve son olarak siparişin durumunu güncellemelidir.

Sipariş gönderme süreci şu sırayla gerçekleşir:

  1. Sipariş End-to-End hizmeti, sipariş tamamlama web hizmetinizin uç noktasına Order içeren bir SubmitOrderRequestMessage gönderir. Devam etmeden önce arka uçunuzun başka bir Cart doğrulaması yapması gerekiyor.
  2. Web hizmetiniz, Order içinde bulunan ödeme ayrıntılarını işler ve genellikle aşağıdaki işlemleri gerçekleştirir:

    1. Jeton doğrulaması, sahtekarlık ve diğer uygunluk kontrollerini gerçekleştirin.
    2. Kartı yetkilendirin ve isteğe bağlı olarak karttan ödeme alın.
  3. Bitiş noktanız, CREATED ("Sipariş verildi" satın alma durumu), CONFIRMED ("Kabul edildi" satın alma durumu) veya REJECTED ("Reddedildi" satın alma durumu) durumuna sahip bir OrderUpdate içeren bir SubmitOrderResponseMessage ile yanıt verir.

Sipariş verildiğinde kullanıcı hem sizden hem de Ordering End-to-End kullanıcı arayüzünden sipariş durumu güncellemeleri bekler. Kullanıcıya sipariş onayı e-postası göndermeniz gerekir. Ayrıca, ilgili sipariş güncellemelerini Google'a göndermek için Asenkron Sipariş Güncelleme API'sini kullanırsınız.

Eşzamansız Sipariş Güncelleme İşlemi

Kullanıcılara gönderdiğiniz bildirimlerden bağımsız olarak, aşağıdaki etkinlikler için Google'a sipariş durumu güncellemeleri de göndermeniz gerekir:

  1. CREATED ile CONFIRMED ve CONFIRMED ile IN_TRANSIT arasında geçişler gibi OrderState metriğindeki değişiklikler.
  2. Sipariş öğelerinde fiyat veya stok durumu gibi değişiklikler.
  3. Kullanıcı, müşteri destek kanallarınızdan birinde destek isteği gönderdiğinde

Güncellemeler, web hizmeti uç noktanızdan OrderUpdate içeren bir AsyncOrderUpdateRequestMessage olarak gönderilir. Google bir AsyncOrderUpdateResponseMessage ile yanıt verir.

Adım sırası şeması

Aşağıdaki görselde, sipariş tamamlama işlemlerinin web hizmetinizle nasıl etkileşimde bulunduğu gösterilmektedir. Büyütmek için tıklayın.

End-to-End sipariş karşılama akışı

İstek karşılama uç noktanızı ayarlama

Sipariş Uçtan Uca işlemleri, web hizmetinizle iletişim kurmak ve yemek siparişlerinin işlenmesini, onaylanmasını ve güncellemelerini yönetmek için JSON mesajları kullanır. Sipariş uçtan uca web hizmetinizi tasarlarken, Sipariş uçtan uca hizmetinden istek mesajları alan ve mesajları Google hizmetine geri gönderebilen bir URL uç noktası tanımlamanız gerekir. Uygulamanız aşağıdaki koşulları karşılamalıdır:

  • Web hizmetiniz, Sipariş Uçtan Uca hizmetinden POST isteği olarak JSON mesajı almalıdır.
  • Web hizmetiniz, İşlem Merkezi'nde belirttiğiniz sipariş tamamlama URL'si adlı herkese açık bir URL uç noktası sağlamalıdır. Siparişin tamamlandığı URL, ödeme yapmak ve sipariş göndermek için kullanılır. Uygulamanız her iki istek türünü de işlemelidir.
  • Web hizmetiniz, Mesaj doğrulama yöntemini kullanarak Google'dan gelen mesajları doğrulayabilmelidir.
  • URL uç noktasını uygulamanız, tek bir uç noktayla hem ödemeyi hem de sipariş tamamlamayı gerçekleştirebilmelidir. Ödeme için bir URL uç noktası ve sipariş gönderimi için ayrı bir uç noktanız olamaz.

İstemci Kitaplıkları

Araçlar bölümündeki istemci kodu oluşturucuyu kullanarak web hizmetinizi Fulfillment API spesifikasyonuna göre doğrulayabilirsiniz.