Referencia de la API de Interactive Canvas

La API de Interactive Canvas es una biblioteca de JavaScript que usas para interactuar con tu acción de conversación mediante el objeto interactiveCanvas en tu app web.

Para obtener más información sobre Interactive Canvas, consulta la documentación de Interactive Canvas.

Métodos

lista

ready(callbacks) returns undefined

La aplicación web de Interactive Canvas lo llama una vez que se carga para registrar devoluciones de llamada.

Parámetros
callbacks InteractiveCanvasCallbacks

Un objeto que contiene devoluciones de llamada de métodos.

sendTextQuery

sendTextQuery(textQuery) returns Promise<state>

Envía una consulta de texto a la acción conversacional.

Parámetros
textQuery string

La consulta que se enviará a la acción conversacional.

state string

Uno de los siguientes:

READY: La plataforma puede aceptar solicitudes.

BLOCKED: Hay una consulta en tránsito y se descartará la consulta nueva.

UNKNOWN: No se pudo determinar el estado actual de la consulta.

getHeaderHeightPx

getHeaderHeightPx() returns Promise<height>

Determina la altura del encabezado en la parte superior de una pantalla.

Parámetros
height number

Es la altura en píxeles.

outputTts

outputTts(text, openMic) returns undefined;

Reproduce texto de SSML.

Parámetros
text string

La string compatible con SSML que se reproducirá.

openMic boolean

Establece si se activa el micrófono después de que se reproduce el TTS.

createIntentHandler

createIntentHandler(intentId, callback) returns IntentHandler

Crea un controlador de intents para un intent personalizado de CLN.

Parámetros
intentId string

Es el nombre del intent definido en Actions Builder.

callback function(MatchedIntent)

Función que se ejecutará cuando se detecte una coincidencia con el intent.

IntentHandler object

Es un objeto del controlador de intents que se puede registrar con expect().

IntentHandler

Es un objeto que representa un controlador de intents. Se puede registrar con expect() o prompt().

MatchedIntent

Es un objeto que contiene los datos de un intent coincidente.

Métodos
getIntentArg(parameterName) function(string)

Método para obtener el parámetro de intent de un intent coincidente.

createNumberSlot

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

Crea una ranura de tipo número.

Parámetros
callback function(FilledSlot)

Es la función que se ejecutará cuando se llene el espacio.

hints Hints

Son palabras cortas que el usuario podría decir al llenar un espacio. hints ayudan al sistema de CLN a decidir qué ranura rellenar.

Slot object

Es un objeto de ranura que se puede registrar con prompt().

createTextSlot

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

Crea una ranura de tipo string.

Parámetros
callback function(FilledSlot)

Es la función que se ejecutará cuando se llene el espacio.

hints Hints

Son palabras cortas que el usuario podría decir al llenar un espacio. hints ayudan al sistema de CLN a decidir qué ranura rellenar.

Slot object

Es un objeto de ranura que se puede registrar con prompt().

createConfirmationSlot

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

Crea una ranura de tipo booleano.

Parámetros
callback function(FilledSlot)

Es la función que se ejecutará cuando se llene el espacio.

hints Hints

Son palabras cortas que el usuario podría decir al llenar un espacio. hints ayudan al sistema de CLN a decidir qué ranura rellenar.

Slot object

Es un objeto de ranura que se puede registrar con prompt().

createOptionsSlot

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

Crea una ranura a partir de una lista predefinida de opciones.

Parámetros
options array<Option>

Es la función que se ejecutará cuando se llene el espacio.

callback function(FilledSlot)

Es la función que se ejecutará cuando se llene el espacio.

hints Hints

Son palabras cortas que el usuario podría decir al llenar un espacio. hints ayudan al sistema de CLN a decidir qué ranura rellenar.

Slot object

Es un objeto de ranura que se puede registrar con prompt().

Ranura

Es un objeto que representa un espacio que se completará. Se puede registrar con expect() o prompt().

FilledSlot<T>

Es un objeto que representa un espacio lleno.

Parámetro
T boolean|number|string

Es el tipo de ranura.

Opción

Es un objeto que representa una entrada de tipo de ranura.

Campos
key string

El identificador único de la entrada de tipo de ranura.

synonyms array<string>

Lista de palabras usadas para seleccionar la opción de ranura.

Sugerencias

Es un objeto que representa sugerencias para una ranura.

Campos
associatedWords array<string>

Es una lista de palabras que se usa para ayudar al sistema de CLN a decidir qué ranura rellenar.

expect

expect(expectation) returns HandlerRegistration

Registra la expectativa en el cliente. Se puede llamar en ranuras y controladores de intents.

Parámetros
expectation IntentHandler|Slot

El controlador de intent o la ranura que se registrará.

HandlerRegistration object

La ranura o el controlador de intents registrados

HandlerRegistration

Un objeto que representa un controlador de intents registrado.

Métodos
deleteHandler() function

Cancela el registro del controlador de intents esperado.

clearExpectations

clearExpectations() returns undefined;

Quita todas las expectativas mediante la eliminación de todas las ranuras y los controladores de intents registrados previamente.

mensaje

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

Le indica al usuario con la string de TTS proporcionada y registra la expectativa en el cliente. Se puede llamar en ranuras y controladores de intents.

Parámetros
tts string

Es la cadena de TTS que se usa para solicitar al usuario la expectativa proporcionada.

expectation IntentHandler|Slot

El controlador de intent o la ranura que se registrará.

Answer<T> object

Es la respuesta al mensaje que proporcionó el usuario.

Respuesta<T>

Es un objeto que representa la respuesta a una instrucción proporcionada por el usuario.

Campos
value boolean|number|string

Es el valor de la respuesta proporcionada por el usuario.

status string

El estado de la respuesta.

Uno de los siguientes:

ANSWERED: El usuario respondió al mensaje con una respuesta.

NO_MATCH: Se le solicitó al usuario una respuesta que no coincidió con la respuesta esperada ni ningún otro intent esperado.

YIELD: El usuario respondió al mensaje con un intent diferente.

triggerScene

triggerScene(sceneName) returns Promise<TriggerSceneStatus>

Activa una escena.

Parámetros
sceneName string

El nombre de la escena que se activará.

TriggerSceneStatus string

El estado de la llamada a triggerScene().

Uno de los siguientes:

SUCCESS: El servidor procesó correctamente la solicitud.

BLOCKED: Una consulta existente en tránsito bloqueó la solicitud.

UNKNOWN: Se desconoce el estado de la solicitud.

setUserParam

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

Establece el par clave-valor que se pasa y se conserva entre conversaciones.

Parámetros
key string

La clave del parámetro.

value object|array|boolean|number|string

Es el valor del parámetro.

getUserParam

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

Obtiene el valor del parámetro para la clave dada, si existe, y el estado de la invocación.

Parámetros
key string

La clave del parámetro.

resetUserParam

resetUserParam() returns Promise<void>;

Borra todos los parámetros de usuario.

setHomeParam

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

Establece el par clave-valor que se pasa y se conserva entre conversaciones.

Parámetros
key string

La clave del parámetro.

value object|array|boolean|number|string

Es el valor del parámetro.

getHomeParam

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

Obtiene el valor del parámetro para la clave dada, si existe, y el estado de la invocación.

Parámetros
key string

La clave del parámetro.

resetHomeParam

resetHomeParam() returns Promise<void>;

Borra todos los parámetros de usuario.

setCanvasState

setCanvasState(state) returns undefined

Le notifica al Asistente que la app web de Canvas actualizó su estado. El método setCanvasState no muestra ningún valor. Se puede acceder a la carga útil del estado a través de la propiedad conv.context.canvas.state.

Parámetros
state Object

El estado actualizado de la app de Canvas como un objeto JSON.

InteractiveCanvasCallbacks

Estas devoluciones de llamada proporcionan una forma de responder a información o solicitudes de tu acción de conversación, mientras que los métodos proporcionan una forma de enviar información o solicitudes a tu acción de conversación.

onUpdate

onUpdate(data) returns Promise|undefined

Se llama cuando se envía una respuesta Canvas desde la acción de conversación. TTS comenzará cuando se resuelva la promesa que se muestra o cuando el tiempo de espera se agote después de 10 segundos.

Parámetros
data Object

Se actualizaron los datos que envió el webhook.

onTtsMark

onTtsMark(markName) returns undefined

Es la devolución de llamada que se invoca durante la reproducción de TTS.

Marcas especiales que siempre se activan:

  • START indica el inicio de la TTS.
  • END indica el final del TTS.
  • ERROR indica un error al reproducir el TTS.

También puedes definir marcas personalizadas con SSML y la etiqueta <mark>, como <mark name="custom"/>.

Parámetros
markName string

Marca el nombre invocado durante la reproducción de TTS.

onInputStatusChanged

onInputStatusChanged(inputStatus) returns undefined

Notifica a la app de Canvas que cambió el estado de entrada de Asistente.

Parámetros
inputStatus Enum

Estado del procesamiento de entradas de voz o texto en el dispositivo. Puede ser lo siguiente:

  • LISTENING : El micrófono está abierto.
  • IDLE : El micrófono está cerrado.
  • PROCESSING : Asistente está ejecutando una consulta (el micrófono está cerrado).