Scene

La escena es la unidad básica de flujo de control cuando se diseña una conversación. Pueden encadenarse con otras escenas, generar mensajes para el usuario final y definir ranuras. El nombre de la escena se especifica en el nombre del archivo.

Representación YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Campos
onEnter

object (EventHandler)

Controlador que se invocará durante la transición a esta escena.

intentEvents[]

object (IntentEvent)

La lista de eventos que se activan en función de los intents. Estos eventos se pueden activar en cualquier momento después de que se haya llamado al controlador on_load. Importante: Estos eventos definen el conjunto de intents con alcance para esta escena y tendrán prioridad sobre cualquier evento definido de manera global que tenga los mismos intents o sus frases de activación. Los nombres de intents deben ser únicos dentro de una escena.

conditionalEvents[]

object (ConditionalEvent)

La lista de eventos para activar en función de declaraciones condicionales. Estos se evalúan después de que se completa el formulario o inmediatamente después de on_load si esta escena no tiene un formulario (la evaluación solo se realiza una vez). Solo se activará el primer evento coincidente.

slots[]

object (Slot)

Lista ordenada de ranuras. Cada ranura define el tipo de datos que resolverá y la configuración para personalizar la experiencia de esa resolución (p.ej., mensajes).

onSlotUpdated

object (EventHandler)

Se llama al controlador cuando se produce un cambio en el estado de una ranura que no se debe a actualizaciones de otro controlador. Esto permite invalidar los espacios y la escena, o bien realizar otros cambios en el estado de la escena.

Ranura

Configuración para una ranura. Los espacios son unidades de datos únicas que se pueden completar a través del lenguaje natural (es decir, parámetros de intent), parámetros de sesión y otras fuentes.

Representación YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Campos
name

string

Obligatorio. Es el nombre de la ranura.

type

object (ClassReference)

Obligatorio. Declara el tipo de datos de esta ranura.

required

boolean

Opcional. Indica si se debe llenar el espacio antes de avanzar. Los espacios obligatorios que no se hayan completado activarán un mensaje personalizable para el usuario.

promptSettings

object (PromptSettings)

Opcional. Registra mensajes para las diferentes etapas del relleno de ranuras.

commitBehavior

object (CommitBehavior)

Opcional. Confirma el comportamiento asociado con la ranura.

config

value (Value format)

Opcional. Configuración adicional asociada con la ranura que se usa para llenar la ranura. El formato de la configuración es específico del tipo de ranura. Las referencias de recursos al parámetro de usuario o sesión se pueden agregar a esta configuración. Esta configuración es necesaria para rellenar espacios relacionados con las transacciones y la participación del usuario.

Ejemplo: Para un espacio del tipo actions.type.CompletePurchaseValue, la siguiente configuración propone un pedido digital con referencia al parámetro de sesión userSelectedSkuId definido por el cliente:

{ "@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)

Opcional. Configuración para propagar un valor predeterminado para este espacio.

PromptSettings

Un solo lugar en el que se definen los mensajes de ranura.

Representación YAML
initialPrompt: 
  object (EventHandler)
noMatchPrompt1: 
  object (EventHandler)
noMatchPrompt2: 
  object (EventHandler)
noMatchFinalPrompt: 
  object (EventHandler)
noInputPrompt1: 
  object (EventHandler)
noInputPrompt2: 
  object (EventHandler)
noInputFinalPrompt: 
  object (EventHandler)
Campos
initialPrompt

object (EventHandler)

Solicita el valor de la ranura en sí. Ejemplo: "¿Qué talla querías?"

noMatchPrompt1

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por primera vez. Ejemplo: "Lo siento, no entendí".

noMatchPrompt2

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por segunda vez. Ejemplo: "Lo siento, no entendí".

noMatchFinalPrompt

object (EventHandler)

Indica que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el horario disponible por última vez. Ejemplo: "Lo siento, no entendí".

noInputPrompt1

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por primera vez. Ejemplo: "Lo siento, no entendí".

noInputPrompt2

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por segunda vez. Ejemplo: "Lo siento, no entendí".

noInputFinalPrompt

object (EventHandler)

Indicación para dar cuando el usuario no proporciona una entrada por última vez. Ejemplo: "Lo siento, no entendí".

CommitBehavior

Mensaje que describe el comportamiento de la confirmación asociado con la ranura después de que se llenó correctamente.

Representación YAML
writeSessionParam: string
Campos
writeSessionParam

string

Es el parámetro de sesión para escribir el valor del espacio después de que se completa. Ten en cuenta que, por el momento, no se admiten las rutas anidadas. Se usa "$$" para escribir el valor de ranura en un parámetro de sesión con el mismo nombre que el espacio. P. ej.: writeSessionParam = "fruit" corresponde a "$session.params.fruit". writeSessionParam = "ticket" corresponde a "$session.params.ticket".

DefaultValue

Configuración para propagar un valor predeterminado para este espacio.

Representación YAML
sessionParam: string
constant: value
Campos
sessionParam

string

Opcional. El parámetro de sesión que se utilizará para inicializar el valor de ranura, si este tiene un valor que no está vacío. El tipo del valor debe coincidir con el tipo de espacio. Ten en cuenta que, por el momento, no se admiten las rutas anidadas. P. ej.: sessionParam = "fruit" corresponde a $session.params.fruit. sessionParam = "ticket" se corresponde con $session.params.ticket.

constant

value (Value format)

Opcional. Valor predeterminado constante para la ranura. Solo se usará si no se propagó un valor para este espacio a través de sessionParam. El tipo de este valor debe coincidir con el tipo de espacio.