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 trasmesso come ricevuto da SendInteractionResponse durante l'interazione precedente. Può essere lasciata non impostata 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 alla successiva chiamata RPC per continuare la stessa conversazione.

UserInput

Input utente fornito durante un round di conversazione.

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

string

Contenuto 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 con GUI.
VOICE Query vocale.
KEYBOARD Query digitata.
URL L'azione è stata attivata da un link URL.

DeviceProperties

Proprietà del dispositivo pertinenti a un round 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 rispettare la norma BCP 47: https://tools.ietf.org/html/bcp47. Esempi: en, en-US, es-419 (puoi trovare altri esempi all'indirizzo https://tools.ietf.org/html/bcp47#appendix-A).

timeZone

string

Fuso orario impostato sul dispositivo. Il formato deve rispettare 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 altri valori.

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

Località

Contenitore che rappresenta una località.

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

object (LatLng)

Coordinate geografiche. Richiede l'autorizzazione [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] [DEVICE_PRECISE_LOCATION].

formattedAddress

string

Indirizzo visualizzato, ad esempio "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA". Richiede l'autorizzazione [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] [DEVICE_PRECISE_LOCATION].

zipCode

string

Codice postale. Richiede l'autorizzazione [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

city

string

Città. Richiede l'autorizzazione [DEVICE_PRECISE_LOCATION] [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] o [DEVICE_COARSE_LOCATION] [google.actions.v2.Permission.DEVICE_COARSE_LOCATION].

LatLng

Un oggetto che rappresenta una coppia di latitudine/longitudine. Questo valore viene espresso come una 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 in intervalli normalizzati.

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

number

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 agli utenti per il round di conversazione.

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

string

Risposta vocale inviata all'utente come stringa semplice.

speech[]

string

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

canvas

object (Canvas)

Contenuti interattivi di Canvas.

actionsBuilderPrompt

object (Prompt)

Stato del prompt alla fine del round di conversazione. Scopri di più sul prompt: https://developers.google.com/assistant/conversational/prompts

Tela

Rappresenta una risposta Interactive Canvas da inviare all'utente. Questa opzione può essere utilizzata in combinazione con il campo "firstSimple" nel prompt contenitore 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, verrà riutilizzato l'URL della tela attiva corrente.

data[]

value (Value format)

Campo facoltativo. Dati JSON da trasmettere alla pagina web dell'esperienza immersiva sotto forma di evento. Se il campo "Sostituisci" nel prompt contenente è "false", i valori dei dati definiti nel prompt di Canvas verranno aggiunti dopo i valori dei dati definiti nei prompt di Canvas precedenti.

suppressMic

boolean

Campo facoltativo. Valore predefinito: false.

enableFullScreen

boolean

Se true l'applicazione canvas occupa lo schermo intero e non avrà un'intestazione nella parte superiore. Nella schermata di caricamento verrà inoltre visualizzato un avviso popup 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

Campo facoltativo. Modalità per l'unione di questi messaggi a quelli definiti in precedenza. "false" cancellerà tutti i messaggi definiti in precedenza (primo e ultimo semplice, contenuti, link ai suggerimenti e canvas) e aggiungerà i messaggi definiti in questo prompt. "true" aggiungerà i messaggi definiti in questa richiesta ai messaggi definiti nelle risposte precedenti. Se questo campo viene impostato su "true", viene attivata anche l'aggiunta ad alcuni campi all'interno dei prompt semplici, del prompt dei suggerimenti e di Canvas (parte del prompt dei contenuti). I messaggi relativi ai contenuti e ai link verranno sempre sovrascritti, se definiti nel prompt. Il valore predefinito è "false".

override

boolean

Campo facoltativo. Modalità per l'unione di questi messaggi a quelli definiti in precedenza. "true" cancella tutti i messaggi definiti in precedenza (primo e ultimo semplice, contenuti, link ai suggerimenti e canvas) e aggiunge i messaggi definiti in questo prompt. "false" aggiunge i messaggi definiti in questa richiesta ai messaggi definiti nelle risposte precedenti. Se lasci questo campo su "false", puoi anche aggiungere alcuni campi all'interno dei prompt semplici, dei suggerimenti e di Canvas (parte del prompt dei contenuti). I messaggi relativi ai contenuti e ai link vengono sempre sovrascritti, se definiti nel prompt. Il valore predefinito è "false".

firstSimple

object (Simple)

Campo facoltativo. La prima risposta vocale e di solo testo.

content

object (Content)

Campo facoltativo. Contenuti come una scheda, un elenco o un contenuto multimediale da mostrare all'utente.

lastSimple

object (Simple)

Campo facoltativo. L'ultima risposta vocale e di solo testo.

suggestions[]

object (Suggestion)

Campo facoltativo. Suggerimenti da mostrare all'utente, che saranno sempre visualizzati alla fine della risposta. Se il campo "Sostituisci" nel prompt contenente è "false", i titoli definiti in questo campo verranno aggiunti ai titoli definiti nei prompt di suggerimenti definiti in precedenza e i valori duplicati verranno rimossi.

canvas

object (Canvas)

Campo facoltativo. Rappresenta una risposta Interactive Canvas da inviare all'utente.

Semplice

Rappresenta un semplice prompt da inviare a un utente.

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

string

Campo facoltativo. Rappresenta il parlato che verrà detto all'utente. Può essere SSML o sintesi vocale. Se il campo "override" nel prompt contenente è "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 visualizzato del campo vocale qui sopra. Limite: 640 caratteri. Se il campo "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 di unione content. Contenuti. content può essere solo uno dei seguenti:
card

object (Card)

Una scheda 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 della stampa su tela.

collection

object (Collection)

Una scheda che presenta una raccolta di opzioni tra cui scegliere.

list

object (List)

Una scheda con 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. Campo facoltativo.

subtitle

string

Campo 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 promozionale per la scheda. L'altezza è fissa a 192 dp. Campo facoltativo.

imageFill

enum (ImageFill)

Il modo in cui verrà riempito lo sfondo dell'immagine. Campo facoltativo.

button

object (Link)

Pulsante. Campo 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 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 esempio screen reader. Obbligatorio.

height

integer

L'altezza dell'immagine in pixel. Campo facoltativo.

width

integer

La larghezza dell'immagine in pixel. Campo facoltativo.

ImageFill

Possibili opzioni di visualizzazione dell'immagine che influiscono sulla presentazione dell'immagine. Da utilizzare quando le proporzioni dell'immagine non corrispondono a quelle del contenitore dell'immagine.

Enum
UNSPECIFIED Riempimento dell'immagine non specificato.
GRAY Colma gli spazi vuoti tra l'immagine e il contenitore dell'immagine con barre grigie.
WHITE Colma gli spazi vuoti tra l'immagine e il contenitore dell'immagine 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. Questa opzione potrebbe ritagliare la parte superiore e inferiore dell'immagine se l'altezza scalata è maggiore dell'altezza del contenitore oppure ritagliare la parte sinistra e destra dell'immagine se la larghezza dell'immagine scalata è maggiore di quella del contenitore. Questa impostazione è simile alla "modalità zoom" su una TV widescreen quando viene riprodotto un video in formato 4:3.

OpenUrl

Azione intrapresa quando un utente apre un link.

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

string

Il campo dell'URL, che può essere uno dei seguenti: - URL http/https per aprire un'app o una pagina web collegate all'app

hint

enum (UrlHint)

Indica un suggerimento per il tipo di URL.

UrlHint

Diversi tipi di suggerimenti URL.

Enum
AMP URL che rimanda 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. Facoltativo, ma deve essere impostato se è impostato un sottotitolo.

subtitle

string

Sottotitolo della tabella. Campo facoltativo.

image

object (Image)

Immagine associata alla tabella. Campo facoltativo.

columns[]

object (TableColumn)

Intestazioni e allineamento delle colonne.

rows[]

object (TableRow)

Dati delle righe della tabella. È garantito che vengano mostrate le prime 3 righe, ma altre potrebbero essere tagliate su alcune superfici. Fai una prova con il simulatore per vedere quali righe verranno mostrate 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 della colonna dei contenuti in alto. Se non specificati, i contenuti verranno allineati al bordo iniziale.

HorizontalAlignment

L'allineamento dei contenuti all'interno della cella.

Enum
UNSPECIFIED Allineamento orizzontale non specificato.
LEADING Bordo iniziale della cella. Questa è l'impostazione predefinita.
CENTER I contenuti sono allineati al centro della colonna.
TRAILING I contenuti sono allineati 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. È garantito che le prime 3 celle vengano visualizzate, ma altre potrebbero essere tagliate su determinate superfici. Fai una prova con il simulatore per vedere quali celle verranno mostrate per una determinata superficie.

divider

boolean

Indica se dopo ogni riga deve essere presente un divisore.

TableCell

Descrive una cella in una riga.

Rappresentazione JSON
{
  "text": string
}
Campi
text

string

Contenuti testuali della cella.

Contenuti multimediali

Rappresenta un oggetto multimediale. Contiene informazioni sui contenuti multimediali, 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 multimediale.

startOffset

string (Duration format)

Offset iniziale del primo oggetto multimediale.

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

optionalMediaControls[]

enum (OptionalMediaControls)

Tipi di controlli multimediali facoltativi supportati da questa sessione di risposte multimediali. Se impostato, la richiesta verrà effettuata a 3p 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 contenuti multimediali.

OptionalMediaControls

Tipi di controlli multimediali facoltativi supportati dalla risposta multimediale

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

MediaObject

Rappresenta un singolo oggetto multimediale

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

string

Il 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 Contenuti multimediali.

MediaImage

Immagine da mostrare con la scheda 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 di unione image. Immagine. image può essere solo uno dei seguenti:
large

object (Image)

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

icon

object (Image)

Una piccola icona con un'immagine visualizzata sulla destra del titolo. Viene ridimensionato a 36 x 36 dp.

Raccolta

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

subtitle

string

Sottotitolo della raccolta. Campo 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. Campo facoltativo.

CollectionItem

Un elemento della raccolta

Rappresentazione JSON
{
  "key": string
}
Campi
key

string

Obbligatorio. La chiave NLU che corrisponde 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. Campo facoltativo.

subtitle

string

Sottotitolo dell'elenco. Campo facoltativo.

items[]

object (ListItem)

min: 2 max: 30

ListItem

Un elemento dell'elenco

Rappresentazione JSON
{
  "key": string
}
Campi
key

string

Obbligatorio. La chiave NLU che corrisponde 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. Una volta toccato, il testo viene pubblicato nuovamente nella conversazione, come se l'utente lo avesse digitato. Ogni titolo deve essere univoco nell'insieme di chip di suggerimenti. Massimo 25 caratteri

Diagnostica

Informazioni di diagnostica relative al ciclo di conversazione.

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

object (ExecutionEvent)

Elenco di eventi con dettagli sull'elaborazione della conversazione durante le fasi del modello di interazione di Actions Builder. Compilato solo per le app Actions Builder e Actions SDK.

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, vedi 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 del momento in cui si è verificato l'evento.

Un timestamp in formato "Zulu" UTC RFC3339, 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)

Lo stato dell'esecuzione durante questo evento.

status

object (Status)

Stato risultante di un particolare passaggio di esecuzione.

warningMessages[]

string

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

Campo di unione EventData. Informazioni dettagliate specifiche per i diversi eventi che possono essere coinvolti nell'elaborazione di una fase 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 dell'intent.

conditionsEvaluated

object (ConditionsEvaluated)

Evento di valutazione della condizione.

onSceneEnter

object (OnSceneEnter)

Evento di esecuzione OnSceneEnter.

webhookRequest

object (WebhookRequest)

Evento di invio richiesta webhook.

webhookResponse

object (WebhookResponse)

Evento di ricevuta di risposta del webhook.

webhookInitiatedTransition

object (WebhookInitiatedTransition)

Evento di transizione avviato tramite webhook.

slotMatch

object (SlotMatch)

Evento corrispondente all'area annuncio.

slotRequested

object (SlotRequested)

Evento che richiede lo slot.

slotValidated

object (SlotValidated)

Evento di convalida degli slot.

formFilled

object (FormFilled)

Evento di compilazione di moduli.

waitingUserInput

object (WaitingForUserInput)

Evento in attesa dell'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 di sessione: https://developers.google.com/assistant/conversational/storage-session

slots

object (Slots)

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

promptQueue[]

object (Prompt)

Coda dei 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 della casa: https://developers.google.com/assistant/conversational/storage-home

Slot

Rappresenta lo stato corrente degli slot di una scena.

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

enum (SlotFillingStatus)

Lo stato attuale dell'inserimento 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 della compilazione degli slot.

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

Area

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 slot (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 comporterà la modifica del valore del riempimento degli slot.

updated

boolean

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

prompt

object (Prompt)

Campo facoltativo. Questo messaggio viene inviato all'utente quando serve per riempire uno slot 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 di utilizzo non viene compilato.
OPTIONAL Indica che lo slot non è necessario per completare il riempimento degli slot.
REQUIRED Indica che l'area annuncio è necessaria per completare il riempimento.

SlotStatus

Rappresenta lo stato di un'area.

Enum
SLOT_UNSPECIFIED Valore di riserva quando il campo di utilizzo non viene 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 lo slot 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 tipi di dati: codice, messaggio di errore e dettagli dell'errore.

Per ulteriori informazioni su questo modello di errore e su come utilizzarlo, consulta la Guida alla progettazione delle API.

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

integer

Il codice di stato, che deve essere un valore enum di 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 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 utente.

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

string

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

originalQuery

string

Testo originale inserito dall'utente.

IntentMatch

Informazioni sulla corrispondenza di intent attivata (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))

Parametri di intenzione 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 delle condizioni che sono state 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 di onSceneEnter stage: 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 porta 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 dall'NLU dall'input utente.

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

SlotRequested

Informazioni sull'area attualmente richiesta: https://developers.google.com/assistant/conversational/scenes#slot_filling

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

string

Nome dello slot richiesto.

prompt

object (Prompt)

Prompt slot.

SlotValidated

Evento che si verifica dopo il completamento della convalida del webhook 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 l'input dell'utente: https://developers.google.com/assistant/conversational/scenes#input

EndConversation

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