To omówienie zawiera podsumowanie całego procesu zamawiania oraz sposobu jego interakcji z usługą internetową realizacji zamówień.
Kolejność
Kompleksowy interfejs do zamawiania obsługuje wszystkie interakcje z użytkownikiem, gdy dodaje on pozycje menu do zamówienia i decyduje o odbiorze lub dostawie, w zależności od usług oferowanych przez restaurację. Wykorzystuje encje Restaurant
, Service
i Menu
, które znajdują się w Twoich plikach danych.
Kolejny etap to etap weryfikacji koszyka, na którym Twoja usługa internetowa przetwarza wynik Cart
utworzony przez użytkownika.
Czynność związana z płatnością
Akcja płatności to pierwsze wywołanie przez Google punktu końcowego usługi internetowej.
Za weryfikację zasobu Cart
odpowiada Twoja usługa internetowa. Musisz potwierdzić dostępność i ceny produktów, obliczyć podatki i opłaty za zwrot oraz rabaty, a także zweryfikować adres dostawy zamówienia.
Proces płatności przebiega w następujący sposób:
- Kompleksowa usługa sortowania wysyła żądanie
CheckoutRequestMessage
zawierająceCart
do punktu końcowego usługi internetowej realizacji zamówień. - Twoja usługa internetowa musi zweryfikować elementy w:
Cart
na podstawie aktualnych cen, dostępności i dostawców usług. Następnie obliczasz łączną cenę obejmującą rabaty, podatki i opłaty za dostawę. - Punkt końcowy odpowiada
CheckoutResponseMessage
, który zawiera niezmodyfikowanyCart
dla udanych żądań. WCheckoutResponseMessage
można umieścićFoodErrorExtension
, aby zgłosić błąd przetwarzania lub zaproponować drobne zmiany, jeśli są konieczne.
Po zweryfikowaniu obiektu Cart
użytkownik może przejść do etapu przesyłania zamówienia.
Działanie przesłania zamówienia
Przesłanie zamówienia jest wywoływane, gdy użytkownik złoży zamówienie. Usługa internetowa musi ponownie zweryfikować koszyk, przetworzyć token karty (jeśli są włączone płatności online), a na koniec zaktualizować stan zamówienia.
Proces przesyłania zamówienia przebiega w następujący sposób:
- Kompleksowa usługa sortowania wysyła żądanie
SubmitOrderRequestMessage
zawierająceOrder
do punktu końcowego usługi internetowej realizacji zamówień. Zanim przejdziesz dalej, backend musi przeprowadzić kolejną weryfikacjęCart
. Twoja usługa internetowa przetwarza dane do płatności podane w polu
Order
, zwykle wykonując te działania:- Sprawdzaj tokeny, przeprowadzaj oszustwo i inne testy kwalifikacyjne.
- Autoryzuj kartę i opcjonalnie ją obciążymy.
Punkt końcowy odpowiada
SubmitOrderResponseMessage
, który zawieraOrderUpdate
ze stanemCREATED
(„Zamówione”),CONFIRMED
(„Zaakceptowano”) lubREJECTED
(stan zakupu „Odrzucono”).
Po złożeniu zamówienia użytkownik oczekuje, że będzie otrzymywać aktualizacje stanu zamówienia zarówno od Ciebie, jak i w kompleksowym interfejsie do składania zamówień. Musisz wysłać do użytkownika e-maila z potwierdzeniem zamówienia. Dodatkowo do wysyłania do Google odpowiednich aktualizacji zamówień używasz interfejsu Asynchronous Order Update API.
Akcja aktualizacji zamówienia asynchronicznego
Niezależnie od wszelkich powiadomień od użytkowników po swojej stronie musisz też wysyłać do Google aktualizacje stanu zamówienia w przypadku tych zdarzeń:
- Zmiany w
OrderState
, takie jak przejście zCREATED
naCONFIRMED
lubCONFIRMED
doIN_TRANSIT
. - zmiany pozycji w zamówieniu, np. ceny lub dostępności;
- za każdym razem, gdy użytkownik wywoła prośbę o pomoc pochodzącą z jednego z Twoich kanałów obsługi klienta.
Aktualizacje są wysyłane z punktu końcowego usługi internetowej jako AsyncOrderUpdateRequestMessage
zawierające OrderUpdate
. W odpowiedzi Google
wyświetla AsyncOrderUpdateResponseMessage
.
Schemat sekwencji
Ta ilustracja pokazuje, jak działania związane z realizacją wchodzą w interakcję z Twoją usługą internetową. Kliknij, aby powiększyć.
Konfigurowanie punktu końcowego realizacji zamówień
Kompleksowe działania związane z zamawianiem wykorzystują wiadomości JSON do komunikowania się z Twoją usługą internetową oraz do przetwarzania, potwierdzania i aktualizowania zamówień na jedzenie. Podczas projektowania kompleksowej usługi internetowej do zamawiania musisz zdefiniować punkt końcowy adresu URL, na który będą przychodzić wiadomości z żądaniami z tej usługi i które mogą zwracać wiadomości z powrotem do usługi Google. Twoja implementacja musi spełniać te wymagania:
- Twoja usługa internetowa musi być w stanie odebrać wiadomość JSON jako żądanie
POST
z kompleksowej usługi do zamawiania. - 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 zamówienia służy do realizacji i przesyłania zamówień. Twoja implementacja musi obsługiwać oba typy żądań.
- Usługa internetowa musi mieć możliwość weryfikowania wiadomości od Google przy użyciu metody weryfikacji wiadomości.
- Implementacja punktu końcowego adresu URL musi być w stanie obsługiwać zarówno proces płatności, jak i realizacji zamówień za pomocą jednego punktu końcowego. Nie możesz mieć jednego adresu URL punktu końcowego płatności i osobnego punktu końcowego składania zamówień.
Biblioteki klienta
Generator kodu klienta w sekcji Narzędzia umożliwia sprawdzenie, czy Twoja usługa internetowa jest zgodna ze specyfikacją interfejsu API realizacji zamówień.