Übersicht

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:

  1. Der Order with Google-Dienst sendet eine CheckoutRequestMessage mit einem Cart an den Webdienstendpunkt für die Auftragsausführung.
  2. 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.
  3. Der Endpunkt antwortet mit einem CheckoutResponseMessage, der den unveränderten Cart für erfolgreiche Anfragen enthält. FoodErrorExtension kann in CheckoutResponseMessage 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:

  1. Der Order with Google-Dienst sendet eine SubmitOrderRequestMessage mit einem Order an den Webdienstendpunkt für die Auftragsausführung. Ihr Back-End muss eine weitere Cart-Validierung ausführen, bevor Sie fortfahren.
  2. Ihr Webdienst verarbeitet die Zahlungsdetails in Order und führt normalerweise die folgenden Aktionen aus:

    1. Tokenüberprüfung, Betrug und andere Berechtigungsprüfungen durchführen
    2. Autorisieren Sie die Karte und belasten Sie sie bei Bedarf.
  3. Der Endpunkt antwortet mit einem SubmitOrderResponseMessage, der eine OrderUpdate mit dem Status CREATED (Bestellstatus), CONFIRMED (Kaufstatus) oder REJECTED (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:

  1. Änderungen an OrderState, z. B. Umstellungen von CREATED auf CONFIRMED und CONFIRMED auf IN_TRANSIT.
  2. Änderungen an Bestellelementen, z. B. Preis oder Verfügbarkeit
  3. 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.

Ablauf „Mit Google bestellen“

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.