Scene

La scena è l'unità di base del flusso di controllo durante la progettazione di una conversazione. Possono essere concatenati ad altre scene, generare prompt per l'utente finale e definire gli slot. Il nome della scena è specificato nel nome del file.

Rappresentazione YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Campi
onEnter

object (EventHandler)

Gestore da richiamare durante la transizione a questa scena.

intentEvents[]

object (IntentEvent)

L'elenco di eventi che si attivano in base agli intent. Questi eventi possono essere attivati in qualsiasi momento dopo la chiamata del gestore on_load. Importante: questi eventi definiscono l'insieme di intent che hanno come ambito questa scena e hanno la precedenza su qualsiasi evento definito a livello globale che abbia gli stessi intent o le relative frasi di attivazione. I nomi degli intent devono essere univoci all'interno di una scena.

conditionalEvents[]

object (ConditionalEvent)

L'elenco di eventi da attivare in base a istruzioni condizionali. Questi vengono valutati dopo che il modulo è stato compilato o subito dopo on_load se questa scena non ha un modulo (la valutazione viene eseguita una sola volta). Verrà attivato solo il primo evento corrispondente.

slots[]

object (Slot)

Elenco ordinato di slot. Ogni slot definisce il tipo di dati che risolverà e la configurazione per personalizzare l'esperienza di questa risoluzione (ad es. prompt).

onSlotUpdated

object (EventHandler)

Il gestore viene chiamato quando si verifica un cambiamento di stato di un'area annuncio non causato da aggiornamenti interni a un altro gestore. Ciò consente di invalidare gli slot, di invalidare la scena o di apportare altre modifiche allo stato della scena.

Area

Configurazione di uno slot. Gli slot sono singole unità di dati che possono essere riempite mediante linguaggio naturale (ad es. parametri intent), parametri di sessione e altre origini.

Rappresentazione YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Campi
name

string

Obbligatorio. Nome dell'area.

type

object (ClassReference)

Obbligatorio. Dichiara il tipo di dati di questo slot.

required

boolean

Campo facoltativo. Indica se l'area annuncio deve essere riempita prima di avanzare. Gli slot obbligatori che non vengono riempiti attiveranno una richiesta personalizzabile per l'utente.

promptSettings

object (PromptSettings)

Campo facoltativo. Registra i prompt per diverse fasi di riempimento degli slot.

commitBehavior

object (CommitBehavior)

Campo facoltativo. Comportamento di commit associato allo slot.

config

value (Value format)

Campo facoltativo. Configurazione aggiuntiva associata allo slot utilizzato per il riempimento dello slot. Il formato della configurazione è specifico per il tipo di slot. I riferimenti delle risorse al parametro utente o sessione possono essere aggiunti a questa configurazione. Questa configurazione è necessaria per riempire gli slot relativi alle transazioni e al coinvolgimento degli utenti.

Esempio: per uno slot di tipo actions.type.CompletePurchaseValue, la seguente configurazione propone un ordine di articoli digitali con un riferimento a un parametro di sessione definito dal client userSelectedSkuId:

{ "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } }

defaultValue

object (DefaultValue)

Campo facoltativo. Configurazione per compilare un valore predefinito per questo slot.

PromptSettings

Un unico posto in cui vengono definite le richieste di slot.

Rappresentazione YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Campi
initialPrompt

object (EventHandler)

Richiesta per il valore dell'area annuncio stesso. Esempio: "Che taglia volevi?"

noMatchPrompt1

object (EventHandler)

Richiesta di fornire quando l'input dell'utente non corrisponde al tipo di valore previsto per l'area per la prima volta. Esempio: "Non ho capito".

noMatchPrompt2

object (EventHandler)

Richiesta di indicare se l'input dell'utente non corrisponde al tipo di valore previsto per l'area per la seconda volta. Esempio: "Non ho capito".

noMatchFinalPrompt

object (EventHandler)

Richiesta di indicare quando l'input dell'utente non corrisponde al tipo di valore previsto per l'area nell'ultima volta. Esempio: "Non ho capito".

noInputPrompt1

object (EventHandler)

Richiesta da fornire quando l'utente non fornisce un input per la prima volta. Esempio: "Non ho capito".

noInputPrompt2

object (EventHandler)

Richiesta da fornire quando l'utente non fornisce un input per la seconda volta. Esempio: "Non ho capito".

noInputFinalPrompt

object (EventHandler)

Richiesta da fornire quando l'utente non fornisce un input per l'ultima volta. Esempio: "Non ho capito".

CommitBehavior

Messaggio che descrive il comportamento del commit associato allo slot dopo che è stato compilato.

Rappresentazione YAML
writeSessionParam: string
Campi
writeSessionParam

string

Il parametro di sessione per scrivere il valore dell'area dopo che è stato compilato. Tieni presente che i percorsi nidificati non sono attualmente supportati. "$$" viene utilizzato per scrivere il valore dell'area in un parametro di sessione con lo stesso nome dell'area. Ad esempio, writeSessionParam = "fruit" corrisponde a "$session.params.fruit". writeSessionParam = "ticket" corrisponde a "$session.params.ticket".

DefaultValue

Configurazione per compilare un valore predefinito per questo slot.

Rappresentazione YAML
sessionParam: string
constant: value
Campi
sessionParam

string

Campo facoltativo. Il parametro di sessione da utilizzare per inizializzare il valore dello slot, se ha un valore non vuoto. Il tipo del valore deve corrispondere al tipo di area annuncio. Tieni presente che i percorsi nidificati non sono attualmente supportati. Ad esempio: sessionParam = "fruit" corrisponde a $session.params.fruit. sessionParam = "ticket" corrisponde a $session.params.ticket.

constant

value (Value format)

Campo facoltativo. Valore predefinito costante per lo slot. Verrà utilizzato solo se un valore per questa area non è stato compilato tramite sessionParam. Il tipo di questo valore deve corrispondere al tipo di area annuncio.