- Żądanie HTTP
- Parametry ścieżki
- Treść żądania
- Treść odpowiedzi
- UserInput
- InputType
- DeviceProperties
- Powierzchnia
- Lokalizacja
- LatLng
- Dane wyjściowe
- Odbitka na płótnie
- Prompt
- Prostota
- Treść
- Karta
- Obraz
- 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 |
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 ( |
Pola | |
---|---|
input |
To pole jest wymagane. Dane wprowadzone przez użytkownika. |
deviceProperties |
To pole jest wymagane. Właściwości urządzenia używanego do interakcji z akcją. |
conversationToken |
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 ( |
Pola | |
---|---|
output |
Dane wyjściowe zostały przekazane użytkownikowi. |
diagnostics |
Informacje diagnostyczne wyjaśniające, jak przetworzono żądanie. |
conversationToken |
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 ( |
Pola | |
---|---|
query |
Treść 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 aktywowane przez link URL. |
DeviceProperties
Właściwości urządzenia istotne dla przebiegu rozmowy.
Zapis JSON | |
---|---|
{ "surface": enum ( |
Pola | |
---|---|
surface |
Powierzchnia używana do interakcji z akcją. |
location |
Lokalizacja urządzenia, np. szerokość i długość geograficzna, oraz sformatowany adres. |
locale |
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 |
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 ( |
Pola | |
---|---|
coordinates |
Współrzędne geograficzne. Wymaga uprawnienia [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION]. |
formattedAddress |
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 |
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 |
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 |
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 [-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 ( |
Pola | |
---|---|
text |
Odpowiedź głosowa wysłana do użytkownika w postaci zwykłego ciągu znaków. |
speech[] |
Treści głosowe tworzone przez akcję. Może to być elementy znaczników, takie jak SSML. |
canvas |
Zawartość interaktywnej odbitki na płótnie. |
actionsBuilderPrompt |
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 |
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[] |
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 |
Opcjonalnie. Wartość domyślna: false (fałsz). |
enableFullScreen |
Jeśli |
Prompt
Reprezentuj odpowiedź dla użytkownika.
Zapis JSON | |
---|---|
{ "append": boolean, "override": boolean, "firstSimple": { object ( |
Pola | |
---|---|
append |
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 |
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 |
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 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. |
link |
Opcjonalnie. Dodatkowy element sugestii, który może prowadzić do powiązanej aplikacji lub strony. Element zostanie wyrenderowany z tytułem „Otwórz |
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 |
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 |
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 |
Pola | ||
---|---|---|
Pole sumy content . Treść. content może mieć tylko jedną z tych wartości: |
||
card |
Kartę podstawową. |
|
image |
Obraz. |
|
table |
Karta z tabelą. |
|
media |
Odpowiedź wskazująca zestaw multimediów do odtworzenia. |
|
canvas |
Odpowiedź używana w przypadku interaktywnego obszaru roboczego. |
|
collection |
Karta prezentująca zbiór opcji do wyboru. |
|
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 ( |
Pola | |
---|---|
title |
Ogólny tytuł karty. Opcjonalnie. |
subtitle |
Opcjonalnie. |
text |
Tekst główny karty. Obsługuje ograniczony zestaw składni znaków Markdown na potrzeby formatowania. Wymagany, chyba że dodano obraz. |
image |
Baner powitalny karty. Wysokość jest stała i wynosi 192 dp. Opcjonalnie. |
imageFill |
Sposób wypełnienia 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). np. |
alt |
Opis tekstowy obrazu, który ma być używany na potrzeby ułatwień dostępu, np. przez czytniki ekranu. To pole jest 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 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. |
Link
Dodaj treść linku.
Zapis JSON | |
---|---|
{
"name": string,
"open": {
object ( |
Pola | |
---|---|
name |
Nazwa linku |
open |
Co się dzieje, gdy użytkownik otworzy link |
OpenUrl
Działanie wykonywane, gdy użytkownik otworzy link.
Zapis JSON | |
---|---|
{
"url": string,
"hint": enum ( |
Pola | |
---|---|
url |
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 |
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 |
Brak informacji |
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 ( |
Pola | |
---|---|
title |
Ogólny tytuł tabeli. Opcjonalny, ale musi być ustawiony, jeśli jest ustawiony podtytuł. |
subtitle |
Podtytuł tabeli. Opcjonalnie. |
image |
Obraz powiązany z tabelą. Opcjonalnie. |
columns[] |
Nagłówki i wyrównanie kolumn. |
rows[] |
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 |
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 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 ( |
Pola | |
---|---|
cells[] |
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 |
Wskazuje, czy po każdym wierszu powinien znajdować się separator. |
TableCell
Opisuje komórkę w wierszu.
Zapis JSON | |
---|---|
{ "text": string } |
Pola | |
---|---|
text |
Zawartość komórki. |
Media
Reprezentuje 1 obiekt multimedialny. Zawiera informacje o multimediach, takie jak nazwa, opis, adres URL itp.
Zapis JSON | |
---|---|
{ "mediaType": enum ( |
Pola | |
---|---|
mediaType |
Typ nośnika. |
startOffset |
Opóźnienie rozpoczęcia pierwszego obiektu multimedialnego. Czas trwania w sekundach zawierający maksymalnie 9 cyfr po przecinku zakończony znakiem „ |
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[] |
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 ( |
Pola | |
---|---|
name |
Nazwa tego obiektu multimedialnego. |
description |
Opis tego obiektu multimedialnego. |
url |
Adres URL wskazujący treści multimedialne. |
image |
Obraz wyświetlany na karcie multimediów. |
MediaImage
Obraz wyświetlany na karcie multimediów.
Zapis JSON | |
---|---|
{ // Union field |
Pola | ||
---|---|---|
Pole sumy image . Obraz. image może mieć tylko jedną z tych wartości: |
||
large |
Duży obraz, np. okładka albumu itp. |
|
icon |
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 ( |
Pola | |
---|---|
title |
Tytuł kolekcji. Opcjonalnie. |
subtitle |
Podtytuł kolekcji. Opcjonalnie. |
items[] |
min.: 2, maks.: 10 |
imageFill |
Sposób wypełnienia tła obrazu elementów kolekcji. Opcjonalnie. |
CollectionItem
Element w kolekcji
Zapis JSON | |
---|---|
{ "key": string } |
Pola | |
---|---|
key |
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 ( |
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 |
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 |
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 ( |
Pola | |
---|---|
actionsBuilderEvents[] |
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 ( |
Pola | ||
---|---|---|
eventTime |
Sygnatura czasowa wystąpienia zdarzenia. Sygnatura czasowa w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundy i maksymalnie 9 cyframi po przecinku. Przykłady: |
|
executionState |
Stan wykonania podczas 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ę. 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 |
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łania żądania webhooka. |
|
webhookResponse |
Zdarzenie potwierdzenia odpowiedzi webhooka. |
|
webhookInitiatedTransition |
Zdarzenie przejścia zainicjowane przez webhooka. |
|
slotMatch |
Zdarzenie dotyczące dopasowania przedziałów. |
|
slotRequested |
Boks żądania zdarzenia. |
|
slotValidated |
Zdarzenie weryfikacji przedziału. |
|
formFilled |
Zdarzenie dotyczące wypełnienia formularza. |
|
waitingUserInput |
Oczekiwanie na zdarzenie wejściowe użytkownika. |
|
endConversation |
Zakończenie rozmowy. |
ExecutionState
Bieżący stan wykonania.
Zapis JSON | |
---|---|
{ "currentSceneId": string, "sessionStorage": { object }, "slots": { object ( |
Pola | |
---|---|
currentSceneId |
Identyfikator obecnie aktywnej sceny. |
sessionStorage |
Stan miejsca na dane sesji: https://developers.google.com/assistant/conversational/storage-session |
slots |
Stan wypełnienia przedziałów (w stosownych 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 przedziałów sceny.
Zapis JSON | |
---|---|
{ "status": enum ( |
Pola | |
---|---|
status |
Bieżący stan wypełniania przedziałów. |
slots |
Przedziały powiązane z bieżącą sceną. Obiekt zawierający listę par |
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 ( |
Pola | |
---|---|
mode |
Tryb boksu (wymagany lub opcjonalny). Może być ustawiany przez dewelopera. |
status |
Stan przedziału. |
value |
Wartość boksu. Zmiana tej wartości w odpowiedzi spowoduje zmodyfikowanie wartości wypełnienia przedziałów. |
updated |
Wskazuje, czy wartość przedziału została zebrana w ostatniej turze. To pole jest tylko do odczytu. |
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 |
Kod stanu, który powinien być wartością wyliczeniową |
message |
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 |
details[] |
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 |
UserConversationInput
Informacje związane z danymi wprowadzanymi przez użytkownika.
Zapis JSON | |
---|---|
{ "type": string, "originalQuery": string } |
Pola | |
---|---|
type |
Typ danych wejściowych użytkownika. np. klawiatura, głos, dotyk itp. |
originalQuery |
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 ( |
Pola | |
---|---|
intentId |
Identyfikator intencji, która wywołała tę interakcję. |
intentParameters |
Parametry intencji, która wywołała tę interakcję. Obiekt zawierający listę par |
handler |
Nazwa modułu obsługi dołączonego do tej interakcji. |
nextSceneId |
Scena, do której prowadzi ta interakcja. |
ConditionsEvaluated
Wyniki oceny warunków: https://developers.google.com/assistant/conversational/scenes#conditions
Zapis JSON | |
---|---|
{ "failedConditions": [ { object ( |
Pola | |
---|---|
failedConditions[] |
Lista warunków, dla których wartość „fałsz”. |
successCondition |
Pierwszy warunek, który został oceniony jako „prawda” (jeśli istnieje). |
Warunek
Oceniony warunek.
Zapis JSON | |
---|---|
{ "expression": string, "handler": string, "nextSceneId": string } |
Pola | |
---|---|
expression |
W tym warunku określono wyrażenie. |
handler |
Nazwa modułu obsługi została określona w ocenianym warunku. |
nextSceneId |
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 |
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 |
Ł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 |
Ł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 |
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 ( |
Pola | |
---|---|
nluParameters |
Parametry wyodrębnione przez NLU z danych wejściowych użytkownika. Obiekt zawierający listę par |
SlotRequested
Informacje o wybranym 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. |
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.