Actions on Google – Webhook-Formate (Dialogflow)

In diesem Dokument wird das Webhook-Format für die Kommunikation zwischen Actions on Google und dem Auftragsausführungsdienst beschrieben, der eine benutzerdefinierte dialogorientierte Benutzeroberfläche definiert.

Es ist wichtig zu verstehen, wie Actions on Google und Ihre Auftragsausführung über die Webhook-Formate von Actions on Google kommunizieren:

  • Für die Teilnahme an Unterhaltungen mit Actions on Google wird ein Webhook implementiert, der auf HTTP-Anfragen von Actions on Google reagieren kann.
  • Wenn Nutzer Ihre Aktion aufrufen, erhält die Auftragsausführung einen HTTP POST mit einer JSON-Nutzlast, die die Anfrage des Nutzers beschreibt.
  • Die Auftragsausführung wiederum ist dafür verantwortlich, die Parameter aus der Anfragenutzlast zu lesen, eine geeignete JSON-formatierte Antwort zu generieren und mit dieser Antwort an Assistant eine Antwort zu senden.

Anfragetypen

In dieser Tabelle werden die Arten von Anfragen zusammengefasst, die Ihr Webhook möglicherweise von Assistant empfängt:

Typ Beschreibung JSON-Beispiele
Aufrufanfragen Äußerungen von Nutzern, die die Unterhaltung mit Ihrer Auftragsausführung einleiten oder Deeplink-Aktionen auslösen (z. B. Mit Talk Chef kontaktieren, um Rezepte fürs Abendessen zu finden)
  • Bei Verwendung von Dialogflow entsprechen diese Anfragen den Intents, die im Abschnitt Discovery der Integrationseinstellungen von Google Assistant definiert sind.
  • Wenn Sie das Actions SDK verwenden, entsprechen diese Anfragen den in Ihrem Aktionspaket definierten Intents.
Unterhaltungsanfragen Äußerungen von Nutzern in derselben Sitzung, nachdem die Unterhaltung mit der Auftragsausführung begonnen hat. Im Webhook-Format für Unterhaltungen sind die Rohtextantworten des Nutzers, die actions.intent.TEXT-Intents entsprechen, die in der vorherigen Abfolge von der Auftragsausführung angefordert wurden.
Hilfsergebnisse Anfragen, die von Assistant an die Auftragsausführung gesendet werden, wenn Ihr Webhook in der vorherigen Abzweigung der Unterhaltung einen Helper-Intent angefordert hat, um Teile der Unterhaltung zu verarbeiten (z. B. actions.intent.OPTION und actions.intent.PERMISSION).

Unterhaltungsanfragen und -antworten

In einem typischen Interaktionsszenario von Actions on Google sagen Nutzer Wortgruppen zu Aktionen. Um eine Antwort zu senden, sucht Actions on Google die Auftragsausführung, die der vom Nutzer aufgerufenen Aktion entspricht, und sendet die Anfrage dort.

Sobald Actions on Google festgestellt hat, dass die Auftragsausführung für den Aufruf des Nutzers geeignet ist, wird eine Unterhaltungssitzung gestartet. Dazu wird eine HTTP-Anfrage mit einer JSON-Nutzlast und den Anfrageinformationen des Nutzers an den Auftragsausführungsendpunkt gesendet. Die Auftragsausführung parst die Anfrage und gibt eine Antwort zurück, die eine JSON-Nutzlast enthält. Actions on Google wandelt die Nutzlast dann für Nutzer in die gerenderte Sprach- und Multimediaausgabe um.

Abbildung 1. Actions on Google, die die Auftragsausführung über das Actions SDK aufrufen.

Weitere Informationen zum Format der JSON-Nutzlast, wenn Actions on Google die Auftragsausführung über das Actions SDK aufruft, finden Sie unter Unterhaltungs-Webhook-Format.

Dialogflow-Anfragen und -Antworten

Beim Erstellen von Aktionen können Sie Dialogflow optional verwenden, um die Erstellung von Kommunikationsschnittstellen zu vereinfachen. In diesem Szenario fungiert Dialogflow als Proxy zwischen Actions on Google und Ihrer Auftragsausführung. Anstatt die HTTP/JSON-Anfrage direkt an den Auftragsausführungsendpunkt zu senden, wird sie von Actions on Google an Dialogflow gesendet.

Dialogflow verpackt die in der ursprünglichen Anfrage enthaltene JSON-Nutzlast im Dialogflow-Webhook-Format und leitet die daraus resultierende Anfrage an die Dialogflow-Auftragsausführung weiter.

Wenn Ihre Auftragsausführung hingegen eine Antwort an Dialogflow sendet, muss die JSON-Nutzlast der Antwort dem Dialogflow-Webhook-Format entsprechen. Die Auftragsausführung parst die Parameter aus der Dialogflow-JSON-Anfrage und generiert eine Antwort im Dialogflow-Webhook-Format. Dialogflow wandelt die Antwort dann aus Ihrer Auftragsausführung in eine Antwortnachricht um, die Assistant versteht.

Abbildung 2. Actions on Google, die die Auftragsausführung über Dialogflow aufrufen.

Weitere Informationen zum Format der JSON-Nutzlast, wenn Actions on Google die Auftragsausführung über Dialogflow aufruft, finden Sie unter Dialogflow-Webhook-Format.