Przegląd

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, ServiceMenu 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:

  1. Usługa kompleksowego zamawiania wysyła do punktu końcowego usługi internetowej realizacji zamówienia CheckoutRequestMessage zawierający Cart.
  2. 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ę.
  3. W przypadku pomyślnie zrealizowanych żądań punkt końcowy odpowiada za pomocą zapytania CheckoutResponseMessage zawierającego niezmodyfikowane dane Cart. W CheckoutResponseMessage 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:

  1. Usługa kompleksowego zamawiania wysyła do punktu końcowego usługi internetowej realizacji zamówienia SubmitOrderRequestMessage, który zawiera Order. Zanim przejdziesz dalej, backend musi wykonać kolejną weryfikację Cart.
  2. Twoja usługa internetowa przetwarza szczegóły płatności znalezione w Order, wykonując zazwyczaj te czynności:

    1. weryfikować tokeny, sprawdzać oszustwa i inne kryteria;
    2. autoryzować i opcjonalnie obciążać kartę;
  3. Usługa na końcu łańcucha reaguje, zwracając SubmitOrderResponseMessage, który zawiera OrderUpdate ze stanem CREATED (stan zakupu „Zamówiono”), CONFIRMED (stan zakupu „Zatwierdzono”) lub REJECTED (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:

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

Proces kompleksowej realizacji zamówienia

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.