Method: projects.sendInteraction

Odtwarza jedną rundę rozmowy.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
project

string

To pole jest wymagane. Testowany projekt jest wskazywany przez identyfikator projektu. Format: projects/{projekt}

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Pola
input

object (UserInput)

To pole jest wymagane. Dane wprowadzone przez użytkownika.

deviceProperties

object (DeviceProperties)

To pole jest wymagane. Właściwości urządzenia używanego do interakcji z akcją.

conversationToken

string

Nieprzezroczysty token, który musi zostać przekazany jako odebrany z SendInteractionResponse podczas poprzedniej interakcji. Tego ustawienia można nie włączać na potrzeby rozpoczęcia nowej rozmowy, np. jako pierwszej interakcji w ramach sesji testowej, lub jako porzucenia poprzedniej rozmowy i rozpoczęcia nowej.

Treść odpowiedzi

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Odpowiedź na rundę rozmowy.

Zapis JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Pola
output

object (Output)

Dane wyjściowe zostały przekazane użytkownikowi.

diagnostics

object (Diagnostics)

Informacje diagnostyczne wyjaśniające, jak przetworzono żądanie.

conversationToken

string

Nieprzezroczysty token należy ustawić w SendInteractionRequest przy następnym wywołaniu RPC, aby kontynuować tę samą rozmowę.

UserInput

Informacje podane przez użytkownika w rundzie rozmowy.

Zapis JSON
{
  "query": string,
  "type": enum (InputType)
}
Pola
query

string

Treść danych wejściowych wysłanych przez użytkownika.

type

enum (InputType)

Typ danych wejściowych.

InputType

Wskazuje źródło danych wejściowych, wpisane zapytanie lub zapytanie głosowe.

Wartości w polu enum
INPUT_TYPE_UNSPECIFIED Nieokreślone źródło danych wejściowych.
TOUCH Zapytanie z interakcji z GUI.
VOICE Zapytanie głosowe.
KEYBOARD Wpisane zapytanie.
URL Działanie zostało aktywowane przez link URL.

DeviceProperties

Właściwości urządzenia istotne dla przebiegu rozmowy.

Zapis JSON
{
  "surface": enum (Surface),
  "location": {
    object (Location)
  },
  "locale": string,
  "timeZone": string
}
Pola
surface

enum (Surface)

Powierzchnia używana do interakcji z akcją.

location

object (Location)

Lokalizacja urządzenia, np. szerokość i długość geograficzna, oraz sformatowany adres.

locale

string

Język ustawiony na urządzeniu. Użyj formatu BCP 47: https://tools.ietf.org/html/bcp47. Przykłady: en, en-US, es-419 (więcej przykładów znajdziesz na https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Strefa czasowa ustawiona na urządzeniu. Format powinien być zgodny z bazą danych stref czasowych IANA, np. „America/New_York”: https://www.iana.org/time-zones

Platforma

Możliwe platformy używane do interakcji z akcją. W przyszłości mogą pojawić się dodatkowe wartości.

Wartości w polu enum
SURFACE_UNSPECIFIED Wartość domyślna. Ta wartość nie jest używana.
SPEAKER Głośnik (np. Google Home).
PHONE Telefon.
ALLO Czat w Allo.
SMART_DISPLAY Inteligentne urządzenie z ekranem.
KAI_OS KaiOS

Lokalizacja

Kontener reprezentujący lokalizację.

Zapis JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Pola
coordinates

object (LatLng)

Współrzędne geograficzne. Wymaga uprawnienia [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Wyświetlany adres, np. „Rynek Główny 12, 31-042 Kraków”. Wymaga uprawnienia [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Kod pocztowy. Wymaga uprawnienia [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] lub [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Miasto. Wymaga uprawnienia [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] lub [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Obiekt reprezentujący parę szerokości i długości geograficznej. Wartość ta jest wyrażana jako para podwójnej wartości reprezentującej stopnie szerokości i długości geograficznej w stopniach. O ile nie wskazano inaczej, ten obiekt musi być zgodny ze standardem WGS84. Wartości muszą mieścić się w znormalizowanych zakresach.

Zapis JSON
{
  "latitude": number,
  "longitude": number
}
Pola
latitude

number

Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0; +90,0].

longitude

number

Długość geograficzna w stopniach. Musi mieścić się w zakresie [-180,0; +180,0].

Wyniki

Widoczne dla użytkownika dane wyjściowe do zastosowania w trakcie rozmowy.

Zapis JSON
{
  "text": string,
  "speech": [
    string
  ],
  "canvas": {
    object (Canvas)
  },
  "actionsBuilderPrompt": {
    object (Prompt)
  }
}
Pola
text

string

Odpowiedź głosowa wysłana do użytkownika w postaci zwykłego ciągu znaków.

speech[]

string

Treści głosowe tworzone przez akcję. Może to być elementy znaczników, takie jak SSML.

canvas

object (Canvas)

Zawartość interaktywnej odbitki na płótnie.

actionsBuilderPrompt

object (Prompt)

Stan promptu na końcu rozmowy. Więcej informacji o potwierdzeniu: https://developers.google.com/assistant/conversational/prompts

Obszar roboczy

Reprezentuje odpowiedź Interactive Canvas, która ma zostać wysłana do użytkownika. Tej opcji można użyć w połączeniu z polem „first Simple” w wierszu zawierającym prompt, aby móc komunikować się z użytkownikiem, a także wyświetlać interaktywną odpowiedź obiektu canvas. Maksymalny rozmiar odpowiedzi to 50 tys. bajtów.

Zapis JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Pola
url

string

Adres URL interaktywnej aplikacji internetowej kanwy do załadowania. Jeśli nie jest skonfigurowana, ponownie użyty będzie URL z bieżącej aktywnej odbitki na płótnie.

data[]

value (Value format)

Opcjonalnie. Dane JSON, które mają być przekazywane do strony internetowej trybu interaktywnego w formie zdarzenia. Jeśli pole „zastąp” w prośbie zawierającym treść ma wartość „fałsz”, wartości danych zdefiniowane w tym promptie Canvas zostaną dodane po wartościach danych zdefiniowanych w poprzednich promptach Canvas.

suppressMic

boolean

Opcjonalnie. Wartość domyślna: false (fałsz).

enableFullScreen

boolean

Jeśli true aplikacja Canvas zajmuje pełny ekran i nie będzie miała nagłówka na górze. Na ekranie wczytywania będzie również widoczny komunikat z podaną nazwą akcji, nazwą dewelopera i instrukcjami jej zamykania. Wartość domyślna: false

Prompt

Reprezentuj odpowiedź dla użytkownika.

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

boolean

Opcjonalnie. Tryb łączenia tych wiadomości z wcześniej zdefiniowanymi wiadomościami. Wartość „false” spowoduje usunięcie wszystkich wcześniej zdefiniowanych wiadomości (pierwsza i ostatnia prosta, treść, link do sugestii oraz obszar roboczy) oraz dodanie wiadomości zdefiniowanych w tym promptie. Wartość „true” (prawda) dodaje wiadomości zdefiniowane w tym promptie do wiadomości zdefiniowanych w poprzednich odpowiedziach. Ustawienie w tym polu wartości „true” umożliwi też dołączanie do niektórych pól w prostych promptach, promptach sugestii i obszarze Canvas (część promptu Treść). Wiadomości Treść i linki są zawsze zastępowane, jeśli zostaną zdefiniowane w prompcie. Wartość domyślna to „false” (fałsz).

override

boolean

Opcjonalnie. Tryb łączenia tych wiadomości z wcześniej zdefiniowanymi wiadomościami. Wartość „true” usuwa wszystkie wcześniej zdefiniowane wiadomości (pierwsza i ostatnia prosta, treść, link do sugestii i obiekt canvas) oraz dodaje wiadomości zdefiniowane w tym promptie. Wartość „false” (fałsz) dodaje wiadomości zdefiniowane w tym promptie do wiadomości zdefiniowanych w poprzednich odpowiedziach. Pozostawienie tego pola wartości „false” (fałsz) umożliwia też dołączanie do niektórych pól w prostych promptach, promptach sugestii i wierszu Canvas (część promptu Treść). Wiadomości Treść i linki są zawsze zastępowane, jeśli zostaną zdefiniowane w prompcie. Wartość domyślna to „false” (fałsz).

firstSimple

object (Simple)

Opcjonalnie. Pierwsza odpowiedź głosowa i tekstowa.

content

object (Content)

Opcjonalnie. Treści takie jak karta, lista lub multimedia do wyświetlenia użytkownikowi.

lastSimple

object (Simple)

Opcjonalnie. Ostatnia odpowiedź głosowa i tekstowa.

suggestions[]

object (Suggestion)

Opcjonalnie. Sugestie do wyświetlenia użytkownikowi, które zawsze pojawiają się na końcu odpowiedzi. Jeśli pole „zastąp” w prośbie o przesłanie ma wartość „false” (fałsz), tytuły zdefiniowane w tym polu zostaną dodane do tytułów zdefiniowanych we wszystkich wcześniej zdefiniowanych sugestiach, a powielone wartości zostaną usunięte.

canvas

object (Canvas)

Opcjonalnie. Reprezentuje odpowiedź Interactive Canvas, która ma zostać wysłana do użytkownika.

Simple

Reprezentuje prosty komunikat do wysłania do użytkownika.

Zapis JSON
{
  "speech": string,
  "text": string
}
Pola
speech

string

Opcjonalnie. Reprezentuje mowę, która ma zostać odczytana użytkownikowi. Może to być SSML lub zamiana tekstu na mowę. Jeśli pole „zastąp” w promptie zawierającym ma wartość „true” (prawda), wypowiedź zdefiniowana w tym polu zastępuje poprzednie polecenie prostego promptu.

text

string

Opcjonalny tekst do wyświetlenia w dymku czatu. Jeśli pole nie zostanie podane, wyświetlane będzie renderowanie powyższego pola mowy w trybie displayowym. Limit wynosi 640 znaków. Jeśli pole „zastąp” w promptie zawierającym ma wartość „true”, tekst zdefiniowany w tym polu zostanie zastąpiony tekstem poprzedniego prostego promptu.

treści

Treść do wyświetlenia.

Zapis JSON
{

  // 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.
}
Pola
Pole sumy content. Treść. content może mieć tylko jedną z tych wartości:
card

object (Card)

Kartę podstawową.

image

object (Image)

Obraz.

table

object (Table)

Karta z tabelą.

media

object (Media)

Odpowiedź wskazująca zestaw multimediów do odtworzenia.

canvas
(deprecated)

object (Canvas)

Odpowiedź używana w przypadku interaktywnego obszaru roboczego.

collection

object (Collection)

Karta prezentująca zbiór opcji do wyboru.

list

object (List)

Karta zawierająca listę opcji do wyboru.

Karta

Podstawowa karta, na której można wyświetlać określone informacje, np. obraz lub tekst.

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

string

Ogólny tytuł karty. Opcjonalnie.

subtitle

string

Opcjonalnie.

text

string

Tekst główny karty. Obsługuje ograniczony zestaw składni znaków Markdown na potrzeby formatowania. Wymagany, chyba że dodano obraz.

image

object (Image)

Baner powitalny karty. Wysokość jest stała i wynosi 192 dp. Opcjonalnie.

imageFill

enum (ImageFill)

Sposób wypełnienia tła obrazu. Opcjonalnie.

button

object (Link)

Przycisk. Opcjonalnie.

Obraz

Obraz wyświetlany na karcie.

Zapis JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Pola
url

string

Źródłowy adres URL obrazu. Obrazy mogą być w formacie JPG, PNG lub GIF (animowane lub nieanimowane). np. https://www.agentx.com/logo.png. To pole jest wymagane.

alt

string

Opis tekstowy obrazu, który ma być używany na potrzeby ułatwień dostępu, np. przez czytniki ekranu. To pole jest wymagane.

height

integer

Wysokość obrazu w pikselach. Opcjonalnie.

width

integer

Szerokość obrazu w pikselach. Opcjonalnie.

ImageFill

Możliwe opcje wyświetlania obrazu, które wpływają na jego prezentację. Należy jej używać, gdy współczynnik proporcji obrazu nie jest zgodny ze współczynnikiem proporcji kontenera obrazów.

Wartości w polu enum
UNSPECIFIED Nieokreślone wypełnienie obrazu.
GRAY Wypełnij luki między obrazem a kontenerem obrazów za pomocą szarych pasków.
WHITE Wypełnij luki między obrazem a kontenerem obrazu za pomocą białych pasków.
CROPPED Obraz jest skalowany tak, aby jego szerokość i wysokość pasowały do wymiarów kontenera lub go przekraczały. Może to spowodować przycięcie górnej i dolnej części obrazu, jeśli jego wysokość jest większa niż wysokość kontenera. Jeśli natomiast szerokość przeskalowanego obrazu jest większa niż szerokość kontenera, obraz zostanie przycięty. Przypomina to „tryb powiększenia” na telewizorze panoramicznym podczas odtwarzania filmu w formacie 4:3.

OpenUrl

Działanie wykonywane, gdy użytkownik otworzy link.

Zapis JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Pola
url

string

Pole adresu URL, które może być dowolnym z tych elementów: – Adres URL http/https umożliwiający otwarcie aplikacji lub strony internetowej

hint

enum (UrlHint)

Wskazuje wskazówkę dotyczącą typu adresu URL.

UrlHint

Różne typy wskazówek dotyczących adresów URL.

Wartości w polu enum
AMP Adres URL, który prowadzi bezpośrednio do treści AMP lub do kanonicznego adresu URL odwołującego się do treści AMP w elemencie .

Tabela

Karta, która służy do wyświetlania tabeli tekstowej.

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

string

Ogólny tytuł tabeli. Opcjonalny, ale musi być ustawiony, jeśli jest ustawiony podtytuł.

subtitle

string

Podtytuł tabeli. Opcjonalnie.

image

object (Image)

Obraz powiązany z tabelą. Opcjonalnie.

columns[]

object (TableColumn)

Nagłówki i wyrównanie kolumn.

rows[]

object (TableRow)

Dane w wierszach tabeli. Pierwsze 3 wiersze na pewno zostaną wyświetlone, ale inne mogą zostać wycięte na niektórych platformach. Przeprowadź test za pomocą symulatora, aby zobaczyć, które wiersze będą wyświetlane na danej powierzchni. Na platformach, które obsługują funkcję WEB_BROWSER, możesz wskazać użytkownikowi stronę internetową z większą ilością danych.

button

object (Link)

Przycisk.

TableColumn

Opisuje kolumnę w tabeli.

Zapis JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Pola
header

string

Tekst nagłówka kolumny.

align

enum (HorizontalAlignment)

Wyrównanie w poziomie kolumny z treściami. Jeśli wartość nie zostanie określona, treść zostanie wyrównana do krawędzi wiodącej.

HorizontalAlignment

Wyrównanie treści w komórce.

Wartości w polu enum
UNSPECIFIED Nieokreślone wyrównanie w poziomie.
LEADING Przednia krawędź komórki. To jest ustawienie domyślne.
CENTER Treść jest wyrównana do środka kolumny.
TRAILING Treść jest wyrównana do końcowej krawędzi kolumny.

TableRow

Opisuje wiersz w tabeli.

Zapis JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Pola
cells[]

object (TableCell)

Komórki w tym wierszu. Pierwsze 3 komórki na pewno zostaną wyświetlone, ale inne mogą zostać wycięte na niektórych powierzchniach. Użyj symulatora, aby sprawdzić, które komórki są wyświetlane na danej powierzchni.

divider

boolean

Wskazuje, czy po każdym wierszu powinien znajdować się separator.

TableCell

Opisuje komórkę w wierszu.

Zapis JSON
{
  "text": string
}
Pola
text

string

Zawartość komórki.

Media

Reprezentuje 1 obiekt multimedialny. Zawiera informacje o multimediach, takie jak nazwa, opis, adres URL itp.

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

enum (MediaType)

Typ nośnika.

startOffset

string (Duration format)

Opóźnienie rozpoczęcia pierwszego obiektu multimedialnego.

Czas trwania w sekundach zawierający maksymalnie 9 cyfr po przecinku zakończony znakiem „s”. Przykład: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Opcjonalne typy sterowania multimediami, które może obsługiwać ta sesja odpowiedzi na multimedia. Jeśli zasada jest skonfigurowana, po wystąpieniu określonego zdarzenia multimedialnego żądania będą wysyłane do 3p. Jeśli zasada nie jest skonfigurowana, 3p nadal musi obsługiwać 2 domyślne typy elementów sterujących: FINISHED i FAILED.

mediaObjects[]

object (MediaObject)

Lista obiektów multimedialnych

MediaType

Typ multimediów tej odpowiedzi.

Wartości w polu enum
MEDIA_TYPE_UNSPECIFIED Nieokreślony typ multimediów.
AUDIO Plik audio.
MEDIA_STATUS_ACK Odpowiedź na potwierdzenie raportu o stanie mediów.

OptionalMediaControls

Opcjonalne typy elementów sterujących multimediami, które może obsługiwać odpowiedź multimedialna

Wartości w polu enum
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Nieokreślona wartość
PAUSED Zdarzenie wstrzymane. Wywoływane, gdy użytkownik wstrzymuje odtwarzanie multimediów.
STOPPED Wydarzenie zostało zatrzymane. Wywoływane, gdy użytkownik opuści sesję użytkownika zewnętrznego podczas odtwarzania multimediów.

MediaObject

Reprezentuje jeden obiekt multimedialny

Zapis JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Pola
name

string

Nazwa tego obiektu multimedialnego.

description

string

Opis tego obiektu multimedialnego.

url

string

Adres URL wskazujący treści multimedialne.

image

object (MediaImage)

Obraz wyświetlany na karcie multimediów.

MediaImage

Obraz wyświetlany na karcie multimediów.

Zapis JSON
{

  // 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.
}
Pola
Pole sumy image. Obraz. image może mieć tylko jedną z tych wartości:
large

object (Image)

Duży obraz, np. okładka albumu itp.

icon

object (Image)

Mała ikona obrazu wyświetlana po prawej stronie tytułu. Rozmiar zostanie zmieniony na 36 x 36 dp.

Kolekcja

Karta prezentująca zbiór opcji do wyboru.

Zapis JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
Pola
title

string

Tytuł kolekcji. Opcjonalnie.

subtitle

string

Podtytuł kolekcji. Opcjonalnie.

items[]

object (CollectionItem)

min.: 2, maks.: 10

imageFill

enum (ImageFill)

Sposób wypełnienia tła obrazu elementów kolekcji. Opcjonalnie.

CollectionItem

Element w kolekcji

Zapis JSON
{
  "key": string
}
Pola
key

string

To pole jest wymagane. Klucz NLU zgodny z nazwą klucza dostępu w powiązanym typie.

Lista

Karta zawierająca listę opcji do wyboru.

Zapis JSON
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
Pola
title

string

Tytuł listy. Opcjonalnie.

subtitle

string

Podtytuł listy. Opcjonalnie.

items[]

object (ListItem)

min.: 2, maks.: 30

ListItem

Element na liście

Zapis JSON
{
  "key": string
}
Pola
key

string

To pole jest wymagane. Klucz NLU zgodny z nazwą klucza dostępu w powiązanym typie.

Sugestia

Sugestia dotycząca danych wejściowych do przedstawienia użytkownikowi.

Zapis JSON
{
  "title": string
}
Pola
title

string

To pole jest wymagane. Tekst wyświetlany w elemencie sugestii. Po kliknięciu ten tekst jest dosłowny w rozmowie, tak jakby użytkownik wpisał go w zapytaniu. Każdy tytuł musi być unikalny w zestawie elementów sugestii. Maks. 25 znaków

Diagnostyka

Informacje diagnostyczne dotyczące rundy rozmowy.

Zapis JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Pola
actionsBuilderEvents[]

object (ExecutionEvent)

Lista zdarzeń ze szczegółowymi informacjami o przetwarzaniu rundy rozmowy na poszczególnych etapach modelu interakcji Actions Builder. Wartość podawana tylko w przypadku aplikacji Actions Builder i Actions SDK.

ExecutionEvent

Zawiera informacje o zdarzeniu wykonania, które wystąpiło podczas przetwarzania żądania rozmowy w Actions Builder. Przegląd etapów związanych z prośbą o rozmowę znajdziesz na stronie https://developers.google.com/assistant/conversational/actions.

Zapis JSON
{
  "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.
}
Pola
eventTime

string (Timestamp format)

Sygnatura czasowa wystąpienia zdarzenia.

Sygnatura czasowa w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundy i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

Stan wykonania podczas tego zdarzenia.

status

object (Status)

Wynikowy stan konkretnego kroku wykonania.

warningMessages[]

string

Lista ostrzeżeń wygenerowanych podczas wykonywania tego zdarzenia. Ostrzeżenia to wskazówki dla dewelopera wykryte podczas prośby o rozmowę. Zwykle nie są one krytyczne i nie zatrzymują wykonywania żądania. Na przykład ostrzeżenia mogą zostać wygenerowane, gdy webhook spróbuje zastąpić nieistniejący typ niestandardowy. Błędy są zgłaszane jako kod stanu oznaczający niepowodzenie, ale ostrzeżenia mogą się pojawiać, nawet jeśli stan jest prawidłowy.

Pole sumy EventData. Szczegółowe informacje dotyczące różnych wydarzeń, które mogą być brane pod uwagę przy rozpatrywaniu rozmowy. Ustawione tutaj pole określa typ tego zdarzenia. EventData może mieć tylko jedną z tych wartości:
userInput

object (UserConversationInput)

Zdarzenie obsługi danych wejściowych użytkownika.

intentMatch

object (IntentMatch)

Zdarzenie dotyczące dopasowania intencji.

conditionsEvaluated

object (ConditionsEvaluated)

Zdarzenie oceny warunku.

onSceneEnter

object (OnSceneEnter)

Zdarzenie wykonania OnSceneEnter.

webhookRequest

object (WebhookRequest)

Zdarzenie wysyłania żądania webhooka.

webhookResponse

object (WebhookResponse)

Zdarzenie potwierdzenia odpowiedzi webhooka.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Zdarzenie przejścia zainicjowane przez webhooka.

slotMatch

object (SlotMatch)

Zdarzenie dotyczące dopasowania przedziałów.

slotRequested

object (SlotRequested)

Boks żądania zdarzenia.

slotValidated

object (SlotValidated)

Zdarzenie weryfikacji przedziału.

formFilled

object (FormFilled)

Zdarzenie dotyczące wypełnienia formularza.

waitingUserInput

object (WaitingForUserInput)

Oczekiwanie na zdarzenie wejściowe użytkownika.

endConversation

object (EndConversation)

Zakończenie rozmowy.

ExecutionState

Bieżący stan wykonania.

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

string

Identyfikator obecnie aktywnej sceny.

sessionStorage

object (Struct format)

Stan miejsca na dane sesji: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Stan wypełnienia przedziałów (w stosownych przypadkach): https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Kolejka promptów: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Stan miejsca na dane użytkownika: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Stan miejsca na dane w domu: https://developers.google.com/assistant/conversational/storage-home

Przedziały

Reprezentuje bieżący stan przedziałów sceny.

Zapis JSON
{
  "status": enum (SlotFillingStatus),
  "slots": {
    string: {
      object (Slot)
    },
    ...
  }
}
Pola
status

enum (SlotFillingStatus)

Bieżący stan wypełniania przedziałów.

slots

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

Przedziały powiązane z bieżącą sceną.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotFillingStatus

Reprezentuje bieżący stan wypełnienia przedziałów.

Wartości w polu enum
UNSPECIFIED Wartość zastępcza, gdy pole wykorzystania nie jest wypełnione.
INITIALIZED Przedziały zostały zainicjowane, ale wypełnianie przedziałów nie zostało rozpoczęte.
COLLECTING Zbierane są wartości boksów.
FINAL Wszystkie wartości przedziałów są ostateczne i nie można ich zmienić.

Boks

Reprezentuje boks.

Zapis JSON
{
  "mode": enum (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Pola
mode

enum (SlotMode)

Tryb boksu (wymagany lub opcjonalny). Może być ustawiany przez dewelopera.

status

enum (SlotStatus)

Stan przedziału.

value

value (Value format)

Wartość boksu. Zmiana tej wartości w odpowiedzi spowoduje zmodyfikowanie wartości wypełnienia przedziałów.

updated

boolean

Wskazuje, czy wartość przedziału została zebrana w ostatniej turze. To pole jest tylko do odczytu.

prompt

object (Prompt)

Opcjonalnie. Ten komunikat jest wysyłany do użytkownika, gdy jest on potrzebny do wypełnienia wymaganego przedziału. Ten prompt zastępuje dotychczasowy prompt zdefiniowany w konsoli. To pole nie zostało uwzględnione w żądaniu webhooka.

SlotMode

Reprezentuje tryb przedziału, czyli czy jest wymagany.

Wartości w polu enum
MODE_UNSPECIFIED Wartość zastępcza, gdy pole wykorzystania nie jest wypełnione.
OPTIONAL Wskazuje, że przedział nie jest wymagany do wypełnienia przedziału.
REQUIRED Wskazuje, że przedział jest wymagany do wypełnienia przedziału.

SlotStatus

Reprezentuje stan przedziału.

Wartości w polu enum
SLOT_UNSPECIFIED Wartość zastępcza, gdy pole wykorzystania nie jest wypełnione.
EMPTY Wskazuje, że przedział nie ma żadnych wartości. Tego stanu nie można zmienić w odpowiedzi.
INVALID Wskazuje, że wartość przedziału jest nieprawidłowa. Ten stan można ustawić w odpowiedzi.
FILLED Wskazuje, że przedział ma wartość. Tego stanu nie można zmienić w odpowiedzi.

Stan

Typ Status definiuje model błędu logicznego, który jest odpowiedni dla różnych środowisk programowania, w tym interfejsów API REST i interfejsów API RPC. Jest używany przez gRPC. Każdy komunikat Status zawiera 3 rodzaje danych: kod błędu, komunikat o błędzie i szczegóły błędu.

Więcej informacji o tym modelu błędu i o tym, jak z nim korzystać, znajdziesz w dokumencie API Design Guide (w języku angielskim).

Zapis JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Pola
code

integer

Kod stanu, który powinien być wartością wyliczeniową google.rpc.Code.

message

string

Komunikat o błędzie widoczny dla dewelopera w języku angielskim. Każdy komunikat o błędzie widoczny dla użytkownika powinien być zlokalizowany i wysyłany w polu google.rpc.Status.details lub zlokalizowany przez klienta.

details[]

object

Lista komunikatów zawierających szczegółowe informacje o błędzie. Istnieje wspólny zestaw typów wiadomości używanych przez interfejsy API.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

Informacje związane z danymi wprowadzanymi przez użytkownika.

Zapis JSON
{
  "type": string,
  "originalQuery": string
}
Pola
type

string

Typ danych wejściowych użytkownika. np. klawiatura, głos, dotyk itp.

originalQuery

string

Oryginalny tekst wpisany przez użytkownika.

IntentMatch

Informacje o wywołanym dopasowaniu intencji (globalnie lub w obrębie sceny): https://developers.google.com/assistant/conversational/intents

Zapis JSON
{
  "intentId": string,
  "intentParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Pola
intentId

string

Identyfikator intencji, która wywołała tę interakcję.

intentParameters

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

Parametry intencji, która wywołała tę interakcję.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

handler

string

Nazwa modułu obsługi dołączonego do tej interakcji.

nextSceneId

string

Scena, do której prowadzi ta interakcja.

ConditionsEvaluated

Wyniki oceny warunków: https://developers.google.com/assistant/conversational/scenes#conditions

Zapis JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Pola
failedConditions[]

object (Condition)

Lista warunków, dla których wartość „fałsz”.

successCondition

object (Condition)

Pierwszy warunek, który został oceniony jako „prawda” (jeśli istnieje).

Warunek

Oceniony warunek.

Zapis JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Pola
expression

string

W tym warunku określono wyrażenie.

handler

string

Nazwa modułu obsługi została określona w ocenianym warunku.

nextSceneId

string

Scena docelowa została określona w ocenionym warunku.

OnSceneEnter

Informacje o wykonaniu etapu onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

Zapis JSON
{
  "handler": string
}
Pola
handler

string

Nazwa modułu obsługi została określona w zdarzeniu onSceneEnter.

WebhookRequest

Informacje o żądaniu wysłanym do webhooka działania: https://developers.google.com/assistant/conversational/webhooks#payloads

Zapis JSON
{
  "requestJson": string
}
Pola
requestJson

string

Ładunek żądania webhooka.

WebhookResponse

Informacje o odpowiedzi otrzymanej z webhooka Action: https://developers.google.com/assistant/conversational/webhooks#payloads

Zapis JSON
{
  "responseJson": string
}
Pola
responseJson

string

Ładunek odpowiedzi webhooka.

WebhookInitiatedTransition

Zdarzenie aktywowane przez scenę docelową zwrócone przez webhooka: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

Zapis JSON
{
  "nextSceneId": string
}
Pola
nextSceneId

string

Identyfikator sceny, do której prowadzi przejście.

SlotMatch

Informacje o pasujących przedziałach: https://developers.google.com/assistant/conversational/scenes#slot_filling

Zapis JSON
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
Pola
nluParameters

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

Parametry wyodrębnione przez NLU z danych wejściowych użytkownika.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotRequested

Informacje o wybranym przedziale czasu: https://developers.google.com/assistant/conversational/scenes#slot_filling

Zapis JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Pola
slot

string

Nazwa żądanego przedziału.

prompt

object (Prompt)

Prompt.

SlotValidated

Zdarzenie, które ma miejsce po zakończeniu weryfikacji webhooka w przypadku przedziałów: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Zdarzenie po pełnym wypełnieniu formularza: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Zdarzenie, które ma miejsce, gdy system wymaga działania użytkownika: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Zdarzenie informujące o zakończeniu rozmowy z pracownikiem obsługi klienta.