Übersicht

Diese Übersicht fasst den End-to-End-Bestellvorgang und seine Interaktion mit Ihrem Webdienst für die Auftragsausführung zusammen.

Sortierung

Die End-to-End-Benutzeroberfläche für die Bestellung verarbeitet alle Interaktionen mit dem Nutzer, wenn er seiner Bestellung Menüpunkte hinzufügt und je nach den vom Restaurant angebotenen Dienstleistungen die Abholung oder Lieferung auswählt. Diese Funktion basiert auf den Entitäten Restaurant, Service und Menu in Ihren Datenfeeds.

Im nächsten Schritt wird der vom Nutzer erstellte Cart validiert und von Ihrem Webservice verarbeitet.

Bezahlvorgang

Die Direktkauf-Aktion ist der erste Aufruf, den Google an Ihren Webdienst-Endpunkt sendet. Ihr Webdienst ist für die Validierung der Cart verantwortlich. Sie müssen die Verfügbarkeit und Preise der Artikel bestätigen, Steuern, Rabatte und Gebühren berechnen und zurückgeben sowie die Lieferadresse der Bestellung bestätigen.

Der Bezahlvorgang verläuft so:

  1. Der End-to-End-Bestellservice sendet eine CheckoutRequestMessage mit einer Cart an den Endpunkt Ihres Web-Dienstes zur Auftragsausführung.
  2. Ihr Webservice muss die Artikel in der Cart anhand der aktuellen Preise, der Verfügbarkeit und der Dienstleister validieren. Berechnen Sie dann den Gesamtpreis, einschließlich Rabatten, Steuern und Versandkosten.
  3. Ihr Endpunkt antwortet mit einer CheckoutResponseMessage, die die unveränderte Cart für erfolgreiche Anfragen enthält. Ein FoodErrorExtension kann in die CheckoutResponseMessage aufgenommen werden, um einen Verarbeitungsfehler zu melden oder bei Bedarf kleinere Änderungen vorzuschlagen.

Nachdem die Cart validiert wurde, kann der Nutzer mit der Bestellung fortfahren.

Aktion „Bestellung senden“

Die Aktion „Bestellung senden“ wird ausgelöst, wenn der Nutzer eine Bestellung aufgibt. Ihr Webservice muss den Einkaufswagen noch einmal validieren, das Kartentoken verarbeiten, sofern Onlinezahlungen aktiviert sind, und schließlich den Status der Bestellung aktualisieren.

Der Bestellvorgang verläuft so:

  1. Der End-to-End-Bestellservice sendet eine SubmitOrderRequestMessage mit einer Order an den Endpunkt Ihres Web-Dienstes zur Auftragsausführung. Ihr Backend muss noch einmal Cart-geprüft werden, bevor Sie fortfahren können.
  2. Ihr Webservice verarbeitet die Zahlungsdetails in der Order und führt in der Regel die folgenden Aktionen aus:

    1. Token-, Betrugs- und andere Berechtigungsprüfungen durchführen.
    2. Autorisieren und optional die Karte belasten.
  3. Dein Endpunkt antwortet mit einer SubmitOrderResponseMessage, die eine OrderUpdate mit dem Status CREATED („Bestellt“), CONFIRMED („Akzeptiert“) oder REJECTED („Abgelehnt“) enthält.

Nach der Bestellung erwartet der Nutzer Aktualisierungen des Bestellstatus sowohl von Ihnen als auch über die Benutzeroberfläche von „Bestellungen – Ende-zu-Ende“. Sie müssen dem Nutzer eine E-Mail mit der Bestellbestätigung senden. Außerdem verwenden Sie die Asynchronous Order Update API, um relevante Bestellaktualisierungen an Google zu senden.

Asynchrone Aktion zum Aktualisieren von Bestellungen

Unabhängig von Nutzerbenachrichtigungen müssen Sie Google auch für die folgenden Ereignisse Aktualisierungen des Bestellstatus senden:

  1. Änderungen an OrderState, z. B. von CREATED zu CONFIRMED und von CONFIRMED zu IN_TRANSIT
  2. Änderungen an Bestellartikeln, z. B. Preis oder Verfügbarkeit
  3. Immer wenn der Nutzer über einen deiner Kundensupportkanäle eine Supportanfrage stellt.

Aktualisierungen werden von Ihrem Webdienstendpunkt als AsyncOrderUpdateRequestMessage gesendet, die eine OrderUpdate enthält. Google antwortet mit einer AsyncOrderUpdateResponseMessage.

Sequenzdiagramm

Die folgende Abbildung veranschaulicht, wie Auftragsausführungsaktionen mit Ihrem Webservice interagieren. Zum Vergrößern klicken.

End-to-End-Bestellvorgang

Endpunkt für die Auftragsausführung einrichten

Bei den End-to-End-Aktionen für Bestellungen werden JSON-Nachrichten verwendet, um mit Ihrem Webdienst zu kommunizieren und die Verarbeitung, Bestätigung und Aktualisierung von Bestellungen zu verwalten. Wenn Sie Ihren End-to-End-Webdienst für die Bestellung entwerfen, müssen Sie einen URL-Endpunkt definieren, der Anfragenachrichten vom End-to-End-Dienst für die Bestellung 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 End-to-End-Bestelldienst empfangen können.
  • Ihr Webdienst muss einen öffentlich zugänglichen URL-Endpunkt bereitstellen, die sogenannte Ausführungs-URL, die Sie im Actions Center angeben. Die URL für die Auftragsausführung wird für den Bezahlvorgang und das Senden von Bestellungen verwendet. Ihre Implementierung muss beide Arten von Anfragen verarbeiten.
  • Ihr Webdienst muss Nachrichten von Google mit der Methode Nachrichtenüberprüfung überprüfen können.
  • Ihre Implementierung des URL-Endpunkts muss sowohl den Bezahlvorgang als auch die Auftragsausführung mit einem einzigen Endpunkt verarbeiten können. Sie können nicht einen URL-Endpunkt für den Bezahlvorgang und einen separaten Endpunkt für die Bestellung haben.

Clientbibliotheken

Mit dem Clientcode-Generator im Bereich „Tools“ können Sie Ihren Webdienst anhand der Fulfillment API-Spezifikation prüfen.