Scene

A cena é a unidade básica do fluxo de controle ao projetar uma conversa. Eles podem ser encadeados com outras cenas, gerar prompts para o usuário final e definir slots. O nome da cena é especificado no nome do arquivo.

Representação YAML
onEnter: 
  object (EventHandler)
intentEvents: 
  - object (IntentEvent)
conditionalEvents: 
  - object (ConditionalEvent)
slots: 
  - object (Slot)
onSlotUpdated: 
  object (EventHandler)
Campos
onEnter

object (EventHandler)

Gerenciador para invocar durante a transição para esta cena.

intentEvents[]

object (IntentEvent)

A lista de eventos acionados com base em intents. Esses eventos podem ser acionados a qualquer momento após a chamada do Manipulador on_load. Importante: esses eventos definem o conjunto de intents com escopo definido no cenário e terão precedência sobre qualquer evento definido globalmente que tenha as mesmas intents ou frases de acionamento. Os nomes das intents precisam ser exclusivos em um cenário.

conditionalEvents[]

object (ConditionalEvent)

A lista de eventos que serão acionados com base em instruções condicionais. Eles são avaliados após o preenchimento do formulário ou imediatamente após on_load se esse cenário não tiver um formulário (a avaliação é feita apenas uma vez). Somente o primeiro evento correspondente será acionado.

slots[]

object (Slot)

Lista ordenada de espaços. Cada slot define o tipo de dados que será resolvido e a configuração para personalizar a experiência dessa resolução (por exemplo, prompts).

onSlotUpdated

object (EventHandler)

Handler chamado quando há uma mudança no estado de um slot que não foi causada por atualizações em outro gerenciador. Isso permite que os slots sejam invalidados, a cena seja invalidada ou outras mudanças no estado da cena.

Slot

Configuração para um slot. Os slots são unidades únicas de dados que podem ser preenchidas por linguagem natural (por exemplo, parâmetros de intent), parâmetros de sessão e outras fontes.

Representação YAML
name: string
type: 
  object (ClassReference)
required: boolean
promptSettings: 
  object (PromptSettings)
commitBehavior: 
  object (CommitBehavior)
config: value
defaultValue: 
  object (DefaultValue)
Campos
name

string

Obrigatório. Nome do espaço.

type

object (ClassReference)

Obrigatório. Declara o tipo de dados deste slot.

required

boolean

Opcional. Indica se o espaço precisa ser preenchido antes de avançar. Quando os espaços obrigatórios não preenchidos, o usuário recebe uma solicitação personalizável.

promptSettings

object (PromptSettings)

Opcional. Registra as solicitações para diferentes estágios de preenchimento de slots.

commitBehavior

object (CommitBehavior)

Opcional. Comportamento de confirmação associado ao slot.

config

value (Value format)

Opcional. Configuração adicional associada ao slot que é usado para preenchê-lo. O formato da configuração é específico ao tipo de slot. As referências de recursos ao parâmetro do usuário ou da sessão podem ser adicionadas a esta configuração. Essa configuração é necessária para preencher slots relacionados a transações e engajamento do usuário.

Exemplo: para um slot do tipo actions.type.CompletePurchaseValue, a configuração a seguir propõe um pedido de mercadoria digital com referência a um parâmetro de sessão userSelectedSkuId definido pelo 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. Configuração para preencher um valor padrão do slot.

PromptSettings

Um único local para definição de prompts de slot.

Representação 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)

Solicite o valor do slot em si. Exemplo: "Que tamanho você quer?"

noMatchPrompt1

object (EventHandler)

Instrução exibida quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela primeira vez. Exemplo: "Não entendi."

noMatchPrompt2

object (EventHandler)

Instrução para enviar quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela segunda vez. Exemplo: "Não entendi."

noMatchFinalPrompt

object (EventHandler)

Instrução para enviar quando a entrada do usuário não corresponder ao tipo de valor esperado para o slot pela última vez. Exemplo: "Não entendi."

noInputPrompt1

object (EventHandler)

Instrução para enviar quando o usuário não fornecer uma entrada pela primeira vez. Exemplo: "Não entendi."

noInputPrompt2

object (EventHandler)

Instrução para enviar quando o usuário não fornecer uma entrada pela segunda vez. Exemplo: "Não entendi."

noInputFinalPrompt

object (EventHandler)

Instrução para enviar quando o usuário não fornecer uma entrada pela última vez. Exemplo: "Não entendi."

CommitBehavior

Mensagem que descreve o comportamento de confirmação associado ao slot após o preenchimento.

Representação YAML
writeSessionParam: string
Campos
writeSessionParam

string

O parâmetro da sessão para gravar o valor do slot após o preenchimento. No momento, não é possível usar caminhos aninhados. "$$" é usado para gravar o valor do slot em um parâmetro de sessão com o mesmo nome do slot. Por exemplo: writeSessionParam = "fruit" corresponde a "$session.params.fruit". writeSessionParam = "ticket" corresponde a "$session.params.ticket".

DefaultValue

Configuração para preencher um valor padrão do slot.

Representação YAML
sessionParam: string
constant: value
Campos
sessionParam

string

Opcional. O parâmetro de sessão a ser usado para inicializar o valor de slot, se ele tiver um valor não vazio. O tipo do valor precisa corresponder ao tipo do espaço. No momento, não é possível usar caminhos aninhados. Por exemplo: sessionParam = "fruit" corresponde a $session.params.fruit. sessionParam = "ticket" corresponde a $session.params.ticket.

constant

value (Value format)

Opcional. Valor padrão constante do slot. Só será usado se um valor para esse slot não tiver sido preenchido por sessionParam. O tipo desse valor precisa corresponder ao tipo do slot.