- Żądanie HTTP
- Parametry ścieżki
- Treść żądania
- Treść odpowiedzi
- UserInput
- InputType
- Właściwości urządzenia
- Platforma
- Lokalizacja
- LatLng
- Dane wyjściowe
- Płótno
- Prompt
- Prosty
- Treść
- Karta
- Obrazy
- ImageFill
- Link
- OpenUrl
- UrlHint
- Tabela
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- Multimedia
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- Gromadzenie danych
- CollectionItem
- Lista
- ListItem
- Sugestia
- Diagnostyka
- ExecutionEvent
- ExecutionState
- Przedziały
- SlotFillingStatus
- Gniazdo
- SlotMode
- SlotStatus
- Stan
- UserConversationInput
- IntentMatch
- ConditionsEvaluated
- Warunek
- OnSceneEnter
- WebhookRequest
- WebhookResponse
- WebhookInitiatedTransition
- SlotMatch
- SlotRequested
- SlotValidated
- FormFilled
- WaitingForUserInput
- EndConversation
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 |
Wymagane. Testowany projekt oznaczony identyfikatorem projektu. Format: projects/{project} |
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON | |
---|---|
{ "input": { object ( |
Pola | |
---|---|
input |
Wymagane. Dane wejściowe podane przez użytkownika. |
deviceProperties |
Wymagane. Właściwości urządzenia używanego do interakcji z akcją. |
conversationToken |
Nieprzezroczysty token, który musi zostać przekazany jako otrzymany z metody SendInteractionResponse podczas poprzedniej interakcji. Możesz nie skonfigurować tej opcji, aby rozpocząć nową rozmowę jako pierwszą w ramach sesji testowej lub porzucić poprzednią rozmowę i rozpocząć nową. |
Treść odpowiedzi
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Odpowiedź na rundę rozmowy.
Zapis JSON | |
---|---|
{ "output": { object ( |
Pola | |
---|---|
output |
Dane wyjściowe udostępnione użytkownikowi. |
diagnostics |
informacje diagnostyczne, które wyjaśniają, jak obsługiwano żądanie. |
conversationToken |
Nieprzezroczysty token należy ustawić dla SendInteractionRequest przy następnym wywołaniu RPC, aby kontynuować tę samą rozmowę. |
UserInput
Dane wejściowe użytkownika w trakcie rozmowy.
Zapis JSON | |
---|---|
{
"query": string,
"type": enum ( |
Pola | |
---|---|
query |
Zawartość danych wejściowych wysłanych przez użytkownika. |
type |
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 wywołane przez link z adresem URL. |
Właściwości urządzenia
Właściwości urządzenia związane z daną rundą rozmowy.
Zapis JSON | |
---|---|
{ "surface": enum ( |
Pola | |
---|---|
surface |
Powierzchnia używana do interakcji z akcją. |
location |
Lokalizacja urządzenia, np. długość i szerokość geograficzna oraz sformatowany adres. |
locale |
Język ustawiony na urządzeniu. Format powinien być zgodny z dokumentem 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 |
Strefa czasowa ustawiona na urządzeniu. Format powinien być zgodny z bazą danych stref czasowych IANA, np. "Ameryka/Nowy_Jork": https://www.iana.org/time-zones |
Platforma
Możliwe platformy używane do interakcji z akcją. W przyszłości możemy dodać więcej 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 |
Urządzenie z inteligentnym ekranem. |
KAI_OS |
KaiOS. |
Lokalizacja
Kontener reprezentujący lokalizację.
Zapis JSON | |
---|---|
{
"coordinates": {
object ( |
Pola | |
---|---|
coordinates |
Współrzędne geograficzne. Wymaga: [DEVICE_PRECISE_LOCATION] uprawnienie [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
formattedAddress |
Wyświetl adres, np. „Rynek Główny 12, 31-042 Kraków”. Wymaga: [DEVICE_PRECISE_LOCATION] uprawnienie [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
zipCode |
Kod pocztowy. Wymaga: [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] lub [DEVICE_COARSE_LOCATION] uprawnienie [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
city |
Miasto. Wymaga: [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] lub [DEVICE_COARSE_LOCATION] uprawnienie [google.actions.v2.Permission.DEVICE_COARSE_LOCATION]. |
LatLng
Obiekt reprezentujący parę szerokości i długości geograficznej. Jest ona wyrażona jako para podwójnej precyzji reprezentująca stopnie szerokości i długości geograficznej. 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 |
Szerokość geograficzna w stopniach. Musi mieścić się w zakresie [-90,0, +90,0]. |
longitude |
Długość geograficzna w stopniach. Musi mieścić się w zakresie od -180,0 do +180,0]. |
Wyniki
Dane wyjściowe widoczne dla użytkowników w całej rozmowie.
Zapis JSON | |
---|---|
{ "text": string, "speech": [ string ], "canvas": { object ( |
Pola | |
---|---|
text |
Odpowiedź głosowa wysłana do użytkownika w postaci zwykłego ciągu znaków. |
speech[] |
Treść mowy wygenerowana przez Akcję. Może to obejmować elementy znaczników takie jak SSML. |
canvas |
Interaktywne materiały Canvas. |
actionsBuilderPrompt |
Stan promptu na koniec rozmowy. Więcej informacji o prompcie: https://developers.google.com/assistant/conversational/prompts |
Obszar roboczy
Reprezentuje odpowiedź interaktywnego obszaru roboczego do wysłania użytkownikowi. Można go używać w połączeniu z właściwością „firstSimple” w oknie z prośbą o rozmowę z użytkownikiem, a jednocześnie wyświetli się interaktywna odpowiedź kanwy. Maksymalny rozmiar odpowiedzi to 50 tys. bajtów.
Zapis JSON | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "enableFullScreen": boolean } |
Pola | |
---|---|
url |
Adres URL interaktywnej aplikacji internetowej obszaru roboczego, która ma zostać wczytana. Jeśli zasada nie jest skonfigurowana, używany jest ponownie URL z aktywnego obszaru roboczego. |
data[] |
Opcjonalnie: Dane JSON przekazywane na stronę internetową środowiska immersyjnego jako zdarzenie. Jeśli opcja „zastąp” pole w nowym promptie ma wartość „false” (fałsz) wartości danych zdefiniowane w tym prompcie Canvas zostaną dodane po tym, jak wartości danych zdefiniowane w poprzednich promptach Canvas. |
suppressMic |
Opcjonalnie: Wartość domyślna: false. |
enableFullScreen |
Jeśli |
Prompt
Reprezentować odpowiedź dla użytkownika.
Zapis JSON | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
Pola | |
---|---|
append |
Opcjonalnie: Tryb sposobu łączenia tych wiadomości z wiadomościami zdefiniowanymi wcześniej. „false” spowoduje usunięcie wszystkich wcześniej zdefiniowanych wiadomości (pierwsza i ostatnia prosta, treść, link z sugestiami oraz obszar roboczy) i dodanie wiadomości zdefiniowanych w tym promptie. „true” dodaje wiadomości zdefiniowane w tym promptie do wiadomości zdefiniowanych w poprzednich odpowiedziach. Ustawienie w tym polu wartości „true” (prawda) . Wiadomości z treścią i linkami zawsze zostaną zastąpione, jeśli zostaną zdefiniowane w prompcie. Wartość domyślna to „false”. |
override |
Opcjonalnie: Tryb sposobu łączenia tych wiadomości z wiadomościami zdefiniowanymi wcześniej. „true” usuwa wszystkie wcześniej zdefiniowane wiadomości (pierwsza i ostatnia prosta treść, link z sugestiami oraz obszar roboczy) i dodaje wiadomości zdefiniowane w tym promptie. „false” dodaje wiadomości zdefiniowane w tym promptie do wiadomości zdefiniowanych we wcześniejszych odpowiedziach. Pozostawienie w tym polu wartości „false” (fałsz) umożliwia też dołączanie do niektórych pól w promptach prostych, promptach Sugestie i Canvas (część promptu Treść). Wiadomości z treścią i linkami są zawsze zastępowane, jeśli zostały zdefiniowane w prompcie. Wartość domyślna to „false”. |
firstSimple |
Opcjonalnie: Pierwsza odpowiedź głosowa i tekstowa. |
content |
Opcjonalnie: Treści takie jak karta, lista lub multimedia do wyświetlenia użytkownikowi. |
lastSimple |
Opcjonalnie: Ostatnia odpowiedź głosowa i tekstowa. |
suggestions[] |
Opcjonalnie: Sugestie do wyświetlenia użytkownikowi, które zawsze będą pojawiać się na końcu odpowiedzi. Jeśli opcja „zastąp” w wierszu z promptem zawierającym wartość „false” (fałsz) tytuły zdefiniowane w tym polu zostaną dodane do tytułów zdefiniowanych we wszystkich wcześniej zdefiniowanych promptach sugestii, a zduplikowane wartości zostaną usunięte. |
link |
Opcjonalnie: Dodatkowy element z sugestią, który może prowadzić do powiązanej aplikacji lub witryny. Element zostanie wyrenderowany z tytułem „Otwórz |
canvas |
Opcjonalnie: Reprezentuje odpowiedź interaktywnego obszaru roboczego do wysłania użytkownikowi. |
Prosty
Reprezentuje prosty prompt, który należy wysłać użytkownikowi.
Zapis JSON | |
---|---|
{ "speech": string, "text": string } |
Pola | |
---|---|
speech |
Opcjonalnie: Reprezentuje mowę, która ma zostać wypowiedziana użytkownikowi. Może to być SSML lub zamiana tekstu na mowę. Jeśli opcja „zastąp” w polu zawierającym prompt ma wartość „true” (prawda), mowa zdefiniowana w tym polu zastępuje mowę z poprzedniego prostego promptu. |
text |
Opcjonalny tekst do wyświetlenia w dymku czatu. Jeśli wartość nie zostanie podana, będzie używane renderowanie powyższego pola mowy. Limit wynosi 640 znaków. Jeśli opcja „zastąp” w nowym promptie ma wartość „true” (prawda), tekst zdefiniowany w tym polu zostanie zastąpiony tekstem poprzedniego prostego promptu. |
Treść
Treść do wyświetlenia.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy content . Treść. content może mieć tylko jedną z tych wartości: |
||
card |
karta podstawowa. |
|
image |
Obraz. |
|
table |
Karta tabeli. |
|
media |
Odpowiedź wskazująca zbiór multimediów do odtworzenia. |
|
canvas |
Odpowiedź używana w przypadku interaktywnego obszaru roboczego. |
|
collection |
Karta zawierająca kolekcję opcji do wyboru. |
|
list |
Karta z listą opcji do wyboru. |
Karta
Podstawowa karta do wyświetlania pewnych informacji, np. obrazu i/lub tekstu.
Zapis JSON | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
Pola | |
---|---|
title |
Ogólny tytuł karty. Opcjonalnie: |
subtitle |
Opcjonalnie: |
text |
Tekst karty. Obsługuje ograniczony zestaw składni formatowania Markdown na potrzeby formatowania. Wymagany, chyba że zawiera zdjęcie. |
image |
Baner powitalny karty. Wysokość jest stała na 192 dp. Opcjonalnie: |
imageFill |
Sposób wypełniania tła obrazu. Opcjonalnie: |
button |
Przycisk. Opcjonalnie: |
Obraz
Obraz wyświetlany na karcie.
Zapis JSON | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
Pola | |
---|---|
url |
Źródłowy adres URL obrazu. Obrazy mogą być w formacie JPG, PNG lub GIF (animowane lub nieanimowane). Na przykład: |
alt |
Opis tekstowy obrazu, który ma być używany na potrzeby ułatwień dostępu, np. przez czytniki ekranu. Wymagane. |
height |
Wysokość obrazu w pikselach. Opcjonalnie: |
width |
Szerokość obrazu w pikselach. Opcjonalnie: |
ImageFill
Możliwe opcje wyświetlania obrazu, które wpływają na sposób jego wyświetlania. Tej opcji należy używać, gdy współczynnik proporcji obrazu nie pasuje do współczynnika proporcji kontenera obrazu.
Wartości w polu enum | |
---|---|
UNSPECIFIED |
Nieokreślone wypełnienie obrazem. |
GRAY |
Wypełnij luki między obrazem a kontenerem obrazu za pomocą szarych pasów. |
WHITE |
Wypełnij luki między obrazem a kontenerem obrazów białymi pasami. |
CROPPED |
Obraz jest skalowany w taki sposób, że jego szerokość i wysokość są zgodne lub przekraczają wymiary kontenera. Może to spowodować przycięcie górnej i dolnej części obrazu, jeśli wysokość skalowanego obrazu jest większa niż wysokość kontenera, lub przycięcie obrazu (lewego i prawego), jeśli szerokość obrazu jest większa niż szerokość kontenera. Ten tryb działa podobnie do „trybu powiększenia”. na telewizorze szerokoekranowym podczas odtwarzania filmu w formacie 4:3. |
Link
Powiąż zawartość.
Zapis JSON | |
---|---|
{
"name": string,
"open": {
object ( |
Pola | |
---|---|
name |
Nazwa linku |
open |
Co się dzieje, gdy użytkownik otwiera link |
OpenUrl
Działanie wykonywane, gdy użytkownik otworzy link.
Zapis JSON | |
---|---|
{
"url": string,
"hint": enum ( |
Pola | |
---|---|
url |
Pole adresu URL, którym może być dowolny z tych elementów: – adresy URL http/https służące do otwierania aplikacji powiązanej z aplikacją lub strony internetowej |
hint |
Wskazuje wskazówkę dotyczącą typu adresu URL. |
UrlHint
Różne typy wskazówek dotyczących adresów URL.
Wartości w polu enum | |
---|---|
LINK_UNSPECIFIED |
Nie określono |
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 za pomocą atrybutu . |
Tabela
Karta tabeli zawierająca tabelę z tekstem.
Zapis JSON | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
Pola | |
---|---|
title |
Ogólny tytuł tabeli. Opcjonalny, ale musi być ustawiony, jeśli masz ustawiony napis. |
subtitle |
Podtytuł tabeli. Opcjonalnie: |
image |
Obraz powiązany z tabelą. Opcjonalnie: |
columns[] |
Nagłówki i wyrównanie kolumn. |
rows[] |
Dane wiersza tabeli. Pierwsze 3 wiersze na pewno się wyświetlą, ale inne mogą zostać wycięte na niektórych platformach. Przetestuj za pomocą symulatora, które wiersze będą wyświetlane dla danej platformy. Na platformach obsługujących WEB_BROWSER możesz wskazać użytkownikowi stronę internetową z większą ilością danych. |
button |
Przycisk. |
TableColumn
Opisuje kolumnę w tabeli.
Zapis JSON | |
---|---|
{
"header": string,
"align": enum ( |
Pola | |
---|---|
header |
Tekst nagłówka kolumny. |
align |
Wyrównanie w poziomie kolumny z treściami. Jeśli nie określono inaczej, treść zostanie wyrównana do krawędzi początkowej. |
HorizontalAlignment
Wyrównanie treści w komórce.
Wartości w polu enum | |
---|---|
UNSPECIFIED |
Nieokreślone wyrównanie w poziomie. |
LEADING |
Górna krawędź komórki. Jest to 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 ( |
Pola | |
---|---|
cells[] |
Komórki w tym wierszu. Pierwsze 3 komórki są wyświetlane, ale inne mogą zostać wycięte na niektórych platformach. Przetestuj za pomocą symulatora, które komórki zostaną wyświetlone na danej powierzchni. |
divider |
Wskazuje, czy po każdym wierszu powinien być separator. |
TableCell
Opisuje komórkę w wierszu.
Zapis JSON | |
---|---|
{ "text": string } |
Pola | |
---|---|
text |
Zawartość tekstowa komórki. |
Multimedia
Reprezentuje 1 obiekt multimedialny. Zawiera informacje o multimediach, takie jak nazwa, opis, URL itp.
Zapis JSON | |
---|---|
{ "mediaType": enum ( |
Pola | |
---|---|
mediaType |
Typ multimediów. |
startOffset |
Odsunięcie pierwszego obiektu multimedialnego. Czas trwania w sekundach z maksymalnie dziewięcioma cyframi po przecinku, zakończony znakiem „ |
optionalMediaControls[] |
Opcjonalne typy elementów sterujących multimediami, które obsługuje ta sesja odpowiedzi na multimedia. Jeśli jest ustawione, żądanie jest przekazywane do firm zewnętrznych, gdy wystąpi określone zdarzenie multimedialne. Jeśli nie jest ustawiona, firma zewnętrzna musi nadal obsługiwać 2 domyślne typy ustawień: ZAKOŃCZONO i NIEPOWODZENIE. |
mediaObjects[] |
Lista obiektów multimedialnych |
MediaType
Typ multimediów w tej odpowiedzi.
Wartości w polu enum | |
---|---|
MEDIA_TYPE_UNSPECIFIED |
Nieokreślony typ zawartości. |
AUDIO |
Plik audio. |
MEDIA_STATUS_ACK |
Odpowiedź na potwierdzenie otrzymania raportu o stanie mediów. |
OptionalMediaControls
Opcjonalne typy elementów sterujących multimediami, które obsługuje odpowiedź multimediów
Wartości w polu enum | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED |
Nieokreślona wartość |
PAUSED |
Zdarzenie wstrzymane. Wywoływane, gdy użytkownik wstrzyma multimedia. |
STOPPED |
Wydarzenie zostało zatrzymane. Wywoływane, gdy użytkownik zakończy sesję 3p podczas odtwarzania multimediów. |
MediaObject
Reprezentuje jeden obiekt multimedialny
Zapis JSON | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
Pola | |
---|---|
name |
Nazwa tego obiektu multimedialnego. |
description |
Opis tego obiektu multimedialnego. |
url |
Adres URL wskazujący treści multimedialne. |
image |
Obraz wyświetlany z kartą multimediów. |
MediaImage
Obraz wyświetlany z kartą multimediów.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy image . Obraz. image może mieć tylko jedną z tych wartości: |
||
large |
Duże zdjęcie, np. okładka albumu itp. |
|
icon |
Mała ikona obrazu wyświetlana po prawej stronie tytułu. Został zmniejszony do rozmiaru 36 x 36 dp. |
Kolekcja
Karta, która przedstawia kolekcję opcji do wyboru.
Zapis JSON | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
Pola | |
---|---|
title |
Tytuł kolekcji. Opcjonalnie: |
subtitle |
Podtytuł kolekcji. Opcjonalnie: |
items[] |
min.: 2, maks.: 10 |
imageFill |
Sposób wypełniania tła zdjęć elementów kolekcji. Opcjonalnie: |
CollectionItem
Element w kolekcji
Zapis JSON | |
---|---|
{ "key": string } |
Pola | |
---|---|
key |
Wymagane. Klucz NLU zgodny z nazwą klucza wpisu w powiązanym typie Type. |
Lista
Karta zawierająca listę opcji do wyboru.
Zapis JSON | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
Pola | |
---|---|
title |
Tytuł listy. Opcjonalnie: |
subtitle |
Podtytuł listy. Opcjonalnie: |
items[] |
min.: 2, maks.: 30 |
ListItem
element na liście,
Zapis JSON | |
---|---|
{ "key": string } |
Pola | |
---|---|
key |
Wymagane. Klucz NLU zgodny z nazwą klucza wpisu w powiązanym typie Type. |
Sugestia
Sugestia wejściowa, która ma być przedstawiona użytkownikowi.
Zapis JSON | |
---|---|
{ "title": string } |
Pola | |
---|---|
title |
Wymagane. Tekst widoczny w elemencie z sugestią. Po kliknięciu tekst zostanie opublikowany z powrotem w rozmowie dosłownie tak, jakby to użytkownik napisał go. Każdy tytuł musi być niepowtarzalny w zestawie elementów z sugestią. Maks. 25 znaków |
Diagnostyka
Informacje diagnostyczne dotyczące danej rundy rozmowy.
Zapis JSON | |
---|---|
{
"actionsBuilderEvents": [
{
object ( |
Pola | |
---|---|
actionsBuilderEvents[] |
Lista zdarzeń ze szczegółowymi informacjami na temat przetwarzania danej rundy rozmowy na poszczególnych etapach modelu interakcji w narzędziu Actions Builder. Wartość wypełniana w przypadku Actions Builder & Tylko aplikacje z pakietu SDK Actions. |
ExecutionEvent
Zawiera informacje o zdarzeniu wykonania, które wystąpiło podczas przetwarzania żądania rozmowy w Actions Builder. Omówienie etapów zgłaszania prośby o rozmowę znajdziesz na stronie https://developers.google.com/assistant/conversational/actions.
Zapis JSON | |
---|---|
{ "eventTime": string, "executionState": { object ( |
Pola | ||
---|---|---|
eventTime |
Sygnatura czasowa zdarzenia. Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
|
executionState |
Stan wykonania w trakcie tego zdarzenia. |
|
status |
Wynikowy stan konkretnego kroku wykonania. |
|
warningMessages[] |
Lista ostrzeżeń wygenerowanych podczas wykonywania tego zdarzenia. Ostrzeżenia to wskazówki dla dewelopera wykryte podczas prośby o rozmowę. Zazwyczaj nie mają one zastosowania krytycznego i nie wstrzymują wykonania żądania. Ostrzeżenia mogą być generowane na przykład wtedy, gdy webhook próbuje zastąpić nieistniejący typ niestandardowy. Błędy są zgłaszane jako kody stanu błędu, ale ostrzeżenia mogą być wyświetlane, nawet jeśli stan to OK. |
|
Pole sumy EventData . Szczegółowe informacje o różnych zdarzeniach, które mogą brać udział w przetwarzaniu danej rundy. Zestaw pól określa typ tego zdarzenia. EventData może mieć tylko jedną z tych wartości: |
||
userInput |
Zdarzenie obsługi danych wejściowych użytkownika. |
|
intentMatch |
Zdarzenie dotyczące dopasowania intencji. |
|
conditionsEvaluated |
Zdarzenie oceny warunku. |
|
onSceneEnter |
Zdarzenie wykonania OnSceneEnter. |
|
webhookRequest |
Zdarzenie wysyłki żądania webhooka. |
|
webhookResponse |
Zdarzenie odbioru odpowiedzi webhooka. |
|
webhookInitiatedTransition |
Zdarzenie przejścia zainicjowanego przez webhooka. |
|
slotMatch |
Zdarzenie dotyczące dopasowania boksu. |
|
slotRequested |
Zdarzenie dotyczące żądania przedziału. |
|
slotValidated |
Zdarzenie weryfikacji przedziału. |
|
formFilled |
Zdarzenie wypełnienia formularza. |
|
waitingUserInput |
Oczekiwanie na zdarzenie wejściowe użytkownika. |
|
endConversation |
Zdarzenie zakończenia rozmowy. |
ExecutionState
Bieżący stan wykonania.
Zapis JSON | |
---|---|
{ "currentSceneId": string, "sessionStorage": { object }, "slots": { object ( |
Pola | |
---|---|
currentSceneId |
Identyfikator aktualnie aktywnej sceny. |
sessionStorage |
Stan pamięci sesji: https://developers.google.com/assistant/conversational/storage-session |
slots |
Stan wypełnienia przedziałów (w odpowiednich przypadkach): https://developers.google.com/assistant/conversational/scenes#slot_filling |
promptQueue[] |
Kolejka promptów: https://developers.google.com/assistant/conversational/prompts |
userStorage |
Stan miejsca na dane użytkownika: https://developers.google.com/assistant/conversational/storage-user |
householdStorage |
Stan miejsca na dane w domu: https://developers.google.com/assistant/conversational/storage-home |
Przedziały
Reprezentuje bieżący stan boksów sceny.
Zapis JSON | |
---|---|
{ "status": enum ( |
Pola | |
---|---|
status |
Bieżący stan wypełniania przedziałów. |
slots |
Boksy powiązane z bieżącą sceną. Obiekt zawierający listę par |
SlotFillingStatus
Reprezentuje bieżący stan wypełniania przedziałów.
Wartości w polu enum | |
---|---|
UNSPECIFIED |
Wartość zastępcza, gdy pole użycia nie jest wypełnione. |
INITIALIZED |
Przedziały zostały zainicjowane, ale nie rozpoczęto wypełniania przedziałów. |
COLLECTING |
Wartości przedziałów są zbierane. |
FINAL |
Wszystkie wartości przedziałów są ostateczne i nie można ich zmienić. |
Boks
Reprezentuje boks.
Zapis JSON | |
---|---|
{ "mode": enum ( |
Pola | |
---|---|
mode |
Tryb przedziału (wymagany lub opcjonalny). Może je ustawić deweloper. |
status |
Stan przedziału. |
value |
Wartość przedziału. Zmiana tej wartości w odpowiedzi spowoduje zmianę wartości wypełnienia przedziałów. |
updated |
Wskazuje, czy wartość przedziału została zebrana w ostatnim turze. To pole jest tylko do odczytu. |
prompt |
Opcjonalnie: Ten komunikat jest wysyłany do użytkownika, gdy jest to potrzebne do wypełnienia wymaganego przedziału. Ten prompt zastępuje istniejący prompt zdefiniowany w konsoli. To pole nie znajduje się w żądaniu webhooka. |
SlotMode
Reprezentuje tryb boksu, czyli czy jest wymagany, czy nie.
Wartości w polu enum | |
---|---|
MODE_UNSPECIFIED |
Wartość zastępcza, gdy pole użycia nie jest wypełnione. |
OPTIONAL |
Wskazuje, że przedział nie jest wymagany do wypełnienia przedziałów. |
REQUIRED |
Wskazuje, że przedział jest wymagany do wypełnienia przedziałów. |
SlotStatus
Reprezentuje stan boksu.
Wartości w polu enum | |
---|---|
SLOT_UNSPECIFIED |
Wartość zastępcza, gdy pole użycia nie jest wypełnione. |
EMPTY |
Wskazuje, że boks nie ma żadnych wartości. Tego stanu nie można zmienić za pomocą odpowiedzi. |
INVALID |
Wskazuje, że wartość przedziału jest nieprawidłowa. Ten stan można ustawić w odpowiedzi. |
FILLED |
Wskazuje, że boks ma wartość. Tego stanu nie można zmienić za pomocą odpowiedzi. |
Stan
Typ Status
określa logiczny model błędów odpowiedni dla różnych środowisk programowania, w tym interfejsów API typu REST i RPC. Jest używany przez gRPC. Każdy komunikat Status
zawiera 3 elementy danych: kod błędu, komunikat o błędzie i szczegóły błędu.
Więcej informacji na temat tego modelu błędów i sposobu jego działania znajdziesz w przewodniku API Design Guide (w języku angielskim).
Zapis JSON | |
---|---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
Pola | |
---|---|
code |
Kod stanu, który powinien być wartością wyliczeniową równą |
message |
komunikat o błędzie widoczny dla dewelopera. Powinien być w języku angielskim; Każdy komunikat o błędzie widoczny dla użytkowników powinien zostać zlokalizowany i wysłany w polu |
details[] |
Lista komunikatów ze szczegółami błędu. Istnieje typowy zestaw typów wiadomości, których mogą używać interfejsy API. Obiekt zawierający pola dowolnego typu. Dodatkowe pole |
UserConversationInput
Informacje związane z danymi wpisywanymi przez użytkownika.
Zapis JSON | |
---|---|
{ "type": string, "originalQuery": string } |
Pola | |
---|---|
type |
Typ danych wejściowych użytkownika. Na przykład: klawiatura, głos, dotyk itp. |
originalQuery |
Oryginalny tekst wpisany przez użytkownika. |
IntentMatch
Informacje o wywoływanym dopasowaniu intencji (globalnie lub w obrębie sceny): https://developers.google.com/assistant/conversational/intents
Zapis JSON | |
---|---|
{
"intentId": string,
"intentParameters": {
string: {
object ( |
Pola | |
---|---|
intentId |
Identyfikator intencji, który wywołał tę interakcję. |
intentParameters |
Parametry intencji, które wywołały tę interakcję. Obiekt zawierający listę par |
handler |
Nazwa modułu obsługi dołączonego do tej interakcji. |
nextSceneId |
Scena, do której prowadzi dana interakcja. |
ConditionsEvaluated
Wyniki oceny warunków: https://developers.google.com/assistant/conversational/scenes#conditions
Zapis JSON | |
---|---|
{ "failedConditions": [ { object ( |
Pola | |
---|---|
failedConditions[] |
Lista warunków, które zostały ocenione jako „false” (fałsz). |
successCondition |
Pierwszy warunek, który został sklasyfikowany jako „prawda” (jeśli istnieje). |
Warunek
Oceniony warunek.
Zapis JSON | |
---|---|
{ "expression": string, "handler": string, "nextSceneId": string } |
Pola | |
---|---|
expression |
Wyrażenie określone w tym warunku. |
handler |
Nazwa modułu obsługi określona w ocenionym warunku. |
nextSceneId |
Scena docelowa została określona w ocenionym stanie. |
OnSceneEnter
Informacje o wykonaniu etapu onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter
Zapis JSON | |
---|---|
{ "handler": string } |
Pola | |
---|---|
handler |
Nazwa modułu obsługi 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 |
Ładunek żądania webhooka. |
WebhookResponse
Informacje o odpowiedzi otrzymanej z webhooka akcji: https://developers.google.com/assistant/conversational/webhooks#payloads
Zapis JSON | |
---|---|
{ "responseJson": string } |
Pola | |
---|---|
responseJson |
Ładunek odpowiedzi webhooka. |
WebhookInitiatedTransition
Zdarzenie wywołane przez scenę docelową zwrócone z webhooka: https://developers.google.com/assistant/conversational/webhooks#transition_scenes
Zapis JSON | |
---|---|
{ "nextSceneId": string } |
Pola | |
---|---|
nextSceneId |
Identyfikator sceny, do której prowadzi przejście. |
SlotMatch
Informacje o dopasowanych boksach: https://developers.google.com/assistant/conversational/scenes#slot_filling
Zapis JSON | |
---|---|
{
"nluParameters": {
string: {
object ( |
Pola | |
---|---|
nluParameters |
Parametry wyodrębnione przez NLU z danych wejściowych użytkownika. Obiekt zawierający listę par |
SlotRequested
Informacje o aktualnie żądanym przedziale czasu: https://developers.google.com/assistant/conversational/scenes#slot_filling
Zapis JSON | |
---|---|
{
"slot": string,
"prompt": {
object ( |
Pola | |
---|---|
slot |
Nazwa żądanego przedziału. |
prompt |
Prompt przedziału. |
SlotValidated
Zdarzenie, które ma miejsce po zakończeniu weryfikacji webhooka dla przedziałów: https://developers.google.com/assistant/conversational/scenes#slot_filling
FormFilled
Zdarzenie, które ma miejsce, gdy formularz zostanie w pełni wypełniony: https://developers.google.com/assistant/conversational/scenes#slot_filling
WaitingForUserInput
Zdarzenie, które ma miejsce, gdy system potrzebuje danych wejściowych użytkownika: https://developers.google.com/assistant/conversational/scenes#input
EndConversation
Zdarzenie informujące o zakończeniu rozmowy z agentem.