Aspectos básicos sobre los canales
Definición de canales
Para exponer los asistentes digitales y las aptitudes independientes a los usuarios, configure canales en Digital Assistant. Los canales transportan el chat entre los usuarios de diversas plataformas de mensajería y el asistente digital y sus distintas aptitudes. También hay canales para la escalada y prueba de agentes de usuario.
Tipos de canales
Puede crear y gestionar los siguientes tipos de canal desde la página Canales, a la que se accede haciendo clic en Canales en el menú de la izquierda. Hay un separador para cada tipo.
Tipo de canal | Usos |
---|---|
Usuarios |
|
Integraciones de agentes |
|
Asistente digital como agente |
|
Aplicaciones |
|
Sistema |
|
Enrutamiento de canal de usuario
Puede encaminar cada canal orientado al usuario a una única versión de un asistente digital o una aptitud.

Descripción de la ilustración routing-menu.png
Solo es posible ejecutar, en un momento dado, una versión de una aptitud o un asistente digital en un canal. Si crea una nueva versión de la aptitud, puede detener el enrutamiento a la versión antigua y, a continuación, asignar el enrutamiento a la versión actualizada.
Puede admitir la ejecución simultánea de dos versiones de una aptitud o asistente digital mediante la creación de canales independientes para cada una. Por ejemplo, los comprobadores beta pueden acceder a la aptitud a través de un canal mientras los clientes continúan con un chat en un canal independiente, sin interrupciones.
Encaminar (o volver a encaminar) un canal
-
Haga clic en
para abrir el menú lateral y seleccione Desarrollo > Canales > Usuarios.
- Seleccione el separador Usuarios y elija el canal.
- En el canal, junto al campo Encaminar a, seleccione
y, a continuación, seleccione el asistente digital o la aptitud a la que quiera encaminar el canal.
Funcionamiento del enrutamiento de canales de usuario del asistente digital
Cuando se registra una aptitud en un asistente digital, los mensajes que envía y recibe se transmiten a través de los canales de usuario del asistente digital. El enrutamiento del asistente digital toma el control, aunque la aptitud ya disponga de otros canales enrutados.
Por ejemplo, supongamos que hay dos aptitudes, cada una con su propio canal web registrado en un asistente digital, que a su vez se encamina a su propio canal web y a un canal de Facebook. Cuando los usuarios envían un mensaje al asistente digital a través del canal web del asistente digital, se determina la intención y se envía el mensaje a la aptitud correspondiente. Cuando la aptitud responde, su mensaje se devuelve al usuario a través del canal web del asistente digital, no a través del canal web de la aptitud. Del mismo modo, cuando el asistente digital intercepta un mensaje de un suscriptor de Facebook, la respuesta de la aptitud al usuario se envía a través del canal de Facebook del asistente digital, no a través del canal web de la aptitud.
Prueba de la representación en un canal
Para ver cómo se representará una conversación con un asistente digital o una aptitud individual en un canal de usuario determinado, puede utilizar el comprobador.
-
Abra el asistente digital o la aptitud que quiera probar.
-
En la parte inferior de la navegación izquierda del asistente digital o la aptitud, haga clic en
.
-
En la lista desplegable Canal, seleccione el canal en el que vaya a desplegar el asistente digital o la aptitud.
-
En el campo de texto de la parte inferior del comprobador, introduzca texto de prueba.
Al probar el canal, puede ver la representación en el canal. Además, si hay alguna limitación para ese tipo de canal que fuerzan que la conversación se presente de forma diferente, dichas limitaciones se describen en el separador Conversaciones.
Actualizaciones de canal sin tiempo de inactividad
Puede volver a encaminar el canal desde una aptitud o asistente digital a otros sin que el usuario aprecie períodos de inactividad.
A continuación, se muestra cómo hacerlo:
- En el caso de un canal encaminado hacia un asistente digital, deberá:
- Crear una nueva versión del asistente digital.
- En la nueva versión del asistente digital, realice los cambios que sean necesarios, incluida la adición de nuevas versiones de las aptitudes existentes.
- Vuelva a encaminar el canal hacia la nueva versión del asistente digital.
- Para un canal encaminado a una aptitud individual:
- Cree una nueva versión de la aptitud, aplique las actualizaciones que quiera y publique la aptitud.
- Vuelva a encaminar el canal a la nueva versión de la aptitud.
Esto es lo que sucede cuando el canal se vuelve a encaminar:
- Si el usuario no tiene una sesión abierta, obtendrá la nueva aptitud o asistente digital cuando vuelva a acceder al canal.
- Si el usuario tiene una sesión abierta con el asistente digital o la aptitud, pero no se encuentra en medio de un flujo en una aptitud, la sesión se refresca con la aptitud o el asistente digital actualizados.
- Si el usuario está en medio de un flujo de una aptitud cuando el canal se vuelve a encaminar, el usuario sigue viendo la versión anterior de la aptitud o el asistente digital. Cuando el flujo finaliza (lo que ocurre al llamar a la transición
return
en el flujo), la sesión se actualiza con el asistente digital o la aptitud actualizados.
Atención:
Si actualiza un asistente digital existente (en lugar de crear una nueva versión del asistente digital y de volver a realizar el encaminamiento hacia esa versión), no funcionará la función sin tiempo de inactividad. Por ejemplo, si se ha agregado una nueva versión de una aptitud al asistente digital y un usuario está en medio de una sesión con la versión anterior de la aptitud, la sesión se interrumpe y la aptitud deja de funcionar.Formato de texto enriquecido en canales
Puede utilizar etiquetas HTML para dar formato a los mensajes de aptitud, incluso para los canales que tienen marcas o rebajas específicas del canal. Cuando el mensaje se pasa al canal, las etiquetas HTML que incluya se sustituyen por el marcado o anotación adecuados para ese canal concreto. Esto le permite escribir mensajes en un solo lugar para varios canales.
Si una etiqueta no tiene un equivalente directo en un canal, se utiliza el equivalente más cercano. Por ejemplo, si el mensaje tiene etiquetas <h1>Title 1</h1>
y <h2>Title 2</h2>
, se convierten a *Title 1*
y *Title 2*
cuando se envían a un canal de Slack.
Si no hay un equivalente aproximado para la etiqueta en el canal, las etiquetas simplemente se eliminan del mensaje cuando se envían al canal.
Estilo | Etiquetas y atributos HTML |
---|---|
en |
<strong> ; <b> |
cursiva | <em> ; <i> |
Cabeceras | <h1> ; <h2> ; <h3> |
listas no ordenadas (incluido el anidamiento) | <ul> ; <li> |
listas ordenadas (incluido el anidamiento) | <ol> ; <li> |
texto con formato | <pre> |
blockquote | <blockquote> |
newline | <newline> |
hiperenlace | <a href=""> Nota: si el enlace incluye un ampersand ( |
enlace de imagen | <img> |
tabla | <table> ; <th> ; <tr> ; <td> |
tamaño de fuente | font-size (por ejemplo, <p style="font-size:large;">Large Font</p> )
|
Color de fuente | color (por ejemplo, <p style="color:red;">Red Font</p> )
|
vídeo | <video controls="" src="link_to_video_source_file"> Nota: esta etiqueta solo funciona si se enlaza directamente al archivo de vídeo, como |
Caducidad de la sesión
Para cada canal que configure, utilice el campo Caducidad de la sesión para definir el timeout de sesiones de usuario inactivas. Para la mayoría de los tipos de canal, el valor por defecto es de un día (1.440 minutos). Cuando la sesión haya caducado, la conversación se termina y se envía un mensaje para notificar al usuario el hecho.
Además, las variables que se hayan definido en el flujo de diálogo de una aptitud se destruirán, a menos que la variable se haya declarado como una variable del ámbito del usuario. Consulte Variables de ámbito de usuario en flujos de diálogo de YAML.
Cambio de la petición de caducidad de la sesión
Cuando caduca una sesión, se le solicita al usuario un mensaje definido en la propiedad Petición de error de sesión expirada para el asistente digital o la aptitud a la que está enrutando el canal. Por defecto, este mensaje es "La sesión ha vencido. Vuelva a empezar."
Para cambiar este mensaje para un asistente digital:
-
Haga clic en
para abrir el menú lateral, seleccione Desarrollo > Asistentes digitales y abra el asistente digital.
-
En la navegación izquierda del asistente digital, haga clic en
y seleccione el separador Configuraciones.
- Desplácese hacia abajo a la sección Otros parámetros de la página y actualice la propiedad Petición de error de sesión expirada.
Para cambiar este mensaje para una aptitud independiente:
-
Haga clic en
para abrir el menú lateral, seleccione Desarrollo > Aptitudes y abra la aptitud.
-
En la navegación izquierda de la aptitud, haga clic en
y seleccione el separador Configuración.
- Actualice la propiedad Petición de error de sesión expirada.
Restablecimiento de las sesiones del canal de usuario
Si es necesario, puede suspender las conversaciones actuales de un canal de usuario haciendo clic en el botón Restablecer sesiones.
Atención:
Este botón se orienta principalmente a aquellos casos en los que se desarrolla la aptitud o el asistente digital. Si la utiliza para un canal que está en producción, se interrumpirán todas las conversaciones en curso del usuario.Para acceder al botón Restablecer sesiones:
- Haga clic en
para abrir el menú lateral, seleccione Desarrollo > Canales y seleccione el canal de usuario.
Activación o desactivación de canales
De vez en cuando, es posible que necesite desactivar un canal para realizar tareas de mantenimiento o actualización en la configuración y, a continuación, volver a activar el canal.
Para ello, puede utilizar los siguientes conmutadores:
- Canal activado
- Interacción activada (para integraciones de agente)
- Aplicación activada (para aplicaciones)
Si se desactiva el canal del sistema, que da soporte al comprobador de aptitudes, los desarrolladores reciben una notificación que indica que el canal no está disponible.
Para acceder a estas opciones:
- Haga clic en
para abrir el menú lateral, seleccione Desarrollo > Canales y seleccione el canal.
Extensiones específicas del canal
Además de los elementos genéricos que se pueden utilizar en los flujos de diálogo para efectuar la representación en varios canales, también es posible aprovechar las funciones específicas de un tipo de canal. Esto puede hacerse a través del elemento de metadatos channelCustomProperties
del componente de respuesta común, con el siguiente formato:
...
channelCustomProperties:
- channel: "CHANNEL_NAME" // can be facebook, slack, cortana, twilio, androidsdk, iossdk, websdk, test
properties:
PROPERTY_NAME: "PROPERTY_VALUE"
...
Puede aplicar channelCustomProperties
en los metadatos del componente en el nivel de globalActions
, responseItems
y elementos de responseItems
, en función de la propiedad especificada.
A continuación, se muestra un ejemplo de las propiedades personalizadas definidas en el nivel del elemento de respuesta y en el nivel de tarjeta:
responseItems:
- type: "cards"
cardLayout: "vertical"
cards:
- title: "${pizzas.name}"
description: "${pizzas.description}"
imageUrl: "${pizzas.image}"
url: "${pizzas.moreInfo}"
iteratorVariable: "pizzas"
channelCustomProperties:
- channel: "facebook"
properties:
webview_height_ratio: "compact"
fallback_url: "https://www.example.com"
channelCustomProperties:
- channel: "facebook"
properties:
top_element_style: "large"
..
El elemento channelCustomProperties
toma una matriz, donde cada entrada especifica las propiedades de un canal específico. Algunas propiedades personalizadas solo se aplican a un elemento de componente de respuesta común específico, o incluso a un tipo de elemento de respuesta específico, como en el ejemplo anterior, donde top_element_style
solo se aplica a los elementos de respuesta de tipo cards
.
También puede utilizar expresiones de Freemarker para especificar el valor de una propiedad personalizada de canal.
A continuación, se muestra un ejemplo en el que un selector de fecha solo se muestra en Slack cuando se solicita el ítem de fecha de gasto al resolver el gasto de la entidad de bolsa compuesta:
responseItems:
- type: "text"
text: "${system.entityToResolve.value.prompt}"
channelCustomProperties:
- channel: "slack"
properties:
showDatePicker: "${system.entityToResolve.value.name=='Date'}"
...
Las propiedades disponibles varían según el canal. Consulte los siguientes temas para obtener la lista de propiedades personalizadas disponibles para cada canal:
Comparación de capacidades por canal
Esta es una comparación, sin carácter exhaustivo, de los canales y las funciones que admiten.
Capacidad | Facebook Messenger | Slack | Microsoft Teams | Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|---|
Texto | Sí | Sí | Sí | Sí | Sí | Sí |
Imágenes | Sí | Sí | Sí | Sí en los envíos. No en las recepciones | Parcial | Sí |
Archivos | Sí | Parcial en los envíos. Sí en las recepciones | Sí | Sí en los envíos. No en las recepciones | Parcial | Sí |
Emojis | Sí | Parcial en los envíos. Sí en las recepciones | Sí | Sí en los envíos. No en las recepciones | Parcial | Sí |
Ubicación | Sí, pero en desuso | No | No | No | No | Sí |
Enlaces | Sí | Sí | Sí | Sí | Sí | Sí |
Devoluciones | Sí | Sí | Sí | No | Parcial | Sí |
Solicitudes de ubicación | Sí | No | No | No | No | Sí |
Extensiones | No | No | No | No | No | No |
Propiedades personalizadas | Sí | Sí | Sí | Sí | Parcial | Sí |
Carrusel | Sí | Parcial | Sí | Sí | Parcial | Sí |
Lista | Sí | Sí | Sí | Sí | Parcial | Sí |
Tablas y formularios | No | Sí | Sí (no se admite el envío automático) | No | No | Sí |
Para representar un emoji desde el flujo de diálogo, empiece por su representación Unicode, sustituya
+
por 000
y agregue al código el prefijo \
. Por ejemplo, en el caso de U+1F600
, introduciría \U0001F600
en el flujo de diálogo. Consulte https://unicode.org/emoji/charts/full-emoji-list.html para obtener una lista de los códigos Unicode para cada emoji.
Comparación de restricciones de mensajes por canal
A continuación, se ofrece una comparación de las restricciones en los mensajes y los botones de acción por canal.
Restricciones de mensajes de texto
Restricción de mensajes de texto | Facebook Messenger | Slack | Microsoft Teams y Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|
Longitud máxima del mensaje de texto | 640 caracteres. Si la longitud supera los 640 caracteres, el texto se dividirá en varios mensajes. | 3000 caracteres. Si la longitud supera los 3000 caracteres, el texto se dividirá en varios mensajes. | Sin límite. | 1600 caracteres. Si la longitud supera los 1600 caracteres, el texto se dividirá en varios mensajes. | Sin límite. |
Longitud máxima de la etiqueta de acción de texto | 20 caracteres | 30 caracteres | 1 línea (alrededor de 50 caracteres) | N/D | 128 caracteres |
Tipos de acciones de texto permitidos | Devolución, llamada, URL | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | Devolución, URL, solicitud de ubicación, llamada (si el dispositivo tiene funciones de llamada) y uso compartido (si la plataforma lo soporta) |
Número máximo de acciones de texto | Si hay más acciones de texto, el mensaje se convierte en varias tarjetas horizontales. Cada una de las tarjetas contiene un máximo de 3 acciones e incluye el mismo texto como título. | Sin límite. | Sin límite. | N/D | Si hay más acciones de texto, el mensaje se convierte en varias tarjetas horizontales. Cada una de las tarjetas contiene un máximo de 6 acciones e incluye el mismo texto como título. |
Mensajes de tarjeta horizontal
Restricción de mensajes de tarjeta horizontal | Facebook Messenger | Slack | Microsoft Teams y Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|
¿Se admite? | Sí | No. El diseño de la tarjeta pasa a ser vertical. | Sí | No, pero se logra una funcionalidad casi equivalente convirtiendo algunos tipos de acción en texto. | Sí |
Longitud máxima del título | 80 caracteres | 3000 caracteres | 2 líneas (alrededor de 80 caracteres) | N/D | 30 caracteres |
Longitud máxima de la descripción | 80 caracteres | 3000 caracteres | 25.000 caracteres | N/D | 128 caracteres |
Longitud máxima de la etiqueta de acción de la tarjeta | 20 caracteres | 30 caracteres | 1 línea (alrededor de 50 caracteres) | N/D | 25 caracteres |
Número máximo de tarjetas | 10 | N/D | 10 | N/D | 10 |
Número máximo de acciones de tarjeta | 3. Si el número de acciones de tarjeta es superior a 3, la tarjeta se duplica para representar las acciones de tarjeta restantes. | N/D | 6. Si el número de acciones de tarjeta es superior a 6, la tarjeta se duplica para representar las acciones de tarjeta restantes. | N/D | 3. Si el número de acciones de tarjeta es superior a 3, la tarjeta se duplica para representar las acciones de tarjeta restantes. |
Número mínimo de acciones de tarjeta | 0 | N/D | 0 | N/D | 1 |
Número máximo de acciones de lista de tarjeta | 0 | N/D | 6 | N/D | -- |
¿Se necesita al menos una descripción, imagen o acción? | Sí | N/D | No | N/D | No |
Tipos de acciones de tarjeta permitidos | Devolución, llamada, URL, compartición | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | Devolución, URL |
Tipos de acciones de lista de tarjetas permitidos | N/D | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | Devolución, URL |
Mensajes de tarjeta vertical
Restricción de mensajes de tarjeta vertical | Facebook Messenger | Slack | Microsoft Teams y Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|
¿Se admite? | No | Sí | Sí | No, pero se logra una funcionalidad casi equivalente convirtiendo algunos tipos de acción en texto. | Sí.
Nota
En la versión 19.4.1, esto no está soportado. |
Longitud máxima del título | N/D | 3000 caracteres | 2 líneas (alrededor de 80 caracteres) | N/D | 30 caracteres |
Longitud máxima de la descripción | N/D | 3000 caracteres | 25.000 caracteres | N/D | 128 caracteres |
Longitud máxima de la etiqueta de acción de la tarjeta | N/D | 30 caracteres | 1 línea (alrededor de 50 caracteres) | N/D | 25 caracteres |
Número máximo de tarjetas | N/D | 100 | 10 | N/D | N/D |
Número máximo de acciones de tarjeta | N/D | -- | 3 | N/D | N/D |
Número mínimo de acciones de tarjeta | 0 | 0 | 0 | N/D | N/D |
Número máximo de acciones de lista de tarjeta | 1 | -- | 6 | N/D | N/D |
¿Se necesita al menos una descripción, imagen o acción? | Sí | N/D | No | N/D | No |
Tipos de acciones de tarjeta permitidos | Devolución, llamada, URL, compartición | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | N/D |
Tipos de acciones de lista de tarjetas permitidos | Devolución, llamada, URL | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | N/D |
Mensajes de anexo
Restricción de mensajes de anexo | Facebook Messenger | Slack | Microsoft Teams y Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|
¿Se admite? | Sí | Sí | Sí | Sí, si se ha activado MMS | Sí |
Número máximo de acciones de anexo | 0 | -- | -- | N/D | -- |
Tipos de acciones permitidos | N/D | Devolución, URL | Devolución, llamada, URL. | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | Devolución, URL |
Botones de acción
Restricción de botones de acción | Facebook Messenger | Slack | Microsoft Teams y Cortana | Twilio | Web, iOS y Android |
---|---|---|---|---|---|
¿Se admite? | Sí | Sí | Sí | No, pero se logra una funcionalidad casi equivalente convirtiendo algunos tipos de acción en texto. | Sí |
Longitud máxima de la etiqueta de acción global | 20 caracteres | 30 caracteres | 1 línea (alrededor de 50 caracteres) | N/D | 128 caracteres |
Número máximo de acciones globales | 11 | -- | 6 | N/D | -- |
Tipos de acciones globales permitidos | Devolución, ubicación | Devolución, URL | Devolución, llamada, URL | Devolución, llamada, URL. Estos tipos de acción se convierten en texto. Para las acciones de devolución, la etiqueta sirve como una palabra clave que se puede utilizar para disparar la devolución. | Devolución, ubicación |