Method: projects.sendInteraction

Riproduce un round della conversazione.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri del percorso

Parametri
project

string

Obbligatorio. Il progetto in fase di test, indicato dall'ID progetto. Formato: projects/{project}

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "input": {
    object (UserInput)
  },
  "deviceProperties": {
    object (DeviceProperties)
  },
  "conversationToken": string
}
Campi
input

object (UserInput)

Obbligatorio. Input fornito dall'utente.

deviceProperties

object (DeviceProperties)

Obbligatorio. Proprietà del dispositivo utilizzato per interagire con l'Azione.

conversationToken

string

Token opaco che deve essere passato come ricevuto da SendInteractionResponse nell'interazione precedente. Non è possibile impostare questa opzione per avviare una nuova conversazione, come prima interazione di una sessione di test o per abbandonare una conversazione precedente e iniziarne una nuova.

Corpo della risposta

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Risposta a un round della conversazione.

Rappresentazione JSON
{
  "output": {
    object (Output)
  },
  "diagnostics": {
    object (Diagnostics)
  },
  "conversationToken": string
}
Campi
output

object (Output)

Output fornito all'utente.

diagnostics

object (Diagnostics)

Informazioni di diagnostica che spiegano come è stata gestita la richiesta.

conversationToken

string

Token opaco da impostare su SendInteractionRequest nella chiamata RPC successiva per continuare la stessa conversazione.

UserInput

Input utente fornito in un round di conversazione.

Rappresentazione JSON
{
  "query": string,
  "type": enum (InputType)
}
Campi
query

string

Contenuti dell'input inviato dall'utente.

type

enum (InputType)

Tipo di input.

InputType

Indica l'origine di input, la query digitata o la query vocale.

Enum
INPUT_TYPE_UNSPECIFIED Origine di input non specificata.
TOUCH Query da un'interazione GUI.
VOICE Query vocale.
KEYBOARD Query digitata.
URL L'azione è stata attivata dal link di un URL.

Proprietà Dispositivo

Proprietà del dispositivo rilevanti per un ciclo di conversazione.

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

enum (Surface)

Piattaforma utilizzata per interagire con l'azione.

location

object (Location)

Posizione del dispositivo, ad esempio latitudine, longitudine e indirizzo formattato.

locale

string

Impostazioni internazionali impostate sul dispositivo. Il formato deve essere conforme a BCP 47: https://tools.ietf.org/html/bcp47. Esempi: en, en-US, es-419 (altri esempi all'indirizzo https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Fuso orario impostato sul dispositivo. Il formato deve seguire il database dei fusi orari IANA, ad esempio "America/New_York": https://www.iana.org/time-zones

Piattaforma

Possibili piattaforme utilizzate per interagire con l'azione. In futuro potrebbero essere inclusi valori aggiuntivi.

Enum
SURFACE_UNSPECIFIED Valore predefinito. Questo valore non è utilizzato.
SPEAKER Altoparlante (ad es. Google Home).
PHONE Telefono.
ALLO Chat di Allo.
SMART_DISPLAY Smart display.
KAI_OS KaiOS.

Località

Container che rappresenta una località.

Rappresentazione JSON
{
  "coordinates": {
    object (LatLng)
  },
  "formattedAddress": string,
  "zipCode": string,
  "city": string
}
Campi
coordinates

object (LatLng)

Coordinate geografiche. Richiede [DEVICE_PRECISE_LOCATION] Autorizzazione [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

formattedAddress

string

Indirizzo visualizzato, ad es. "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA". Richiede [DEVICE_PRECISE_LOCATION] Autorizzazione [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION].

zipCode

string

Codice postale. Richiede [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] Autorizzazione [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Città. Richiede [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] Autorizzazione [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Un oggetto che rappresenta una coppia latitudine/longitudine. Questo valore è espresso come coppia di doppi per rappresentare i gradi di latitudine e i gradi di longitudine. Se non diversamente specificato, questo oggetto deve essere conforme allo standard WGS84. I valori devono essere compresi negli intervalli normalizzati.

Rappresentazione JSON
{
  "latitude": number,
  "longitude": number
}
Campi
latitude

number

La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0].

longitude

number

Longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0].

Output

Output visibile all'utente durante la conversazione.

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

string

Risposta vocale inviata all'utente come stringa normale.

speech[]

string

Contenuti vocali prodotti dall'Azione. Potrebbero essere inclusi elementi di markup come SSML.

canvas

object (Canvas)

Contenuti interattivi su Canvas.

actionsBuilderPrompt

object (Prompt)

Stato del prompt al termine del round di conversazione. Scopri di più sulla richiesta: https://developers.google.com/assistant/conversational/prompts

Tela

Rappresenta una risposta di Canvas interattiva da inviare all'utente. Può essere utilizzato in combinazione con il campo "firstSimple" nel prompt contenente per parlare con l'utente oltre a visualizzare una risposta canvas interattiva. La dimensione massima della risposta è 50.000 byte.

Rappresentazione JSON
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "enableFullScreen": boolean
}
Campi
url

string

URL dell'app web canvas interattiva da caricare. Se non viene configurato, l'URL del canvas attualmente attivo verrà riutilizzato.

data[]

value (Value format)

(Facoltativo) Dati JSON da trasmettere alla pagina web dell'esperienza immersiva sotto forma di evento. Se l'opzione "override" il campo nel prompt contenente è "false" i valori dei dati definiti in questo prompt di Canvas verranno aggiunti dopo i valori dei dati definiti nei prompt di Canvas precedenti.

suppressMic

boolean

(Facoltativo) Valore predefinito: false.

enableFullScreen

boolean

Se true l'applicazione canvas occupa l'intero schermo e non avrà un'intestazione nella parte superiore. Sulla schermata di caricamento verrà visualizzato anche un messaggio toast che include il nome visualizzato dell'azione, il nome dello sviluppatore e le istruzioni per uscire dall'azione. Valore predefinito: false.

Prompt

Rappresenta una risposta a un utente.

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

boolean

(Facoltativo) Modalità per unire questi messaggi a messaggi definiti in precedenza. "false" cancellerà tutti i messaggi definiti in precedenza (primo e ultimo semplice, contenuti, link dei suggerimenti e canvas) e aggiungerà i messaggi definiti in questo prompt. "vero" aggiungerà i messaggi definiti in questo prompt a quelli definiti nelle risposte precedenti. Impostazione di questo campo su "true" l'aggiunta ad alcuni campi all'interno dei prompt semplici, del prompt di suggerimento e del prompt di Canvas (parte del prompt dei contenuti) verrà attivata anche. I messaggi Contenuti e Link vengono sempre sovrascritti, se definiti nel prompt. Il valore predefinito è "false".

override

boolean

(Facoltativo) Modalità per unire questi messaggi a messaggi definiti in precedenza. "vero" cancella tutti i messaggi definiti in precedenza (primo e ultimo semplice, contenuti, link dei suggerimenti e canvas) e aggiunge i messaggi definiti in questo prompt. "false" aggiunge i messaggi definiti in questo prompt a quelli definiti nelle risposte precedenti. Lasciare questo campo a "false" consente inoltre l'aggiunta ad alcuni campi all'interno dei prompt semplici, del prompt dei suggerimenti e del prompt di Canvas (parte del prompt dei contenuti). Se definito nel prompt, i messaggi Contenuti e Link vengono sempre sovrascritti. Il valore predefinito è "false".

firstSimple

object (Simple)

(Facoltativo) La prima risposta vocale e di solo testo.

content

object (Content)

(Facoltativo) Contenuti come una scheda, un elenco o contenuti multimediali da mostrare all'utente.

lastSimple

object (Simple)

(Facoltativo) L'ultima risposta vocale e di solo testo.

suggestions[]

object (Suggestion)

(Facoltativo) Suggerimenti da mostrare all'utente, che saranno sempre visualizzati alla fine della risposta. Se l'opzione "override" nel prompt contenente è "false", i titoli definiti in questo campo verranno aggiunti ai titoli definiti in qualsiasi prompt di suggerimenti definito in precedenza e i valori duplicati verranno rimossi.

canvas

object (Canvas)

(Facoltativo) Rappresenta una risposta di Canvas interattiva da inviare all'utente.

Semplice

Rappresenta un semplice prompt da inviare a un utente.

Rappresentazione JSON
{
  "speech": string,
  "text": string
}
Campi
speech

string

(Facoltativo) Rappresenta il discorso da pronunciare all'utente. Può essere SSML o sintesi vocale. Se l'opzione "override" nel prompt contenitore è "true", il parlato definito in questo campo sostituisce quello del prompt semplice precedente.

text

string

Testo facoltativo da visualizzare nel fumetto della chat. Se non viene specificato, verrà utilizzato il rendering del campo vocale riportato sopra. Limitato a 640 caratteri. Se l'opzione "override" nel prompt contenente è "true", il testo definito in questo campo sostituisce il testo del prompt semplice precedente.

Contenuti

Contenuti da mostrare.

Rappresentazione 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.
}
Campi
Campo unione content. Contenuti. content può essere solo uno dei seguenti:
card

object (Card)

Una carta di base.

image

object (Image)

Un'immagine.

table

object (Table)

Scheda tabella.

media

object (Media)

Risposta che indica un insieme di contenuti multimediali da riprodurre.

canvas
(deprecated)

object (Canvas)

Una risposta da utilizzare per l'esperienza interattiva sulla tela.

collection

object (Collection)

Una scheda con una raccolta di opzioni tra cui scegliere.

list

object (List)

Una scheda che presenta un elenco di opzioni tra cui scegliere.

Scheda

Una scheda di base per visualizzare alcune informazioni, ad esempio un'immagine e/o del testo.

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

string

Titolo generale della scheda. (Facoltativo)

subtitle

string

(Facoltativo)

text

string

Corpo del testo della scheda. Supporta un insieme limitato di sintassi di Markdown per la formattazione. Obbligatorio, a meno che non sia presente un'immagine.

image

object (Image)

Un'immagine hero per la carta. L'altezza è fissa a 192 dp. (Facoltativo)

imageFill

enum (ImageFill)

Il modo in cui lo sfondo dell'immagine verrà riempito. (Facoltativo)

button

object (Link)

Pulsante. (Facoltativo)

Immagine

Un'immagine visualizzata nella scheda.

Rappresentazione JSON
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
Campi
url

string

L'URL di origine dell'immagine. Le immagini possono essere in formato JPG, PNG e GIF (animate e non animate). Ad esempio,https://www.agentx.com/logo.png. Obbligatorio.

alt

string

Una descrizione testuale dell'immagine da utilizzare per l'accessibilità, ad es. screen reader. Obbligatorio.

height

integer

L'altezza dell'immagine in pixel. (Facoltativo)

width

integer

La larghezza dell'immagine in pixel. (Facoltativo)

ImageFill

Possibili opzioni di visualizzazione dell'immagine che influiscono sulla presentazione dell'immagine stessa. Questa opzione deve essere utilizzata quando le proporzioni dell'immagine non corrispondono a quelle del contenitore di immagini.

Enum
UNSPECIFIED Riempimento immagine non specificato.
GRAY Riempi gli spazi vuoti tra l'immagine e il contenitore di immagini con barre grigie.
WHITE Riempi gli spazi vuoti tra l'immagine e il contenitore di immagini con barre bianche.
CROPPED L'immagine viene ridimensionata in modo che la larghezza e l'altezza dell'immagine corrispondano o superino le dimensioni del contenitore. In questo modo, la parte superiore e inferiore dell'immagine potrebbero essere ritagliate se l'altezza dell'immagine scalata è superiore all'altezza del contenitore oppure potrebbe essere ritagliata a sinistra e a destra dell'immagine se la larghezza dell'immagine scalata è superiore a quella del contenitore. È simile alla "Modalità zoom" su una TV widescreen durante la riproduzione di un video in 4:3.

OpenUrl

Azione intrapresa quando un utente apre un link.

Rappresentazione JSON
{
  "url": string,
  "hint": enum (UrlHint)
}
Campi
url

string

Il campo url che può essere uno dei seguenti: - URL http/https per l'apertura di un'app collegata all'app o di una pagina web

hint

enum (UrlHint)

Indica un suggerimento per il tipo di URL.

UrlHint

Diversi tipi di suggerimenti URL.

Enum
AMP URL che indirizza direttamente ai contenuti AMP o a un URL canonico che fa riferimento ai contenuti AMP tramite .

Tabella

Una scheda per visualizzare una tabella di testo.

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

string

Titolo generale della tabella. Facoltativi, ma devono essere impostati se sono stati impostati i sottotitoli.

subtitle

string

Sottotitolo per la tabella. (Facoltativo)

image

object (Image)

Immagine associata alla tabella. (Facoltativo)

columns[]

object (TableColumn)

Intestazioni e allineamento delle colonne.

rows[]

object (TableRow)

Dati delle righe della tabella. È garantita la visualizzazione delle prime tre righe, ma altre potrebbero essere tagliate su determinate superfici. Esegui un test con il simulatore per vedere quali righe verranno visualizzate per una determinata superficie. Sulle piattaforme che supportano la funzionalità WEB_BROWSER, puoi indirizzare l'utente a una pagina web con più dati.

button

object (Link)

Pulsante.

TableColumn

Descrive una colonna in una tabella.

Rappresentazione JSON
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
Campi
header

string

Testo dell'intestazione per la colonna.

align

enum (HorizontalAlignment)

Allineamento orizzontale dei contenuti rispetto alla colonna. Se non specificato, i contenuti verranno allineati al bordo iniziale.

HorizontalAlignment

L'allineamento dei contenuti all'interno della cella.

Enum
UNSPECIFIED Allineamento orizzontale non specificato.
LEADING Bordo d'ingresso della cella. Questa è l'impostazione predefinita.
CENTER I contenuti sono allineati al centro della colonna.
TRAILING Il contenuto è allineato al bordo finale della colonna.

TableRow

Descrive una riga della tabella.

Rappresentazione JSON
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
Campi
cells[]

object (TableCell)

Celle in questa riga. È garantita la visualizzazione delle prime 3 celle, ma le altre potrebbero essere tagliate su determinate superfici. Esegui un test con il simulatore per vedere quali celle verranno visualizzate per una determinata superficie.

divider

boolean

Indica se deve esserci un divisore dopo ogni riga.

TableCell

Descrive una cella in una riga.

Rappresentazione JSON
{
  "text": string
}
Campi
text

string

Contenuto testuale della cella.

Media

Rappresenta un oggetto multimediale. Contiene informazioni sul contenuto multimediale, come nome, descrizione, URL e così via.

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

enum (MediaType)

Tipo di media.

startOffset

string (Duration format)

Offset iniziale del primo oggetto multimediale.

Durata in secondi con un massimo di nove cifre frazionarie, terminata da "s". Esempio: "3.5s".

optionalMediaControls[]

enum (OptionalMediaControls)

Tipi facoltativi di controlli multimediali supportati da questa sessione di risposte multimediali. Se impostato, la richiesta verrà effettuata a terze parti quando si verifica un determinato evento multimediale. Se non viene configurato, 3p deve comunque gestire due tipi di controllo predefiniti, FINISHED e FAILED.

mediaObjects[]

object (MediaObject)

Elenco di oggetti multimediali

MediaType

Tipo multimediale di questa risposta.

Enum
MEDIA_TYPE_UNSPECIFIED Tipo di media non specificato.
AUDIO File audio.
MEDIA_STATUS_ACK Risposta per confermare un report sullo stato dei media.

OptionalMediaControls

Tipi di controlli multimediali facoltativi che la risposta multimediale può supportare

Enum
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED Valore non specificato
PAUSED Evento in pausa. Si attiva quando l'utente mette in pausa i contenuti multimediali.
STOPPED Evento interrotto. Si attiva quando l'utente esce dalla sessione di terze parti durante la riproduzione di contenuti multimediali.

MediaObject

Rappresenta un singolo oggetto multimediale

Rappresentazione JSON
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
Campi
name

string

Nome dell'oggetto multimediale.

description

string

Descrizione di questo oggetto multimediale.

url

string

L'URL che rimanda ai contenuti multimediali.

image

object (MediaImage)

Immagine da mostrare con la scheda dei contenuti multimediali.

MediaImage

Immagine da mostrare con la scheda dei contenuti multimediali.

Rappresentazione 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.
}
Campi
Campo unione image. Immagine. image può essere solo uno dei seguenti:
large

object (Image)

Un'immagine di grandi dimensioni, come la copertina dell'album e così via.

icon

object (Image)

Una piccola icona immagine visualizzata a destra rispetto al titolo. Viene ridimensionato a 36 x 36 dp.

Collezione

Una scheda per presentare una raccolta di opzioni tra cui scegliere.

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

string

Titolo della raccolta. (Facoltativo)

subtitle

string

Sottotitolo della raccolta. (Facoltativo)

items[]

object (CollectionItem)

min: 2 max: 10

imageFill

enum (ImageFill)

Il modo in cui verranno riempiti gli sfondi delle immagini degli elementi della raccolta. (Facoltativo)

CollectionItem

Un elemento nella raccolta

Rappresentazione JSON
{
  "key": string
}
Campi
key

string

Obbligatorio. La chiave NLU corrispondente al nome della chiave di accesso nel tipo associato.

Elenco

Una scheda per presentare un elenco di opzioni tra cui scegliere.

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

string

Titolo dell'elenco. (Facoltativo)

subtitle

string

Sottotitolo dell'elenco. (Facoltativo)

items[]

object (ListItem)

min: 2 max: 30

ListItem

Un elemento dell'elenco

Rappresentazione JSON
{
  "key": string
}
Campi
key

string

Obbligatorio. La chiave NLU corrispondente al nome della chiave di accesso nel tipo associato.

Suggerimento

Suggerimento di input da presentare all'utente.

Rappresentazione JSON
{
  "title": string
}
Campi
title

string

Obbligatorio. Il testo mostrato nel chip di suggerimento. Se toccato, il testo viene pubblicato nella conversazione parola per parola, come se l'utente lo avesse digitato. Ogni titolo deve essere univoco tra l'insieme di chip di suggerimento. Massimo 25 caratteri

Diagnostica

Informazioni diagnostiche relative al round di conversazione.

Rappresentazione JSON
{
  "actionsBuilderEvents": [
    {
      object (ExecutionEvent)
    }
  ]
}
Campi
actionsBuilderEvents[]

object (ExecutionEvent)

Elenco di eventi con dettagli sull'elaborazione del ciclo di conversazione nelle fasi del modello di interazione di Actions Builder. Compilato per Actions Builder e Solo app SDK Actions.

ExecutionEvent

Contiene informazioni sull'evento di esecuzione che si è verificato durante l'elaborazione della richiesta di conversazione di Actions Builder. Per una panoramica delle fasi coinvolte in una richiesta di conversazione, consulta la pagina https://developers.google.com/assistant/conversational/actions.

Rappresentazione 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.
}
Campi
eventTime

string (Timestamp format)

Timestamp dell'evento.

Un timestamp nel formato RFC3339 UTC "Zulu" con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

executionState

object (ExecutionState)

Stato dell'esecuzione durante questo evento.

status

object (Status)

Stato risultante di un determinato passaggio di esecuzione.

warningMessages[]

string

Elenco di avvisi generati durante l'esecuzione di questo evento. Gli avvisi sono suggerimenti per lo sviluppatore che vengono scoperti durante la richiesta di conversazione. Di solito non sono critiche e non interrompono l'esecuzione della richiesta. Ad esempio, potrebbe essere generato un avviso quando il webhook tenta di eseguire l'override di un tipo personalizzato che non esiste. Gli errori vengono segnalati come codice di stato di errore, ma possono essere presenti avvisi anche quando lo stato è OK.

Campo unione EventData. Informazioni dettagliate specifiche per diversi eventi che possono essere coinvolti nell'elaborazione di un round di conversazione. Il campo impostato qui definisce il tipo di questo evento. EventData può essere solo uno dei seguenti:
userInput

object (UserConversationInput)

Evento di gestione dell'input utente.

intentMatch

object (IntentMatch)

Evento di corrispondenza di intent.

conditionsEvaluated

object (ConditionsEvaluated)

Evento di valutazione delle condizioni.

onSceneEnter

object (OnSceneEnter)

Evento di esecuzione OnSceneEnter.

webhookRequest

object (WebhookRequest)

Evento di invio richiesta webhook.

webhookResponse

object (WebhookResponse)

Evento di ricevuta della risposta del webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Evento di transizione avviato dal webhook.

slotMatch

object (SlotMatch)

Evento di corrispondenza dell'area.

slotRequested

object (SlotRequested)

Evento di richiesta di slot.

slotValidated

object (SlotValidated)

Evento di convalida degli slot.

formFilled

object (FormFilled)

Evento di compilazione di moduli.

waitingUserInput

object (WaitingForUserInput)

Evento in attesa di input dell'utente.

endConversation

object (EndConversation)

Evento di fine conversazione.

ExecutionState

Stato attuale dell'esecuzione.

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

string

ID della scena attualmente attiva.

sessionStorage

object (Struct format)

Stato dello spazio di archiviazione della sessione: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

Stato della compilazione degli slot, se applicabile: https://developers.google.com/assistant/conversational/scenes#slot_filling

promptQueue[]

object (Prompt)

Coda di prompt: https://developers.google.com/assistant/conversational/prompts

userStorage

object (Struct format)

Stato dello spazio di archiviazione dell'utente: https://developers.google.com/assistant/conversational/storage-user

householdStorage

object (Struct format)

Stato dello spazio di archiviazione domestico: https://developers.google.com/assistant/conversational/storage-home.

Slot

Rappresenta lo stato attuale degli slot della scena.

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

enum (SlotFillingStatus)

Lo stato attuale di riempimento degli slot.

slots

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

Gli slot associati alla scena corrente.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotFillingStatus

Rappresenta lo stato attuale di riempimento degli slot.

Enum
UNSPECIFIED Valore di riserva quando il campo dell'utilizzo non è compilato.
INITIALIZED Gli slot sono stati inizializzati, ma il riempimento degli slot non è iniziato.
COLLECTING I valori degli slot sono in fase di raccolta.
FINAL Tutti i valori degli slot sono definitivi e non possono essere modificati.

Slot

Rappresenta uno slot.

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

enum (SlotMode)

La modalità dello spazio (obbligatoria o facoltativa). Può essere impostato dallo sviluppatore.

status

enum (SlotStatus)

Lo stato dell'area.

value

value (Value format)

Il valore dell'area. La modifica di questo valore nella risposta modificherà il valore nel riempimento degli slot.

updated

boolean

Indica se il valore dello slot è stato raccolto nell'ultimo turno. Questo campo è di sola lettura.

prompt

object (Prompt)

(Facoltativo) Questo prompt viene inviato all'utente quando è necessario riempire uno spazio richiesto. Questo prompt sostituisce il prompt esistente definito nella console. Questo campo non è incluso nella richiesta webhook.

SlotMode

Rappresenta la modalità di uno slot, ovvero se è obbligatoria o meno.

Enum
MODE_UNSPECIFIED Valore di riserva quando il campo dell'utilizzo non è compilato.
OPTIONAL Indica che lo slot non è necessario per completare la compilazione degli slot.
REQUIRED Indica che lo slot è necessario per completare la compilazione.

SlotStatus

Rappresenta lo stato di un'area.

Enum
SLOT_UNSPECIFIED Valore di riserva quando il campo dell'utilizzo non è compilato.
EMPTY Indica che l'area non ha valori. Questo stato non può essere modificato tramite la risposta.
INVALID Indica che il valore dello slot non è valido. Questo stato può essere impostato tramite la risposta.
FILLED Indica che l'area ha un valore. Questo stato non può essere modificato tramite la risposta.

Stato

Il tipo Status definisce un modello di errore logico adatto a diversi ambienti di programmazione, tra cui API REST e API RPC. È utilizzato da gRPC. Ogni messaggio Status contiene tre dati: codice, messaggio di errore e dettagli dell'errore.

Per saperne di più su questo modello di errore e su come utilizzarlo, consulta la Guida alla progettazione dell'API.

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

integer

Il codice di stato, che deve essere un valore enum pari a google.rpc.Code.

message

string

Un messaggio di errore rivolto agli sviluppatori, che deve essere in inglese. Qualsiasi messaggio di errore rivolto agli utenti deve essere localizzato e inviato nel campo google.rpc.Status.details oppure deve essere localizzato dal client.

details[]

object

Un elenco di messaggi con i dettagli dell'errore. Le API possono utilizzare un insieme comune di tipi di messaggi.

Un oggetto che contiene campi di tipo arbitrario. Un campo aggiuntivo "@type" contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

UserConversationInput

Informazioni relative all'input dell'utente.

Rappresentazione JSON
{
  "type": string,
  "originalQuery": string
}
Campi
type

string

Tipo di input utente. Ad es. tastiera, voce, tocco, ecc.

originalQuery

string

Input di testo originale dell'utente.

IntentMatch

Informazioni sulla corrispondenza di intent attivata (a livello globale o all'interno di una scena): https://developers.google.com/assistant/conversational/intents

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

string

ID intent che ha attivato questa interazione.

intentParameters

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

I parametri dell'intent che hanno attivato questa interazione.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

handler

string

Nome del gestore associato a questa interazione.

nextSceneId

string

Scena a cui porta questa interazione.

ConditionsEvaluated

Risultati della valutazione delle condizioni: https://developers.google.com/assistant/conversational/scenes#conditions

Rappresentazione JSON
{
  "failedConditions": [
    {
      object (Condition)
    }
  ],
  "successCondition": {
    object (Condition)
  }
}
Campi
failedConditions[]

object (Condition)

Elenco di condizioni valutate come "false".

successCondition

object (Condition)

La prima condizione valutata come "true", se presente.

Condizione

Condizione valutata.

Rappresentazione JSON
{
  "expression": string,
  "handler": string,
  "nextSceneId": string
}
Campi
expression

string

Espressione specificata in questa condizione.

handler

string

Nome del gestore specificato nella condizione valutata.

nextSceneId

string

Scena di destinazione specificata nella condizione valutata.

OnSceneEnter

Informazioni sull'esecuzione della fase onSceneEnter: https://developers.google.com/assistant/conversational/scenes#onEnter

Rappresentazione JSON
{
  "handler": string
}
Campi
handler

string

Nome del gestore specificato nell'evento onSceneEnter.

WebhookRequest

Informazioni su una richiesta inviata al webhook di azione: https://developers.google.com/assistant/conversational/webhooks#payloads

Rappresentazione JSON
{
  "requestJson": string
}
Campi
requestJson

string

Payload della richiesta webhook.

WebhookResponse

Informazioni su una risposta ricevuta dal webhook di azione: https://developers.google.com/assistant/conversational/webhooks#payloads

Rappresentazione JSON
{
  "responseJson": string
}
Campi
responseJson

string

Payload della risposta webhook.

WebhookInitiatedTransition

Evento attivato dalla scena di destinazione restituita dal webhook: https://developers.google.com/assistant/conversational/webhooks#transition_scenes

Rappresentazione JSON
{
  "nextSceneId": string
}
Campi
nextSceneId

string

ID della scena a cui rimanda la transizione.

SlotMatch

Informazioni sugli slot corrispondenti: https://developers.google.com/assistant/conversational/scenes#slot_filling

Rappresentazione JSON
{
  "nluParameters": {
    string: {
      object (IntentParameterValue)
    },
    ...
  }
}
Campi
nluParameters

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

Parametri estratti da NLU dall'input dell'utente.

Un oggetto contenente un elenco di "key": value coppie. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

SlotRequested

Informazioni sullo slot attualmente richiesto: https://developers.google.com/assistant/conversational/scenes#slot_filling

Rappresentazione JSON
{
  "slot": string,
  "prompt": {
    object (Prompt)
  }
}
Campi
slot

string

Nome dello spazio richiesto.

prompt

object (Prompt)

Prompt di slot.

SlotValidated

Evento che si verifica dopo che la convalida del webhook è stata completata per gli slot: https://developers.google.com/assistant/conversational/scenes#slot_filling

FormFilled

Evento che si verifica quando il modulo è completamente compilato: https://developers.google.com/assistant/conversational/scenes#slot_filling

WaitingForUserInput

Evento che si verifica quando il sistema richiede un input dell'utente: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

Evento che informa che la conversazione con l'agente è stata terminata.