Method: projects.sendInteraction

Spielt eine Runde der Unterhaltung.

HTTP-Anfrage

POST https://actions.googleapis.com/v2/{project=projects/*}:sendInteraction

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
project

string

Erforderlich. Das getestete Projekt, angegeben durch die Projekt-ID. Format: projects/{project}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Felder
input

object (UserInput)

Erforderlich. Vom Nutzer bereitgestellte Eingabe.

deviceProperties

object (DeviceProperties)

Erforderlich. Eigenschaften des Geräts, das für die Interaktion mit der Aktion verwendet wird.

conversationToken

string

Intransparentes Token, das als empfangen von SendInteractionResponse bei der vorherigen Interaktion übergeben werden muss. Diese Einstellung kann nicht konfiguriert werden, um eine neue Unterhaltung zu starten – entweder als erste Interaktion in einer Testsitzung oder um eine vorherige Unterhaltung zu verlassen und eine neue zu starten.

Antworttext

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

Antwort auf eine Diskussionsrunde

JSON-Darstellung
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Felder
output

object (Output)

Für den Nutzer bereitgestellte Ausgabe.

diagnostics

object (Diagnostics)

Diagnoseinformationen, aus denen hervorgeht, wie die Anfrage bearbeitet wurde.

conversationToken

string

Intransparentes Token, das beim nächsten RPC-Aufruf für SendInteractionRequest festgelegt wird, um dieselbe Unterhaltung fortzusetzen.

UserInput

Nutzerfeedback in einer Gesprächsrunde.

JSON-Darstellung
{
  "query": string,
  "type": enum (InputType)
}
Felder
query

string

Inhalt der vom Nutzer gesendeten Eingabe.

type

enum (InputType)

Typ der Eingabe.

InputType

Gibt die Eingabequelle, die eingegebene Suchanfrage oder die gesprochene Anfrage an.

Enums
INPUT_TYPE_UNSPECIFIED Nicht angegebene Eingabequelle.
TOUCH Abfrage über eine GUI-Interaktion.
VOICE Gesprochene Anfrage.
KEYBOARD Eingabe der Suchanfrage.
URL Die Aktion wurde durch einen URL-Link ausgelöst.

DeviceProperties

Eigenschaften des Geräts, die für eine Gesprächsrunde relevant sind.

JSON-Darstellung
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
Felder
surface

enum (Surface)

Oberfläche, die für die Interaktion mit der Aktion verwendet wird.

location

object (Location)

Gerätestandort, z. B. Breiten- und Längengrad sowie formatierte Adresse

locale

string

Die auf dem Gerät festgelegte Sprache. Das Format muss BCP 47 entsprechen: https://tools.ietf.org/html/bcp47. Beispiele: en, en-US, es-419 (weitere Beispiele finden Sie unter https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Die auf dem Gerät festgelegte Zeitzone. Das Format sollte der IANA-Zeitzonendatenbank entsprechen, z.B. „America/New_York“: https://www.iana.org/time-zones

Plattform/Oberfläche

Mögliche Oberflächen, die für die Interaktion mit der Aktion verwendet werden. In Zukunft können weitere Werte enthalten sein.

Enums
SURFACE_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
SPEAKER Lautsprecher (z. B. Google Home)
PHONE Smartphone.
ALLO Allo-Chat.
SMART_DISPLAY Smart Display-Gerät.
KAI_OS KaiOS

Standort

Container, der einen Standort darstellt.

JSON-Darstellung
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Felder
coordinates

object (LatLng)

Geokoordinaten: Erfordert die Berechtigung [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Angezeigte Adresse, z.B. „1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA“. Erfordert die Berechtigung [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Postleitzahl. Erfordert die Berechtigung [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] oder [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Stadt. Erfordert die Berechtigung [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] oder [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Ein Objekt, das ein Paar aus Breiten- und Längengrad darstellt. Dies wird als Paar von Double-Werten zur Darstellung von Breiten- und Längengraden ausgedrückt. Sofern nicht anders angegeben, muss dieses Objekt dem WGS84-Standard entsprechen. Die Werte müssen innerhalb normalisierter Bereiche liegen.

JSON-Darstellung
{
  "latitude": number,
  "longitude": number
}
Felder
latitude

number

Der Breitengrad in Grad. Er muss im Bereich [-90,0, +90,0] liegen.

longitude

number

Der Längengrad in Grad. Er muss im Bereich [-180,0, +180,0] liegen.

Ausgabe

Für den Nutzer sichtbare Ausgabe der Gesprächsrunde.

JSON-Darstellung
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
Felder
text

string

Gesprochene Antwort, die als einfacher String an den Nutzer gesendet wird.

speech[]

string

Von der Aktion erzeugte Sprachinhalte. Dies kann Markup-Elemente wie SSML enthalten.

canvas

object (Canvas)

Interaktive Canvas-Inhalte.

actionsBuilderPrompt

object (Prompt)

Status des Prompts am Ende der Gesprächsrunde. Weitere Informationen zu diesem Prompt: https://developers.google.com/assistant/conversational/prompts

Canvas

Stellt eine Interactive Canvas-Antwort dar, die an den Nutzer gesendet werden soll. Dies kann zusammen mit dem Feld „firstSimple“ in der zugehörigen Aufforderung verwendet werden, um mit dem Nutzer zu sprechen und zusätzlich eine interaktive Canvas-Antwort anzuzeigen. Die maximale Größe der Antwort beträgt 50.000 Byte.

JSON-Darstellung
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Felder
url

string

URL der interaktiven Canvas-Web-App, die geladen werden soll. Wenn die Richtlinie nicht konfiguriert ist, wird die URL des aktuellen aktiven Canvas wiederverwendet.

data[]

value (Value format)

Optional. JSON-Daten, die als Ereignis an die Webseite mit dem immersiven Erlebnis übergeben werden. Wenn das Feld „Überschreiben“ im zugehörigen Prompt „false“ ist, werden die in diesem Canvas-Prompt definierten Datenwerte hinzugefügt, nachdem die Datenwerte aus den vorherigen Canvas-Prompts hinzugefügt wurden.

suppressMic

boolean

Optional. Standardwert: false.

enableFullScreen

boolean

Bei true füllt die Canvas-Anwendung den gesamten Bildschirm aus und hat oben keine Kopfzeile. Außerdem wird auf dem Ladebildschirm eine Meldung angezeigt, die den Anzeigenamen der Aktion, den Namen des Entwicklers und eine Anleitung zum Beenden der Aktion enthält. Standardwert: false.

Eingabeaufforderung

Eine Antwort an einen Nutzer darstellen.

JSON-Darstellung
{
  "append": boolean,
  "override": boolean,
  "firstSimple": {
    object (Simple)
  },
  "content": {
    object (Content)
  },
  "lastSimple": {
    object (Simple)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (Link)
  },
  "canvas": {
    object (Canvas)
  }
}
Felder
append
(deprecated)

boolean

Optional. Modus für die Zusammenführung dieser Nachrichten mit zuvor definierten Nachrichten. „false“ löscht alle zuvor definierten Nachrichten (erste und letzte einfache Nachricht, Inhalt, Link für Vorschläge und Canvas) und fügt Nachrichten hinzu, die in diesem Prompt definiert wurden. Mit „true“ werden die in diesem Prompt definierten Nachrichten den Nachrichten hinzugefügt, die in den vorherigen Antworten definiert wurden. Wenn Sie dieses Feld auf „true“ setzen, können auch an einige Felder innerhalb der einfachen Prompts, der Vorschlagsaufforderung und der Canvas-Aufforderung (Teil der Inhaltsaufforderung) Daten angehängt werden. Die Inhalts- und Linknachrichten werden immer überschrieben, wenn sie in der Eingabeaufforderung definiert wurden. Der Standardwert ist „false“.

override

boolean

Optional. Modus für die Zusammenführung dieser Nachrichten mit zuvor definierten Nachrichten. „true“ löscht alle zuvor definierten Nachrichten (erste und letzte einfache, Inhalt, Link und Canvas mit Vorschlägen) und fügt Nachrichten hinzu, die in diesem Prompt definiert wurden. Bei „false“ werden die in diesem Prompt definierten Nachrichten den Nachrichten hinzugefügt, die in den vorherigen Antworten definiert wurden. Wenn Sie dieses Feld auf „false“ belassen, können Daten auch an einige Felder in den einfachen Prompts, der Vorschlagsaufforderung und dem Canvas-Prompt (Teil der Inhaltsaufforderung) angehängt werden. Die Inhalts- und Linkmeldungen werden immer überschrieben, wenn sie in der Eingabeaufforderung definiert sind. Der Standardwert ist „false“.

firstSimple

object (Simple)

Optional. Die erste Sprach- und Textantwort.

content

object (Content)

Optional. Dem Nutzer angezeigte Inhalte wie Karten, Listen oder Medien.

lastSimple

object (Simple)

Optional. Die letzte Antwort per Sprach- oder Texteingabe.

suggestions[]

object (Suggestion)

Optional. Vorschläge, die dem Nutzer immer am Ende der Antwort angezeigt werden. Wenn das Feld „override“ in der zugehörigen Aufforderung „false“ ist, werden die in diesem Feld definierten Titel den Titeln hinzugefügt, die in den zuvor definierten Vorschlägen für Vorschläge definiert wurden. Doppelte Werte werden entfernt.

canvas

object (Canvas)

Optional. Stellt eine Interactive Canvas-Antwort dar, die an den Nutzer gesendet werden soll.

Einfach

Stellt eine einfache Aufforderung dar, die an einen Nutzer gesendet werden soll.

JSON-Darstellung
{
  "speech": string,
  "text": string
}
Felder
speech

string

Optional. Stellt die Sprache dar, die für den Nutzer gesprochen wird. Kann SSML oder Text-to-Speech sein. Wenn das Feld „override“ in der zugehörigen Aufforderung „true“ ist, ersetzt die in diesem Feld definierte Sprache die Sprache der vorherigen einfachen Aufforderung.

text

string

Optionaler Text, der im Chat-Infofeld angezeigt wird. Wenn nicht angegeben, wird das obige Sprachfeld angezeigt. Auf 640 Zeichen begrenzt. Wenn das Feld „Überschreiben“ in der zugehörigen Aufforderung „true“ ist, wird der in diesem Feld definierte Text durch den Text der vorherigen einfachen Aufforderung ersetzt.

Inhalte

Anzuzeigender Inhalt.

JSON-Darstellung
{

  // Union field content can be only one of the following:
  "card": {
    object (Card)
  },
  "image": {
    object (Image)
  },
  "table": {
    object (Table)
  },
  "media": {
    object (Media)
  },
  "canvas": {
    object (Canvas)
  },
  "collection": {
    object (Collection)
  },
  "list": {
    object (List)
  }
  // End of list of possible types for union field content.
}
Felder
Union-Feld content. Inhalt. Für content ist nur einer der folgenden Werte zulässig:
card

object (Card)

Eine einfache Karte.

image

object (Image)

Ein Bild.

table

object (Table)

Tabellenkarte.

media

object (Media)

Antwort, die eine Reihe von Medien angibt, die wiedergegeben werden sollen.

canvas
(deprecated)

object (Canvas)

Eine Antwort, die für die interaktive Canvas-Nutzung verwendet werden soll.

collection

object (Collection)

Eine Karte mit einer Reihe von Optionen, aus denen Sie auswählen können.

list

object (List)

Eine Karte mit einer Liste von Optionen, aus denen ausgewählt werden kann.

Infokarte

Eine einfache Karte zur Anzeige einiger Informationen, z.B. ein Bild und/oder Text.

JSON-Darstellung
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Felder
title

string

Gesamttitel der Karte. Optional.

subtitle

string

Optional.

text

string

Text der Karte Unterstützt eine begrenzte Anzahl von Markdown-Syntax für die Formatierung. Erforderlich, sofern kein Bild vorhanden ist.

image

object (Image)

Ein Hero-Image für die Karte. Die Höhe ist auf 192 dp festgelegt. Optional.

imageFill

enum (ImageFill)

Legt fest, wie der Bildhintergrund ausgefüllt wird. Optional.

button

object (Link)

Schaltfläche. Optional.

Bild

Ein Bild, das auf der Karte angezeigt wird.

JSON-Darstellung
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Felder
url

string

Die Quell-URL des Bildes. Bilder können das Format JPG, PNG und GIF haben (animiert und nicht animiert). Beispiel: https://www.agentx.com/logo.png. Erforderlich.

alt

string

Eine Textbeschreibung des Bildes, die für Barrierefreiheit verwendet werden soll, z.B. Screenreader. Erforderlich.

height

integer

Die Höhe des Bilds in Pixeln Optional.

width

integer

Die Breite des Bilds in Pixeln Optional.

ImageFill

Mögliche Bildanzeigeoptionen, die die Darstellung des Bildes beeinflussen können. Diese Option sollte verwendet werden, wenn das Seitenverhältnis des Bildes nicht mit dem des Bildcontainers übereinstimmt.

Enums
UNSPECIFIED Nicht angegebene Bildfüllung.
GRAY Füllen Sie die Lücken zwischen dem Bild und dem Bildcontainer mit grauen Balken.
WHITE Füllen Sie die Lücken zwischen dem Bild und dem Bildcontainer mit weißen Balken.
CROPPED Das Bild wird so skaliert, dass die Breite und Höhe des Bilds den Abmessungen des Containers entsprechen oder diese überschreiten. Dadurch wird möglicherweise der obere und untere Bereich des Bildes abgeschnitten, wenn die skalierte Bildhöhe größer als die Containerhöhe ist. Wenn die skalierte Bildbreite größer als die Containerbreite ist, wird die linke und rechte Bildbreite abgeschnitten. Dies ähnelt dem „Zoommodus“ auf einem Breitbildfernseher bei der Wiedergabe eines 4:3-Videos.

OpenUrl

Aktion, die ausgeführt wird, wenn ein Nutzer einen Link öffnet

JSON-Darstellung
{
  "url": string,
  "hint": enum (UrlHint)
}
Felder
url

string

Das URL-Feld, das einen der folgenden Werte annehmen kann: – HTTP- oder HTTPS-URLs zum Öffnen einer mit der App verknüpften App oder einer Webseite

hint

enum (UrlHint)

Gibt einen Hinweis für den URL-Typ an.

UrlHint

Verschiedene Arten von URL-Hinweisen.

Enums
AMP URL, die direkt auf AMP-Inhalte verweist, oder auf eine kanonische URL, die über auf AMP-Inhalte verweist.

Tabelle

Eine Tabellenkarte zum Anzeigen einer Tabelle mit Text.

JSON-Darstellung
{
  "title": string,
  "subtitle": string,
  "image": {
    object (Image)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (Link)
  }
}
Felder
title

string

Gesamttitel der Tabelle. Optional, muss jedoch festgelegt werden, wenn Untertitel angegeben wurden.

subtitle

string

Untertitel für die Tabelle. Optional.

image

object (Image)

Mit der Tabelle verknüpftes Bild. Optional.

columns[]

object (TableColumn)

Überschriften und Spaltenausrichtung.

rows[]

object (TableRow)

Zeilendaten der Tabelle Die ersten 3 Zeilen werden garantiert angezeigt, aber andere werden auf bestimmten Oberflächen möglicherweise ausgeschnitten. Testen Sie mit dem Simulator, welche Zeilen für eine bestimmte Oberfläche angezeigt werden. Auf Oberflächen, die die WEB_BROWSER-Funktion unterstützen, können Sie den Nutzer auf eine Webseite mit mehr Daten verweisen.

button

object (Link)

Schaltfläche.

TableColumn

Beschreibt eine Spalte in einer Tabelle.

JSON-Darstellung
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Felder
header

string

Überschrift der Spalte.

align

enum (HorizontalAlignment)

Horizontale Ausrichtung des Inhalts in der Spalte „Richtig“. Wenn kein Wert angegeben ist, wird der Inhalt an der obersten Kante ausgerichtet.

HorizontalAlignment

Die Ausrichtung des Inhalts innerhalb der Zelle.

Enums
UNSPECIFIED Horizontale Ausrichtung nicht angegeben.
LEADING Führende Kante der Zelle Das ist die Standardeinstellung.
CENTER Der Inhalt ist an der Spaltenmitte ausgerichtet.
TRAILING Der Inhalt ist am unteren Rand der Spalte ausgerichtet.

TableRow

Beschreibt eine Zeile in der Tabelle.

JSON-Darstellung
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Felder
cells[]

object (TableCell)

Zellen in dieser Zeile. Die ersten 3 Zellen werden garantiert angezeigt, andere werden jedoch möglicherweise auf bestimmten Oberflächen ausgeschnitten. Testen Sie mit dem Simulator, welche Zellen für eine bestimmte Oberfläche angezeigt werden.

divider

boolean

Gibt an, ob nach jeder Zeile eine Trennlinie eingefügt werden soll.

TableCell

Beschreibt eine Zelle in einer Zeile.

JSON-Darstellung
{
  "text": string
}
Felder
text

string

Textinhalt der Zelle

Medien

Stellt ein Medienobjekt dar. Enthält Informationen zum Medium, z. B. Name, Beschreibung und URL.

JSON-Darstellung
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ]
}
Felder
mediaType

enum (MediaType)

Medientyp.

startOffset

string (Duration format)

Startversatz des ersten Medienobjekts.

Dauer in Sekunden mit bis zu neun Nachkommastellen und einem 's' an letzter Stelle. Beispiel: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Optionale Arten der Mediensteuerung, die diese Medienantwortsitzung unterstützen kann. Wenn festgelegt, erfolgt bei einem bestimmten Medienereignis die Anfrage an 15:00 Uhr. Wenn die Richtlinie nicht konfiguriert ist, muss Drittanbieter immer noch zwei Standardsteuerungstypen verarbeiten: FINISHED und FAILED.

mediaObjects[]

object (MediaObject)

Liste der Medienobjekte

MediaType

Medientyp dieser Antwort.

Enums
MEDIA_TYPE_UNSPECIFIED Nicht angegebener Medientyp.
AUDIO Audiodatei.
MEDIA_STATUS_ACK Antwort zur Bestätigung eines Medienstatusberichts.

OptionalMediaControls

Optionale Arten der Mediensteuerung, die von der Medienantwort unterstützt werden

Enums
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Nicht angegebener Wert
PAUSED Ereignis pausiert. Wird ausgelöst, wenn der Nutzer die Medien pausiert
STOPPED Termin beendet. Wird ausgelöst, wenn der Nutzer die 3P-Sitzung während der Medienwiedergabe verlässt.

MediaObject

Stellt ein einzelnes Medienobjekt dar

JSON-Darstellung
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Felder
name

string

Name dieses Medienobjekts.

description

string

Beschreibung dieses Medienobjekts.

url

string

Die URL, die auf den Medieninhalt verweist

image

object (MediaImage)

Bild, das mit der Medienkarte angezeigt wird.

MediaImage

Bild, das mit der Medienkarte angezeigt wird.

JSON-Darstellung
{

  // Union field image can be only one of the following:
  "large": {
    object (Image)
  },
  "icon": {
    object (Image)
  }
  // End of list of possible types for union field image.
}
Felder
Union-Feld image. Bild. Für image ist nur einer der folgenden Werte zulässig:
large

object (Image)

Ein großes Bild wie das Cover des Albums usw.

icon

object (Image)

Ein kleines Bildsymbol, das rechts neben dem Titel angezeigt wird. Die Größe wird auf 36 × 36 dp angepasst.

Sammlung

Eine Karte mit einer Reihe von Optionen, aus denen ausgewählt werden kann.

JSON-Darstellung
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Felder
title

string

Titel der Sammlung Optional.

subtitle

string

Untertitel der Sammlung Optional.

items[]

object (CollectionItem)

Min.: 2, max.: 10

imageFill

enum (ImageFill)

Legt fest, wie die Bildhintergründe von Sammlungselementen ausgefüllt werden. Optional.

CollectionItem

Ein Element in der Sammlung

JSON-Darstellung
{
  "key": string
}
Felder
key

string

Erforderlich. Der NLU-Schlüssel, der mit dem Namen des Zugangscodes im verknüpften Typ übereinstimmt.

Liste

Eine Karte mit einer Liste von Optionen, aus denen ausgewählt werden kann.

JSON-Darstellung
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Felder
title

string

Titel der Liste. Optional.

subtitle

string

Untertitel der Liste. Optional.

items[]

object (ListItem)

Min.: 2, max.: 30

ListItem

Ein Element in der Liste

JSON-Darstellung
{
  "key": string
}
Felder
key

string

Erforderlich. Der NLU-Schlüssel, der mit dem Namen des Zugangscodes im verknüpften Typ übereinstimmt.

Vorschlag

Eingabevorschlag, der dem Nutzer angezeigt werden soll.

JSON-Darstellung
{
  "title": string
}
Felder
title

string

Erforderlich. Der Text im Vorschlags-Chip. Wenn dieser Text angetippt wird, wird er wortwörtlich in der Unterhaltung gepostet, als ob der Nutzer ihn eingegeben hätte. Jeder Titel darf unter den Vorschlags-Chips nur einmal vorkommen. Maximal 25 Zeichen

Diagnose

Diagnoseinformationen zur Gesprächsrunde.

JSON-Darstellung
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Felder
actionsBuilderEvents[]

object (ExecutionEvent)

Liste der Ereignisse mit Details zur Verarbeitung der Unterhaltungsrunde in den Phasen des Actions Builder-Interaktionsmodells. Wird nur für Actions Builder- und Actions SDK-Apps ausgefüllt.

ExecutionEvent

Enthält Informationen zum Ausführungsereignis, das bei der Verarbeitung der Actions Builder-Unterhaltungsanfrage aufgetreten ist. Eine Übersicht über die Phasen einer Unterhaltungsanfrage finden Sie unter https://developers.google.com/assistant/conversational/actions.

JSON-Darstellung
{
  "eventTime": string,
  "executionState": {
    object (ExecutionState)
  },
  "status": {
    object (Status)
  },
  "warningMessages": [
    string
  ],

  // Union field EventData can be only one of the following:
  "userInput": {
    object (UserConversationInput)
  },
  "intentMatch": {
    object (IntentMatch)
  },
  "conditionsEvaluated": {
    object (ConditionsEvaluated)
  },
  "onSceneEnter": {
    object (OnSceneEnter)
  },
  "webhookRequest": {
    object (WebhookRequest)
  },
  "webhookResponse": {
    object (WebhookResponse)
  },
  "webhookInitiatedTransition": {
    object (WebhookInitiatedTransition)
  },
  "slotMatch": {
    object (SlotMatch)
  },
  "slotRequested": {
    object (SlotRequested)
  },
  "slotValidated": {
    object (SlotValidated)
  },
  "formFilled": {
    object (FormFilled)
  },
  "waitingUserInput": {
    object (WaitingForUserInput)
  },
  "endConversation": {
    object (EndConversation)
  }
  // End of list of possible types for union field EventData.
}
Felder
eventTime

string (Timestamp format)

Der Zeitstempel, an dem das Ereignis aufgetreten ist.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

Status der Ausführung während dieses Ereignisses.

status

object (Status)

Daraus resultierender Status eines bestimmten Ausführungsschritts.

warningMessages[]

string

Liste der Warnungen, die während der Ausführung dieses Ereignisses generiert wurden. Warnungen sind Tipps für den Entwickler, die bei der Unterhaltungsanfrage erkannt wurden. Diese sind normalerweise nicht kritisch und verhindern nicht die Ausführung der Anfrage. Eine Warnung kann beispielsweise generiert werden, wenn der Webhook versucht, einen nicht vorhandenen benutzerdefinierten Typ zu überschreiben. Fehler werden als fehlgeschlagener Statuscode gemeldet. Es können jedoch Warnungen angezeigt werden, auch wenn der Status OK ist.

Union-Feld EventData. Detaillierte Informationen zu verschiedenen Ereignissen, die an der Verarbeitung einer Gesprächsrunde beteiligt sein können. Das hier festgelegte Feld definiert den Typ dieses Ereignisses. Für EventData ist nur einer der folgenden Werte zulässig:
userInput

object (UserConversationInput)

Ereignis zur Verarbeitung von Nutzereingaben.

intentMatch

object (IntentMatch)

Ereignis für Intent-Abgleich.

conditionsEvaluated

object (ConditionsEvaluated)

Ereignisauswertung der Bedingung.

onSceneEnter

object (OnSceneEnter)

OnSceneEnter-Ausführungsereignis.

webhookRequest

object (WebhookRequest)

Weiterleitungsereignis für Webhook-Anfrage

webhookResponse

object (WebhookResponse)

Ereignis für den Erhalt der Webhook-Antwort.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Über einen Webhook initiiertes Übergangsereignis.

slotMatch

object (SlotMatch)

Ereignis für Slot-Abgleich.

slotRequested

object (SlotRequested)

Ereignis, das einen Slot angefordert hat.

slotValidated

object (SlotValidated)

Ereignis zur Slot-Validierung.

formFilled

object (FormFilled)

Ereignis zum Ausfüllen von Formularen.

waitingUserInput

object (WaitingForUserInput)

Ereignis "Warten auf Nutzereingabe".

endConversation

object (EndConversation)

Ereignis am Ende des Gesprächs

ExecutionState

Aktueller Status der Ausführung.

JSON-Darstellung
{
  "currentSceneId": string,
  "sessionStorage": {
    object
  },
  "slots": {
    object (Slots)
  },
  "promptQueue": [
    {
      object (Prompt)
    }
  ],
  "userStorage": {
    object
  },
  "householdStorage": {
    object
  }
}
Felder
currentSceneId

string

ID der Szene, die gerade aktiv ist

sessionStorage

object (Struct format)

Status des Sitzungsspeichers: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Status der Slots (falls zutreffend): https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Prompt-Warteschlange: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Status des Nutzerspeicherplatzes: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Status des Home-Speicherplatzes: https://developers.google.com/assistant/conversational/storage-home

Slots

Stellt den aktuellen Status der Slots einer Szene dar.

JSON-Darstellung
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
Felder
status

enum (SlotFillingStatus)

Der aktuelle Status der Slot-Füllung.

slots

map (key: string, value: object (Slot))

Die Slots, die der aktuellen Szene zugewiesen sind.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotFillingStatus

Gibt den aktuellen Status der Slot-Füllung an.

Enums
UNSPECIFIED Fallback-Wert, wenn das Feld für die Nutzung nicht ausgefüllt ist.
INITIALIZED Die Slots wurden initialisiert, aber die Slot-Füllung wurde nicht gestartet.
COLLECTING Die Slotwerte werden erfasst.
FINAL Alle Slotwerte sind endgültig und können nicht geändert werden.

Slot

Stellt einen Slot dar.

JSON-Darstellung
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Felder
mode

enum (SlotMode)

Der Modus der Anzeigenfläche (erforderlich oder optional). Kann vom Entwickler festgelegt werden.

status

enum (SlotStatus)

Der Status der Anzeigenfläche.

value

value (Value format)

Der Wert der Anzeigenfläche. Wenn Sie diesen Wert in der Antwort ändern, wird auch der Wert in der Slot-Füllung geändert.

updated

boolean

Gibt an, ob der Slotwert in der letzten Abzweigung erfasst wurde. Dieses Feld ist schreibgeschützt.

prompt

object (Prompt)

Optional. Diese Aufforderung wird an den Nutzer gesendet, wenn er eine erforderliche Anzeigenfläche füllen muss. Diese Eingabeaufforderung überschreibt die vorhandene Eingabeaufforderung, die in der Konsole definiert ist. Dieses Feld ist nicht in der Webhook-Anfrage enthalten.

SlotMode

Stellt den Modus eines Slots dar, d. h., ob er erforderlich ist oder nicht.

Enums
MODE_UNSPECIFIED Fallback-Wert, wenn das Feld für die Nutzung nicht ausgefüllt ist.
OPTIONAL Gibt an, dass der Slot nicht erforderlich ist, um die Slot-Füllung abzuschließen.
REQUIRED Gibt an, dass der Slot erforderlich ist, um die Slot-Füllung abzuschließen.

SlotStatus

Stellt den Status eines Slots dar.

Enums
SLOT_UNSPECIFIED Fallback-Wert, wenn das Feld für die Nutzung nicht ausgefüllt ist.
EMPTY Gibt an, dass der Slot keine Werte hat. Dieser Status kann nicht über die Antwort geändert werden.
INVALID Gibt an, dass der Slotwert ungültig ist. Dieser Status kann über die Antwort festgelegt werden.
FILLED Gibt an, dass der Slot einen Wert hat. Dieser Status kann nicht über die Antwort geändert werden.

Status

Mit dem Typ Status wird ein logisches Fehlermodell definiert, das für verschiedene Programmierumgebungen wie REST APIs und RPC APIs geeignet ist. Dieses Modell wird von gRPC verwendet. Jede Status-Meldung enthält die folgenden drei Datenelemente: Fehlercode, Fehlermeldung und Fehlerdetails.

Weitere Informationen zu diesem Fehlermodell und zur Arbeit damit finden Sie in der API-Designanleitung.

JSON-Darstellung
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Felder
code

integer

Der Statuscode, der idealerweise ein ENUM-Wert von google.rpc.Code ist.

message

string

Eine an Entwickler gerichtete Fehlermeldung, die englischsprachig sein sollte. Jede Fehlermeldung an den Nutzer sollte lokalisiert und im Feld google.rpc.Status.details gesendet werden. Sie kann auch clientseitig lokalisiert werden.

details[]

object

Eine Auflistung aller Meldungen, die die Fehlerdetails enthalten. Es gibt einen gemeinsamen Satz von Nachrichtentypen, die APIs verwenden können.

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

Informationen in Bezug auf Nutzereingaben.

JSON-Darstellung
{
  "type": string,
  "originalQuery": string
}
Felder
type

string

Art der Nutzereingabe. Z.B. Tastatur, Spracheingabe, Touchbedienung usw.

originalQuery

string

Ursprünglicher Text, der vom Nutzer eingegeben wurde

IntentMatch

Informationen zum ausgelösten Intent-Abgleich (global oder innerhalb einer Szene): https://developers.google.com/assistant/conversational/intents

JSON-Darstellung
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Felder
intentId

string

Intent-ID, die diese Interaktion ausgelöst hat.

intentParameters

map (key: string, value: object (IntentParameterValue))

Parameter des Intents, der diese Interaktion ausgelöst hat.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

handler

string

Name des Handlers, der dieser Interaktion zugeordnet ist.

nextSceneId

string

Szene, zu der diese Interaktion führt.

ConditionsEvaluated

Ergebnisse der Bedingungsbewertung: https://developers.google.com/assistant/conversational/scenes#conditions

JSON-Darstellung
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Felder
failedConditions[]

object (Condition)

Liste der Bedingungen, die als „falsch“ ausgewertet wurden.

successCondition

object (Condition)

Die erste Bedingung, die gegebenenfalls mit "true" ausgewertet wurde.

Bedingung

Bewertete Bedingung.

JSON-Darstellung
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Felder
expression

string

In dieser Bedingung angegebener Ausdruck.

handler

string

In der ausgewerteten Bedingung wurde der Name des Handlers angegeben.

nextSceneId

string

Zielszene in ausgewerteter Bedingung angegeben.

OnSceneEnter

Informationen zur Ausführung der onSceneEnter-Phase: https://developers.google.com/assistant/conversational/scenes#onEnter

JSON-Darstellung
{
  "handler": string
}
Felder
handler

string

Im onSceneEnter-Ereignis angegebener Handler-Name.

WebhookRequest

Informationen zu einer Anfrage, die an den Aktions-Webhook gesendet wurde: https://developers.google.com/assistant/conversational/webhooks#payloads

JSON-Darstellung
{
  "requestJson": string
}
Felder
requestJson

string

Nutzlast der Webhook-Anfrage.

WebhookResponse

Informationen zu einer vom Aktions-Webhook erhaltenen Antwort: https://developers.google.com/assistant/conversational/webhooks#payloads

JSON-Darstellung
{
  "responseJson": string
}
Felder
responseJson

string

Nutzlast der Webhook-Antwort.

WebhookInitiatedTransition

Ereignis, das durch eine vom Webhook zurückgegebene Zielszene ausgelöst wird: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

JSON-Darstellung
{
  "nextSceneId": string
}
Felder
nextSceneId

string

ID der Szene, zu der der Übergang führt

SlotMatch

Informationen zu übereinstimmenden Slots: https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON-Darstellung
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
Felder
nluParameters

map (key: string, value: object (IntentParameterValue))

Parameter, die von NLU aus der Nutzereingabe extrahiert wurden.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotRequested

Informationen zum aktuell angeforderten Slot: https://developers.google.com/assistant/conversational/scenes#slot_filling

JSON-Darstellung
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Felder
slot

string

Name des angeforderten Slots.

prompt

object (Prompt)

Slot-Eingabeaufforderung.

SlotValidated

Ereignis, das nach Abschluss der Webhook-Validierung für Slots eintritt: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Ereignis, das eintritt, wenn das Formular vollständig ausgefüllt ist: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Ereignis, das eintritt, wenn das System eine Nutzereingabe benötigt: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Ereignis, das darüber informiert, dass die Unterhaltung mit dem Kundenservicemitarbeiter beendet wurde.