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 ( |
Campos | |
---|---|
onEnter |
Controlador que se invocará durante la transición a esta escena. |
intentEvents[] |
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[] |
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[] |
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 |
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 ( |
Campos | |
---|---|
name |
Obligatorio. Es el nombre de la ranura. |
type |
Obligatorio. Declara el tipo de datos de esta ranura. |
required |
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 |
Opcional. Registra mensajes para las diferentes etapas del relleno de ranuras. |
commitBehavior |
Opcional. Confirma el comportamiento asociado con la ranura. |
config |
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 { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
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 ( |
Campos | |
---|---|
initialPrompt |
Solicita el valor de la ranura en sí. Ejemplo: "¿Qué talla querías?" |
noMatchPrompt1 |
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 |
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 |
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 |
Indicación para dar cuando el usuario no proporciona una entrada por primera vez. Ejemplo: "Lo siento, no entendí". |
noInputPrompt2 |
Indicación para dar cuando el usuario no proporciona una entrada por segunda vez. Ejemplo: "Lo siento, no entendí". |
noInputFinalPrompt |
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 |
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 |
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.: |
constant |
Opcional. Valor predeterminado constante para la ranura. Solo se usará si no se propagó un valor para este espacio a través de |