Przegląd

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:

  1. Kompleksowa usługa sortowania wysyła żądanie CheckoutRequestMessage zawierające Cart do punktu końcowego usługi internetowej realizacji zamówień.
  2. 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ę.
  3. Punkt końcowy odpowiada CheckoutResponseMessage, który zawiera niezmodyfikowany Cart dla udanych żądań. W CheckoutResponseMessage 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:

  1. Kompleksowa usługa sortowania wysyła żądanie SubmitOrderRequestMessage zawierające Order do punktu końcowego usługi internetowej realizacji zamówień. Zanim przejdziesz dalej, backend musi przeprowadzić kolejną weryfikację Cart.
  2. Twoja usługa internetowa przetwarza dane do płatności podane w polu Order, zwykle wykonując te działania:

    1. Sprawdzaj tokeny, przeprowadzaj oszustwo i inne testy kwalifikacyjne.
    2. Autoryzuj kartę i opcjonalnie ją obciążymy.
  3. Punkt końcowy odpowiada SubmitOrderResponseMessage, który zawiera OrderUpdate ze stanem CREATED („Zamówione”), CONFIRMED („Zaakceptowano”) lub REJECTED (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ń:

  1. Zmiany w OrderState, takie jak przejście z CREATED na CONFIRMED lub CONFIRMED do IN_TRANSIT.
  2. zmiany pozycji w zamówieniu, np. ceny lub dostępności;
  3. 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ć.

Kompleksowa realizacja zamawiania

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ń.