In dieser Übersicht wird der „Order with Google“-Ablauf zusammengefasst und erklärt, wie er mit dem Webdienst für die Auftragsausführung interagiert.
Sortierung
Die Benutzeroberfläche von Order with Google verarbeitet alle Interaktionen mit dem Nutzer, wenn er der Bestellung Menüelemente hinzufügt und über die vom Restaurant angebotenen Dienstleistungen entscheidet (Abholung oder Lieferung). Dafür stehen die Entitäten Restaurant
, Service
und Menu
in Ihren Datenfeeds zur Verfügung.
Der nächste Schritt ist die Einkaufswagen-Validierungsphase, in der die daraus resultierende Cart
, die vom Nutzer erstellt wird, von Ihrem Webdienst verarbeitet wird.
Aktion beim Bezahlen
„Bezahlaktion“ ist der erste Aufruf von Google an Ihren Webdienstendpunkt.
Ihr Webdienst ist für die Überprüfung der Cart
verantwortlich. Sie müssen die Verfügbarkeit und den Preis der Artikel bestätigen, Steuern, Rabatte und Gebühren berechnen und die Lieferadresse der Bestellung validieren.
Der Bezahlvorgang erfolgt in folgender Reihenfolge:
- Der Order with Google-Dienst sendet eine
CheckoutRequestMessage
mit einemCart
an den Webdienstendpunkt für die Auftragsausführung. - Der Webdienst muss die Artikel in
Cart
anhand der aktuellen Preise, Verfügbarkeit und Dienstanbieter validieren. Anschließend berechnen Sie den Gesamtpreis, einschließlich Rabatten, Steuern und Versandkosten. - Der Endpunkt antwortet mit einem
CheckoutResponseMessage
, der den unverändertenCart
für erfolgreiche Anfragen enthält.FoodErrorExtension
kann inCheckoutResponseMessage
aufgenommen werden, um bei Bedarf einen Verarbeitungsfehler auszulösen oder kleinere Änderungen vorzuschlagen.
Nach der Validierung von Cart
kann der Nutzer zur Bestellübermittlungsphase des Vorgangs übergehen.
Bestellaktion senden
Die Aktion „Bestellung senden“ wird ausgelöst, wenn der Nutzer die Bestellung aufgibt. Ihr Webdienst muss den Einkaufswagen neu validieren, das Kartentoken verarbeiten, wenn Onlinezahlungen aktiviert sind, und schließlich den Status der Bestellung aktualisieren.
Der Bestellvorgang läuft in folgender Reihenfolge ab:
- Der Order with Google-Dienst sendet eine
SubmitOrderRequestMessage
mit einemOrder
an den Webdienstendpunkt für die Auftragsausführung. Ihr Back-End muss eine weitereCart
-Validierung ausführen, bevor Sie fortfahren. Ihr Webdienst verarbeitet die Zahlungsdetails in
Order
und führt normalerweise die folgenden Aktionen aus:- Tokenüberprüfung, Betrug und andere Berechtigungsprüfungen durchführen
- Autorisieren Sie die Karte und belasten Sie sie bei Bedarf.
Der Endpunkt antwortet mit einem
SubmitOrderResponseMessage
, der eineOrderUpdate
mit dem StatusCREATED
(Bestellstatus),CONFIRMED
(Kaufstatus) oderREJECTED
(Kaufstatus) enthält.
Nachdem die Bestellung aufgegeben wurde, erwartet der Nutzer, dass er Updates zum Bestellstatus sowohl von dir als auch von der „Order with Google“-Benutzeroberfläche erhält. Sie müssen dem Nutzer eine Bestellbestätigung per E-Mail senden. Darüber hinaus verwenden Sie die Async Order Update API, um relevante Bestellaktualisierungen an Google zu senden.
Asynchrone Aktion zum Aktualisieren von Aufträgen
Unabhängig von den Nutzerbenachrichtigungen müssen Sie außerdem Bestellstatusaktualisierungen für folgende Ereignisse an Google senden:
- Änderungen an
OrderState
, z. B. Umstellungen vonCREATED
aufCONFIRMED
undCONFIRMED
aufIN_TRANSIT
. - Änderungen an Bestellelementen, z. B. Preis oder Verfügbarkeit
- Immer, wenn der Nutzer eine Supportanfrage von einem Ihrer Kundensupportkanäle auslöst.
Aktualisierungen werden von Ihrem Webdienstendpunkt als AsyncOrderUpdateRequestMessage
gesendet, der OrderUpdate
enthält. Google antwortet mit einem AsyncOrderUpdateResponseMessage
.
Sequenzdiagramm
Die folgende Abbildung zeigt, wie Auftragsausführungsaktionen mit Ihrem Webdienst interagieren. Zum Vergrößern klicken.
Endpunkt für die Auftragsausführung einrichten
Bei „Order with Google“-Aktionen werden JSON-Nachrichten verwendet, um mit Ihrem Webdienst zu kommunizieren und die Verarbeitung, Bestätigung und Aktualisierung von Essensbestellungen zu verarbeiten. Wenn du deinen „Order with Google“-Webdienst entwickelst, musst du einen URL-Endpunkt definieren, der Anfragenachrichten des „Order with Google“-Dienstes empfängt und Nachrichten an den Google-Dienst zurückgeben kann. Ihre Implementierung muss die folgenden Anforderungen erfüllen:
- Ihr Webdienst muss eine JSON-Nachricht als
POST
-Anfrage vom „Order with Google“-Dienst empfangen können. - Dein Webdienst muss einen öffentlich zugänglichen URL-Endpunkt bereitstellen, der als Auftragsausführungs-URL bezeichnet wird und den du im Partner-Portal angegeben hast. Die URL für die Auftragsausführung wird zum Bezahlen und Einreichen von Bestellungen verwendet. Ihre Implementierung muss beide Arten von Anfragen verarbeiten.
- Ihr Webdienst muss Nachrichten von Google mithilfe der Methode Nachrichtenbestätigung bestätigen können.
- Deine Implementierung des URL-Endpunkts muss sowohl den Bezahlvorgang als auch die Auftragserfüllung mit einem einzigen Endpunkt unterstützen. Sie können nicht einen URL-Endpunkt für den Bezahlvorgang und einen separaten Endpunkt für die Übermittlung der Bestellung angeben.
Clientbibliotheken
Mit dem Clientcode-Generator im Bereich „Tools“ können Sie Ihren Webdienst anhand der Fulfillment API-Spezifikation validieren.