La escena es la unidad básica de flujo de control cuando se diseña una conversación. Se pueden encadenar con otras escenas, generar solicitudes 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[] |
Es 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 específicos de esta escena y tendrán prioridad sobre cualquier evento definido globalmente que tenga los mismos intents o sus frases de activación. Los nombres de los intents deben ser únicos dentro de una escena. |
conditionalEvents[] |
La lista de eventos que se activarán en función de sentencias condicionales. Estas actividades se evalúan una vez que se completa el formulario o inmediatamente después de on_load si la escena no tiene uno (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 esta resolución (p.ej., instrucciones). |
onSlotUpdated |
Se llama al controlador cuando se produce un cambio en el estado de un espacio que no se debe a actualizaciones dentro de otro controlador. De esta manera, se pueden invalidar los horarios disponibles, invalidar la escena o hacer otros cambios en el estado de la escena. |
Ranura
Configuración de una ranura. Los espacios publicitarios son unidades de datos únicas que se pueden completar a través del lenguaje natural (es decir, parámetros de intents), 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 es necesario completar el espacio antes de avanzar. Los espacios obligatorios que no estén completados activarán un mensaje personalizable para el usuario. |
promptSettings |
Opcional. Registra los mensajes para diferentes etapas del llenado de ranuras. |
commitBehavior |
Opcional. Comportamiento de confirmación asociado con la ranura. |
config |
Opcional. Configuración adicional asociada con el espacio que se utiliza para llenar el espacio. 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 completar ranuras relacionadas con las transacciones y la participación de los usuarios. Ejemplo: Para un espacio del tipo actions.type.CompletePurchaseValue, la siguiente configuración propone un pedido digital con una referencia a un 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 donde se definen los mensajes de ranura.
Representación YAML | |
---|---|
initialPrompt: object ( |
Campos | |
---|---|
initialPrompt |
Solicita el valor del espacio. Ejemplo: "¿De qué tamaño querías?". |
noMatchPrompt1 |
Es el mensaje que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el espacio por primera vez. Ejemplo: "Lo siento, no entendí". |
noMatchPrompt2 |
Es el mensaje que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el espacio por segunda vez. Ejemplo: "Lo siento, no entendí". |
noMatchFinalPrompt |
Es el mensaje que se debe proporcionar cuando la entrada del usuario no coincide con el tipo de valor esperado para el espacio por última vez. Ejemplo: "Lo siento, no entendí". |
noInputPrompt1 |
Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por primera vez. Ejemplo: "Lo siento, no entendí". |
noInputPrompt2 |
Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por segunda vez. Ejemplo: "Lo siento, no entendí". |
noInputFinalPrompt |
Es la instrucción que se debe dar cuando el usuario no proporciona una entrada por última vez. Ejemplo: "Lo siento, no entendí". |
CommitBehavior
Mensaje que describe el comportamiento de confirmación asociado con el espacio publicitario después de que se completó correctamente.
Representación YAML | |
---|---|
writeSessionParam: string |
Campos | |
---|---|
writeSessionParam |
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, las rutas anidadas no son compatibles. “$$” se usa para escribir el valor del espacio 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 utiliza para inicializar el valor de ranura, si tiene un valor que no está vacío. El tipo del valor debe coincidir con el tipo de ranura. Ten en cuenta que, por el momento, las rutas anidadas no son compatibles. 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 del |