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

Wymagane. Testowany projekt oznaczony identyfikatorem projektu. Format: projects/{project}

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)

Wymagane. Dane wejściowe podane przez użytkownika.

deviceProperties

object (DeviceProperties)

Wymagane. Właściwości urządzenia używanego do interakcji z akcją.

conversationToken

string

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 (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Pola
output

object (Output)

Dane wyjściowe udostępnione użytkownikowi.

diagnostics

object (Diagnostics)

informacje diagnostyczne, które wyjaśniają, jak obsługiwano żądanie.

conversationToken

string

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 (InputType)
}
Pola
query

string

Zawartość 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 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 (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. długość i szerokość geograficzna oraz sformatowany adres.

locale

string

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

string

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 (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Pola
coordinates

object (LatLng)

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

formattedAddress

string

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

string

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

string

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

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 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 (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ść mowy wygenerowana przez Akcję. Może to obejmować elementy znaczników takie jak SSML.

canvas

object (Canvas)

Interaktywne materiały Canvas.

actionsBuilderPrompt

object (Prompt)

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

string

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[]

value (Value format)

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

boolean

Opcjonalnie: Wartość domyślna: false.

enableFullScreen

boolean

Jeśli true, aplikacja Canvas zajmuje pełny ekran i nie ma nagłówka na górze. Na ekranie wczytywania pojawi się też komunikat z wyświetlaną nazwą akcji, nazwą dewelopera i instrukcjami zamknięcia akcji. Wartość domyślna: false.

Prompt

Reprezentować 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 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

boolean

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

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 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.

canvas

object (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

string

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

string

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 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)

karta podstawowa.

image

object (Image)

Obraz.

table

object (Table)

Karta tabeli.

media

object (Media)

Odpowiedź wskazująca zbiór multimediów do odtworzenia.

canvas
(deprecated)

object (Canvas)

Odpowiedź używana w przypadku interaktywnego obszaru roboczego.

collection

object (Collection)

Karta zawierająca kolekcję opcji do wyboru.

list

object (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 (Image)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (Link)
  }
}
Pola
title

string

Ogólny tytuł karty. Opcjonalnie:

subtitle

string

Opcjonalnie:

text

string

Tekst karty. Obsługuje ograniczony zestaw składni formatowania Markdown na potrzeby formatowania. Wymagany, chyba że zawiera zdjęcie.

image

object (Image)

Baner powitalny karty. Wysokość jest stała na 192 dp. Opcjonalnie:

imageFill

enum (ImageFill)

Sposób wypełniania 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). Na przykład: https://www.agentx.com/logo.png. Wymagane.

alt

string

Opis tekstowy obrazu, który ma być używany na potrzeby ułatwień dostępu, np. przez czytniki ekranu. 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 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.

OpenUrl

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

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

string

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

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 za pomocą atrybutu .

Tabela

Karta tabeli zawierająca tabelę z tekstem.

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 masz ustawiony napis.

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 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

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 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 (TableCell)
    }
  ],
  "divider": boolean
}
Pola
cells[]

object (TableCell)

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

boolean

Wskazuje, czy po każdym wierszu powinien być separator.

TableCell

Opisuje komórkę w wierszu.

Zapis JSON
{
  "text": string
}
Pola
text

string

Zawartość tekstowa komórki.

Multimedia

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

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

enum (MediaType)

Typ multimediów.

startOffset

string (Duration format)

Odsunięcie pierwszego obiektu multimedialnego.

Czas trwania w sekundach z maksymalnie dziewięcioma cyframi po przecinku, zakończony znakiem „s”. Przykład: "3.5s".

optionalMediaControls[]

enum (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[]

object (MediaObject)

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 (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 z kartą multimediów.

MediaImage

Obraz wyświetlany z kartą 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że zdjęcie, np. okładka albumu itp.

icon

object (Image)

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 (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łniania tła zdjęć elementów kolekcji. Opcjonalnie:

CollectionItem

Element w kolekcji

Zapis JSON
{
  "key": string
}
Pola
key

string

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 (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

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

string

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 (ExecutionEvent)
    }
  ]
}
Pola
actionsBuilderEvents[]

object (ExecutionEvent)

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 (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 zdarzenia.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową 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 w trakcie 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ę. 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

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łki żądania webhooka.

webhookResponse

object (WebhookResponse)

Zdarzenie odbioru odpowiedzi webhooka.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Zdarzenie przejścia zainicjowanego przez webhooka.

slotMatch

object (SlotMatch)

Zdarzenie dotyczące dopasowania boksu.

slotRequested

object (SlotRequested)

Zdarzenie dotyczące żądania przedziału.

slotValidated

object (SlotValidated)

Zdarzenie weryfikacji przedziału.

formFilled

object (FormFilled)

Zdarzenie wypełnienia formularza.

waitingUserInput

object (WaitingForUserInput)

Oczekiwanie na zdarzenie wejściowe użytkownika.

endConversation

object (EndConversation)

Zdarzenie zakończenia 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 aktualnie aktywnej sceny.

sessionStorage

object (Struct format)

Stan pamięci sesji: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Stan wypełnienia przedziałów (w odpowiednich 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 boksó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))

Boksy 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ł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 (SlotMode),
  "status": enum (SlotStatus),
  "value": value,
  "updated": boolean,
  "prompt": {
    object (Prompt)
  }
}
Pola
mode

enum (SlotMode)

Tryb przedziału (wymagany lub opcjonalny). Może je ustawić deweloper.

status

enum (SlotStatus)

Stan przedziału.

value

value (Value format)

Wartość przedziału. Zmiana tej wartości w odpowiedzi spowoduje zmianę wartości wypełnienia przedziałów.

updated

boolean

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

prompt

object (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

integer

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

message

string

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 google.rpc.Status.details lub zlokalizowany przez klienta.

details[]

object

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 "@type" zawiera identyfikator URI identyfikujący typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

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

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

string

Typ danych wejściowych użytkownika. Na przykład: klawiatura, głos, dotyk itp.

originalQuery

string

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 (IntentParameterValue)
    },
    ...
  },
  "handler": string,
  "nextSceneId": string
}
Pola
intentId

string

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

intentParameters

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

Parametry intencji, które wywołały 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 dana 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, które zostały ocenione jako „false” (fałsz).

successCondition

object (Condition)

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

Warunek

Oceniony warunek.

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

string

Wyrażenie określone w tym warunku.

handler

string

Nazwa modułu obsługi określona w ocenionym warunku.

nextSceneId

string

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

string

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

string

Ł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

string

Ł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

string

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 (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 aktualnie żądanym 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 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.