W skrócie

W tym omówieniu opisujemy proces składania zamówień w Zamów przez Google i interakcję z usługą realizacji zamówień.

Kolejność

Interfejs Order with Google obsługuje wszystkie interakcje z użytkownikiem podczas dodawania pozycji do zamówienia i podejmowania decyzji o odbiorze lub dostawie, 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, w którym powstała przez użytkownika usługa Cart, która została przetworzona przez usługę internetową.

Działanie w momencie płatności

Działanie Checkout to pierwsze wywołanie Google do punktu końcowego usługi internetowej. Za weryfikację Cart odpowiada Twoja usługa internetowa. Musisz potwierdzić dostępność i ceny produktów, obliczyć i zwrócić podatki, rabaty i opłaty, a także zweryfikować adres dostawy zamówienia.

Proces płatności przebiega w tej kolejności:

  1. Usługa Order with Google wysyła CheckoutRequestMessage, który zawiera element Cart do Twojego punktu końcowego usługi internetowej realizacji zamówień.
  2. Twoja usługa internetowa musi zweryfikować produkty w: Cart na podstawie aktualnych cen, dostępności i dostawców usług. Potem obliczasz łączną cenę, która obejmuje rabaty, podatki i opłaty za dostawę.
  3. W punkcie końcowym odpowiada CheckoutResponseMessage zawierający niezmodyfikowany Cart na potrzeby udanych żądań. CheckoutResponseMessage może zawierać FoodErrorExtension, aby powodować błąd przetwarzania lub zaproponować drobne zmiany, jeśli to konieczne.

Po sprawdzeniu znaczników Cart użytkownik może przejść do etapu przesyłania zamówienia.

Prześlij działanie związane z zamówieniem

Działanie polegające na przesłaniu zamówienia jest wywoływane, gdy użytkownik składa zamówienie. Usługa internetowa musi ponownie zweryfikować koszyk, przetworzyć token karty (jeśli płatności online są włączone) i zaktualizować stan zamówienia.

Proces składania zamówienia przebiega w tej kolejności:

  1. Usługa Order with Google wysyła SubmitOrderRequestMessage, który zawiera element Order do Twojego punktu końcowego usługi internetowej realizacji zamówień. Twój backend musi wykonać kolejną weryfikację Cart, zanim przejdziesz dalej.
  2. Twoja usługa internetowa przetwarza dane do płatności znajdujące się w Order, zwykle wykonując te czynności:

    1. Weryfikuj tokeny, oszustwo i inne kontrole.
    2. Autoryzuj kartę i opcjonalnie ją obciążaj.
  3. Twój punkt końcowy zawiera SubmitOrderResponseMessage z elementem OrderUpdate o stanie CREATED ("zamówiony; stan zakupu), CONFIRMED ("zaakceptowany i stan zakupu) lub REJECTED("odrzucony" stan zakupu).

Po złożeniu zamówienia użytkownik oczekuje, że będzie otrzymywać aktualizacje stanu zarówno od Ciebie, jak i przez interfejs Order with Google. Musisz wysłać użytkownikowi e-maila z potwierdzeniem zamówienia. Oprócz tego do wysyłania do Google odpowiednich aktualizacji zamówień służy interfejs API aktualizacji zamówienia asynchronicznego.

Asynchroniczne działanie aktualizacji zamówienia

Niezależnie od powiadomień użytkownika, musisz także przesłać do Google aktualne informacje o stanie zamówienia dotyczące tych zdarzeń:

  1. zmiany w OrderState, np. przejście z CREATED na CONFIRMED oraz CONFIRMED na IN_TRANSIT;
  2. zmiany pozycji zamówień, np. cena lub dostępność;
  3. Za każdym razem, gdy użytkownik wywoła żądanie pomocy z jednego z Twoich kanałów obsługi klienta.

Aktualizacje są wysyłane z punktu końcowego usługi internetowej jako właściwość AsyncOrderUpdateRequestMessage zawierająca OrderUpdate. Google odpowiada AsyncOrderUpdateResponseMessage.

Diagram sekwencji

Poniższy przykład przedstawia sposób wykonywania działań realizacji zamówień w Twojej usłudze internetowej. Kliknij, aby powiększyć.

Proces realizacji zamówienia w Google

Konfigurowanie punktu końcowego realizacji

Działania „Zamów przez Google” używają komunikatów JSON do komunikacji z usługą internetową oraz przetwarzania, potwierdzania i aktualizowania zamówień do jedzenia. Podczas projektowania usługi internetowej Zamów przez Google musisz zdefiniować punkt końcowy adresu URL, który będzie odbierać wiadomości od żądań usługi Zamów przez Google i zwrócić wiadomości do usługi Google. Implementacja musi spełniać te wymagania:

  • Twoja usługa internetowa musi być w stanie odbierać wiadomość JSON jako żądanie POST z usługi Order with Google.
  • Usługa internetowa musi udostępniać publicznie dostępny punkt końcowy – nazywany adresem URL realizacjiokreślonym w portalu dla partnerów. Adres URL realizacji pozwala sprawdzić i przesłać zamówienia. Implementacja musi obsługiwać oba typy żądań.
  • Usługa internetowa musi mieć możliwość weryfikowania wiadomości od Google za pomocą metody weryfikacji wiadomości.
  • Implementacja punktu końcowego adresu URL musi obejmować zarówno realizację, jak i realizację zamówień za pomocą jednego punktu końcowego. Nie możesz mieć jednego punktu końcowego adresu URL do płatności i osobnego punktu końcowego do przesyłania zamówień.

Biblioteki klienta

Generator kodu klienta w sekcji Narzędzia jest dostępny w celu sprawdzenia poprawności usługi internetowej pod kątem zgodności ze specyfikacją interfejsu API Funding Choices.