Referência da API Interactive Canvas

A API de tela interativa é uma biblioteca JavaScript usada para interagir com sua ação de conversa usando o objeto interactiveCanvas no app da Web.

Para mais informações sobre a tela interativa, consulte a documentação sobre a tela interativa.

Métodos

pronto

ready(callbacks) returns undefined

Chamado pelo app da Web de tela interativa depois que ele é carregado para registrar callbacks.

Parâmetros
callbacks InteractiveCanvasCallbacks

Um objeto que contém callbacks de método.

sendTextQuery

sendTextQuery(textQuery) returns Promise<state>

Envia uma consulta de texto para a ação de conversa.

Parâmetros
textQuery string

A consulta a ser enviada para a ação de conversa.

state string

Opções:

READY: As solicitações podem ser aceitas pela plataforma.

BLOCKED: Há uma consulta em andamento, e a nova consulta será descartada.

UNKNOWN: Não foi possível determinar o estado atual da consulta.

getHeaderHeightPx

getHeaderHeightPx() returns Promise<height>

Determina a altura do cabeçalho na parte superior de uma tela.

Parâmetros
height number

A altura em pixels.

outputTts

outputTts(text, openMic) returns undefined;

Reproduz texto SSML.

Parâmetros
text string

A string compatível com SSML a ser reproduzida.

openMic boolean

Define se o microfone será aberto após a reprodução do TTS.

createIntentHandler

createIntentHandler(intentId, callback) returns IntentHandler

Cria um gerenciador de intent para uma intent personalizada de PLN.

Parâmetros
intentId string

Nome da intent, conforme definido no Actions Builder.

callback function(MatchedIntent)

Função a ser executada quando houver correspondência com a intent.

IntentHandler object

Objeto do gerenciador da intent que pode ser registrado usando expect().

IntentHandler

Um objeto que representa um gerenciador de intents. Pode ser registrado usando expect() ou prompt().

MatchedIntent

Um objeto que contém os dados de uma intent correspondente.

Métodos
getIntentArg(parameterName) function(string)

Método para receber o parâmetro de uma intent correspondente.

createNumberSlot

createNumberSlot(callback, hints?) returns Slot<number>

Cria um slot com o tipo número.

Parâmetros
callback function(FilledSlot)

Função a ser executada quando o slot for preenchido.

hints Hints

Palavras curtas que o usuário pode dizer ao preencher um slot. hints ajudam o sistema PLN a decidir qual slot preencher.

Slot object

Objeto de slot que pode ser registrado usando prompt().

createTextSlot

createTextSlot(callback, hints?) returns Slot<string>

Cria um slot do tipo string.

Parâmetros
callback function(FilledSlot)

Função a ser executada quando o slot for preenchido.

hints Hints

Palavras curtas que o usuário pode dizer ao preencher um slot. hints ajudam o sistema PLN a decidir qual slot preencher.

Slot object

Objeto de slot que pode ser registrado usando prompt().

createConfirmationSlot

createConfirmationSlot(callback, hints?) returns Slot<boolean>

Cria um slot do tipo booleano.

Parâmetros
callback function(FilledSlot)

Função a ser executada quando o slot for preenchido.

hints Hints

Palavras curtas que o usuário pode dizer ao preencher um slot. hints ajudam o sistema PLN a decidir qual slot preencher.

Slot object

Objeto de slot que pode ser registrado usando prompt().

createOptionsSlot

createOptionsSlot(options, callback, hints?) returns Slot<string>

Cria um slot a partir de uma lista predefinida de opções.

Parâmetros
options array<Option>

Função a ser executada quando o slot for preenchido.

callback function(FilledSlot)

Função a ser executada quando o slot for preenchido.

hints Hints

Palavras curtas que o usuário pode dizer ao preencher um slot. hints ajudam o sistema PLN a decidir qual slot preencher.

Slot object

Objeto de slot que pode ser registrado usando prompt().

Slot

Um objeto que representa um espaço a ser preenchido. Pode ser registrado usando expect() ou prompt().

FilledSlot<T>

Um objeto que representa um espaço preenchido.

Parâmetro
T boolean|number|string

O tipo de slot.

Opção

Um objeto que representa uma entrada de tipo de slot.

Campos
key string

O identificador exclusivo da entrada do tipo de slot.

synonyms array<string>

Uma lista de palavras usadas para selecionar a opção de espaço.

Dicas

Um objeto que representa dicas para um slot.

Campos
associatedWords array<string>

Uma lista de palavras usadas para ajudar o sistema PLN a decidir qual slot preencher.

expect

expect(expectation) returns HandlerRegistration

Registra a expectativa no cliente. Pode ser chamado em gerenciadores e slots de intent.

Parâmetros
expectation IntentHandler|Slot

O gerenciador ou slot da intent a ser registrado.

HandlerRegistration object

O gerenciador ou slot da intent registrado.

HandlerRegistration

Um objeto que representa um gerenciador de intents registrado.

Métodos
deleteHandler() function

Cancela o registro do gerenciador de intents esperados.

clearExpectations

clearExpectations() returns undefined;

Remove todas as expectativas excluindo todos os gerenciadores e slots de intent registrados anteriormente.

prompt

prompt(tts, expectation) returns Promise<Answer<T>>

Solicita o usuário com a string de TTS fornecida e registra a expectativa no cliente. Pode ser chamado em gerenciadores e slots de intent.

Parâmetros
tts string

A string de TTS usada para solicitar a expectativa fornecida ao usuário.

expectation IntentHandler|Slot

O gerenciador ou slot da intent a ser registrado.

Answer<T> object

A resposta à solicitação fornecida pelo usuário.

Resposta<T>

Um objeto que representa uma resposta fornecida pelo usuário a um comando.

Campos
value boolean|number|string

O valor da resposta fornecida pelo usuário.

status string

O status da resposta.

Opções:

ANSWERED: O usuário respondeu à solicitação.

NO_MATCH: O usuário recebeu uma solicitação e respondeu com uma resposta que não corresponde à resposta esperada ou a qualquer outra intent esperada.

YIELD: O usuário respondeu à solicitação com uma intent diferente.

triggerScene

triggerScene(sceneName) returns Promise<TriggerSceneStatus>

Aciona uma cena.

Parâmetros
sceneName string

O nome do cenário a ser acionado.

TriggerSceneStatus string

O status da chamada para triggerScene().

Opções:

SUCCESS: A solicitação foi processada com sucesso pelo servidor.

BLOCKED: A solicitação foi bloqueada por uma consulta em andamento.

UNKNOWN: O status da solicitação é desconhecido.

setUserParam

setUserParam(key, value) returns Promise<undefined>;

Define o par de chave-valor transmitido e mantido entre conversas.

Parâmetros
key string

A chave de parâmetro.

value object|array|boolean|number|string

Valor de parâmetro.

getUserParam

getUserParam(key) returns Promise<object|array|boolean|number|string>;

Recebe o valor do parâmetro para a chave especificada, se ela existir, e o status da invocação.

Parâmetros
key string

A chave de parâmetro.

resetUserParam

resetUserParam() returns Promise<void>;

Limpa todos os parâmetros do usuário.

setHomeParam

setHomeParam(key, value) returns Promise<undefined>;

Define o par de chave-valor transmitido e mantido entre conversas.

Parâmetros
key string

A chave de parâmetro.

value object|array|boolean|number|string

Valor de parâmetro.

getHomeParam

getHomeParam(key) returns Promise<object|array|boolean|number|string>;

Recebe o valor do parâmetro para a chave especificada, se ela existir, e o status da invocação.

Parâmetros
key string

A chave de parâmetro.

resetHomeParam

resetHomeParam() returns Promise<void>;

Limpa todos os parâmetros do usuário.

setCanvasState

setCanvasState(state) returns undefined

Notifica ao Google Assistente que o app da Web Canvas atualizou o estado. O método setCanvasState não retorna um valor. O payload do estado pode ser acessado usando a propriedade conv.context.canvas.state.

Parâmetros
state Object

O estado atualizado do app Canvas como um objeto JSON.

InteractiveCanvasCallbacks

Esses callbacks oferecem uma maneira de responder a informações ou solicitações da ação de conversa, enquanto os métodos fornecem uma maneira de enviar informações ou solicitações para a ação.

onUpdate

onUpdate(data) returns Promise|undefined

Chamado quando uma resposta Canvas é enviada a partir da ação de conversa. O TTS vai começar quando a promessa retornada for resolvida ou atingir o tempo limite após 10 segundos.

Parâmetros
data Object

Dados atualizados enviados pelo webhook.

onTtsMark

onTtsMark(markName) returns undefined

Callback invocado durante a reprodução de TTS.

Marcas especiais que sempre são acionadas:

  • START indica o início do TTS.
  • END indica o fim do TTS.
  • ERROR indica um erro ao tocar o TTS.

Você também pode definir marcas personalizadas usando SSML e a tag <mark>, como <mark name="custom"/>.

Parâmetros
markName string

Marcar o nome invocado durante a reprodução de TTS.

onInputStatusChanged

onInputStatusChanged(inputStatus) returns undefined

Notifica o app Canvas sobre a mudança do status de entrada do Google Assistente.

Parâmetros
inputStatus Enum

Status do processamento de entrada de texto e/ou voz no dispositivo. Pode ser o seguinte:

  • LISTENING : o microfone está aberto.
  • IDLE : o microfone está fechado.
  • PROCESSING : o Google Assistente está executando uma consulta (o microfone está fechado).