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
  • Permite configurar el usuario de Oracle B2C Service u Oracle Fusion Service. La aptitud se comunica con el servicio a través de este usuario. Crear un canal de integración de agente proporciona detalles de configuración para los componentes de servicio y de agente en el flujo de diálogo.

  • Activar o desactivar la integración de agentes.

Asistente digital como agente
  • Integrar un asistente digital con Oracle B2C Service u Oracle Fusion Service, donde el asistente digital actúa como un agente automatizado embebido en la instancia de servicio.

Aplicaciones
  • Configurar el canal de aplicación a través del cual una aplicación externa envía notificaciones a una aptitud, a fin de que se pueda desencadenar una conversación. En Implantación de conversaciones iniciadas por aplicaciones se describe el proceso de configuración de la aptitud para responder a las notificaciones.

  • Activar o desactivar el envío de esta notificación por parte de la aplicación (y, por lo tanto, evitar las conversaciones iniciadas por la aptitud).

Sistema
  • Activar o desactivar el chat en el comprobador de aptitudes para todos los desarrolladores de aptitudes.

  • Restablecer las sesiones de chat para todos los desarrolladores de aptitudes.

Enrutamiento de canal de usuario

Puede encaminar cada canal orientado al usuario a una única versión de un asistente digital o una aptitud.


A continuación se describe el enrutamiento-menu.png
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

  1. Haga clic en icono para abrir el menú lateral para abrir el menú lateral y seleccione Desarrollo > Canales > Usuarios.

  2. Seleccione el separador Usuarios y elija el canal.
  3. En el canal, junto al campo Encaminar a, seleccione icono de la lista desplegable Encaminar a... 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.

  1. Abra el asistente digital o la aptitud que quiera probar.

  2. En la parte inferior de la navegación izquierda del asistente digital o la aptitud, haga clic en icono del comprobador.

  3. En la lista desplegable Canal, seleccione el canal en el que vaya a desplegar el asistente digital o la aptitud.

  4. 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á:
    1. Crear una nueva versión del asistente digital.
    2. 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.
    3. Vuelva a encaminar el canal hacia la nueva versión del asistente digital.
  • Para un canal encaminado a una aptitud individual:
    1. Cree una nueva versión de la aptitud, aplique las actualizaciones que quiera y publique la aptitud.
    2. 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 (&), asegúrese de codificarlo con &amp; para asegurarse de que las etiquetas se han analizado correctamente.

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 .mp4. No funciona para enlaces YouTube.

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:

  1. Haga clic en icono para abrir el menú lateral para abrir el menú lateral, seleccione Desarrollo > Asistentes digitales y abra el asistente digital.

  2. En la navegación izquierda del asistente digital, haga clic en icono de Configuración y seleccione el separador Configuraciones.

  3. 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:

  1. Haga clic en icono para abrir el menú lateral para abrir el menú lateral, seleccione Desarrollo > Aptitudes y abra la aptitud.

  2. En la navegación izquierda de la aptitud, haga clic en icono de Configuración y seleccione el separador Configuración.

  3. 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 icono para abrir el menú lateral 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 icono para abrir el menú lateral 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
Imágenes Sí en los envíos. No en las recepciones Parcial
Archivos Parcial en los envíos. Sí en las recepciones Sí en los envíos. No en las recepciones Parcial
Emojis Parcial en los envíos. Sí en las recepciones Sí en los envíos. No en las recepciones Parcial
Ubicación Sí, pero en desuso No No No No
Enlaces
Devoluciones No Parcial
Solicitudes de ubicación No No No No
Extensiones No No No No No No
Propiedades personalizadas Parcial
Carrusel Parcial Parcial
Lista Parcial
Tablas y formularios No Sí (no se admite el envío automático) No No
Nota

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? No. El diseño de la tarjeta pasa a ser vertical. No, pero se logra una funcionalidad casi equivalente convirtiendo algunos tipos de acción en texto.
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? 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 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? 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í, si se ha activado MMS
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? No, pero se logra una funcionalidad casi equivalente convirtiendo algunos tipos de acción en texto.
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