Ten przegląd podsumowuje proces zamawiania od początku do końca i jego interakcje z usługą internetową zapewniającą realizację.
Kolejność
Interfejs użytkownika w ramach usługi kompleksowego zamawiania obsługuje wszystkie interakcje z użytkownikiem, gdy dodaje on pozycje z menu do zamówienia i decyduje się na odbiór osobisty lub dostawę, w zależności od usług oferowanych przez restaurację. Ta funkcja korzysta z elementów Restaurant
, Service
i Menu
znajdujących się w Twoich plikach danych.
Następnym krokiem jest etap weryfikacji koszyka, na którym usługa internetowa przetwarza utworzony przez użytkownika Cart
.
Działanie w procesie płatności
Działanie płatności to pierwsze wywołanie przez Google punktu końcowego usługi internetowej.
Twoja usługa internetowa jest odpowiedzialna za sprawdzanie Cart
. Musisz potwierdzić dostępność i cenę produktów, obliczyć i zwrócić podatki, rabaty i opłaty oraz zweryfikować adres dostawy zamówienia.
Proces płatności przebiega w taki sposób:
- Usługa kompleksowego zamawiania wysyła do punktu końcowego usługi internetowej realizacji zamówienia
CheckoutRequestMessage
zawierającyCart
. - Twoja usługa internetowa musi weryfikować elementy w
Cart
na podstawie bieżących cen, dostępności i dostawców usług. Następnie oblicz łączną cenę, która obejmuje rabaty, podatki i opłaty za dostawę. - W przypadku pomyślnie zrealizowanych żądań punkt końcowy odpowiada za pomocą zapytania
CheckoutResponseMessage
zawierającego niezmodyfikowane daneCart
. WCheckoutResponseMessage
można umieścićFoodErrorExtension
, aby zgłosić błąd przetwarzania lub zaproponować drobne zmiany (w razie potrzeby).
Po potwierdzeniu Cart
użytkownik może przejść do etapu przesyłania zamówienia.
Prześlij zamówienie
Działanie przesłania zamówienia jest wywoływane, gdy użytkownik złoży zamówienie. Twoja usługa internetowa musi ponownie zweryfikować koszyk, przetworzyć token karty, jeśli płatności online są włączone, a na koniec zaktualizować stan zamówienia.
Proces przesyłania zamówienia przebiega w takiej kolejności:
- Usługa kompleksowego zamawiania wysyła do punktu końcowego usługi internetowej realizacji zamówienia
SubmitOrderRequestMessage
, który zawieraOrder
. Zanim przejdziesz dalej, backend musi wykonać kolejną weryfikacjęCart
. Twoja usługa internetowa przetwarza szczegóły płatności znalezione w
Order
, wykonując zazwyczaj te czynności:- weryfikować tokeny, sprawdzać oszustwa i inne kryteria;
- autoryzować i opcjonalnie obciążać kartę;
Usługa na końcu łańcucha reaguje, zwracając
SubmitOrderResponseMessage
, który zawieraOrderUpdate
ze stanemCREATED
(stan zakupu „Zamówiono”),CONFIRMED
(stan zakupu „Zatwierdzono”) lubREJECTED
(stan zakupu „Odrzucono”).
Po złożeniu zamówienia użytkownik oczekuje, że otrzyma informacje o jego stanie zarówno od Ciebie, jak i od interfejsu kompleksowej obsługi zamawiania. Musisz wysłać użytkownikowi e-maila z potwierdzeniem zamówienia. Dodatkowo możesz używać asynchronicznego interfejsu Order Update API, aby wysyłać do Google odpowiednie aktualizacje zamówień.
Asynchroniczne działanie aktualizacji zamówienia
Niezależnie od powiadomień wysyłanych do użytkowników musisz też wysyłać do Google aktualizacje stanu zamówienia w tych przypadkach:
- Zmiany w
OrderState
, np. przejście zCREATED
naCONFIRMED
i zCONFIRMED
naIN_TRANSIT
. - zmiany elementów zamówienia, takie jak cena lub dostępność;
- Gdy użytkownik wyśle prośbę o pomoc za pomocą jednego z Twoich kanałów obsługi klienta.
Aktualizacje są wysyłane z punktu końcowego usługi internetowej jako AsyncOrderUpdateRequestMessage
zawierający OrderUpdate
. Google odpowiada: AsyncOrderUpdateResponseMessage
.
Schemat sekwencji
Ilustracja poniżej pokazuje, jak działania związane z realizacją zamówienia współdziałają z Twoją usługą internetową. Kliknij, aby powiększyć.
Konfigurowanie punktu końcowego realizacji
Działania dotyczące zamawiania od początku do końca używają komunikatów JSON do komunikacji z Twoją usługą internetową i obsługi przetwarzania, potwierdzenia i aktualizacji zamówień na jedzenie. Podczas projektowania kompleksowej usługi internetowej Zamawianie musisz zdefiniować punkt końcowy adresu URL, który odbiera żądania od kompleksowej usługi internetowej Zamawianie i może zwracać wiadomości do usługi Google. Implementacja musi spełniać te wymagania:
- Twoja usługa internetowa musi mieć możliwość odbierania komunikatu JSON jako żądania
POST
z usługi kompleksowego zamawiania. - Twoja usługa internetowa musi udostępniać publicznie dostępny punkt końcowy URL o nazwie URL realizacji, który określasz w Centrum działań. Adres URL realizacji służy do sprawdzania i przesyłania zamówień. Twoja implementacja musi obsługiwać oba typy żądań.
- Twoja usługa internetowa musi być w stanie zweryfikować wiadomości od Google za pomocą metody weryfikacji wiadomości.
- Implementacja punktu końcowego adresu URL musi umożliwiać obsługę zarówno płatności, jak i realizacji zamówienia za pomocą jednego punktu końcowego. Nie możesz mieć jednego punktu końcowego URL do płatności i osobnego punktu końcowego do przesyłania zamówień.
Biblioteki klienta
Generator kodu klienta w sekcji Narzędzia umożliwia sprawdzenie Twojej usługi internetowej pod kątem zgodności ze specyfikacją interfejsu Fulfillment API.