Informations de base sur les canaux

À quoi servent les canaux?

Pour exposer vos assistants numériques et vos compétences autonomes aux utilisateurs, vous configurez des canaux dans Digital Assistant. Les canaux permettent le clavardage entre les utilisateurs sur diverses plateformes de messagerie et l'assistant numérique et ses diverses compétences. Il existe également des canaux pour l'escalade et les tests des agents utilisateurs.

Types de canal

Vous pouvez créer et gérer les types de canal suivants à partir de la page des canaux, à laquelle vous avez accès en cliquant sur Channels (Canaux) dans le menu de gauche. Il existe un onglet pour chaque type.

Type de canal Utilisations
Utilisateurs
Intégrations d'agent
  • Configurez l'utilisateur d'Oracle B2C Service ou d'Oracle Fusion Service. La compétence communique avec le service par cet utilisateur. Créer un canal Intégration d'agent fournit des détails de configuration pour le service et les composants d'agent dans le flux de dialogue.

  • Activer ou désactiver l'intégration d'agent.

Assistant numérique servant d'agent
  • Intégrer un assistant numérique avec Oracle B2C Service ou Oracle Fusion Service, où il agit en tant qu'agent automatisé intégré dans l'instance de service.

Applications
  • Configurer le canal d'application par lequel une application externe envoie des avis à une compétence pour déclencher une conversation. La rubrique Mise en oeuvre des conversations lancées par une application décrit le processus de configuration de la compétence pour répondre aux avis.

  • Activer ou désactiver l'envoi de cet avis par l'application (et donc, empêcher la conversation lancée par la compétence).

Système
  • Activer ou désactiver le clavardage dans le testeur de compétence pour tous les développeurs de compétences.

  • Réinitialiser les sessions de clavardage pour tous les développeurs de compétences.

Acheminement du canal d'utilisateur

Vous pouvez acheminer chaque canal destiné à l'utilisateur vers une seule version d'un assistant numérique ou d'une compétence.


Description de la gamme d'opérations-menu.png :
Description de l'illustration routing-menu.png

Une seule version d'une compétence ou d'un assistant numérique à la fois peut être exécutée sur un canal. Lorsque vous créez une nouvelle version de la compétence, vous pouvez arrêter l'acheminement vers l'ancienne version, puis l'affecter à la version mise à jour.

Vous pouvez prendre en charge l'exécution de deux versions d'une compétence ou d'un assistant numérique simultanément en créant des canaux distincts pour chacune. Par exemple, les testeurs bêta peuvent accéder à la compétence au moyen d'un canal tandis que les clients continuent à clavarder sans interruption sur un autre canal.

Acheminer (ou réacheminer) un canal

  1. Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral, sélectionnez Development > Channels > Users (Développement > Canaux > Utilisateurs).

  2. Sélectionnez l'onglet Users (Utilisateurs), puis le canal.
  3. Dans le canal, à côté du champ Route To (Acheminer vers), sélectionnez icône de la liste déroulante Acheminer vers..., puis la compétence ou l'assistant numérique vers lequel vous souhaitez acheminer le canal.

Fonctionnement de l'acheminement du canal d'utilisateur de l'assistant numérique

Lorsque vous enregistrez une compétence auprès d'un assistant numérique, les messages qu'elle envoie et reçoit sont relayés au moyen des canaux d'utilisateur de l'assistant numérique. L'acheminement de l'assistant numérique prend le contrôle même si d'autres canaux sont déjà acheminés vers la compétence.

Prenons, par exemple, deux compétences dont chacune a son propre canal Web. Elles ont été enregistrées auprès d'un assistant numérique, qui procède à l'acheminement vers son propre canal Web et vers un canal Facebook. Lorsque les utilisateurs envoient un message à l'assistant numérique en passant par son canal Web, l'assistant détermine l'intention et envoie le message à la compétence concernée. Lorsque la compétence répond, son message est renvoyé à l'utilisateur sur le canal Web de l'assistant numérique et non sur celui de la compétence. De même, lorsque l'assistant numérique intercepte un message provenant d'un abonné Facebook, la réponse de la compétence à l'utilisateur est renvoyée sur le canal Facebook de l'assistant numérique, et non sur celui de la compétence.

Tester le rendu d'un canal

Pour voir comment une conversation avec un assistant numérique ou une compétence individuelle sera rendue dans un canal d'utilisateur donné, vous pouvez utiliser le testeur.

  1. Ouvrez l'assistant numérique ou la compétence à tester.

  2. Au bas du menu de navigation de gauche de l'assistant numérique ou de la compétence, cliquez sur icône du testeur.

  3. Dans la liste déroulante Channel (Canal), sélectionnez le canal sur lequel vous prévoyez de déployer l'assistant numérique ou la compétence.

  4. Dans le champ de texte au bas du testeur, entrez le texte de test.

Lorsque vous testez le canal, vous pouvez prévisualiser son affichage. De plus, s'il existe des restrictions pour ce type de canal qui empêchent un rendu fidèle de la conversation, celles-ci sont décrites dans l'onglet Conversations.

Mises à jour de canal sans temps d'arrêt

Vous pouvez réacheminer votre canal d'une compétence ou d'un assistant numérique vers un autre sans provoquer de temps d'arrêt pour l'utilisateur.

Voici comment effectuer la configuration :

  • Pour un canal acheminé vers un assistant numérique :
    1. Créez une nouvelle version de l'assistant numérique.
    2. Dans la nouvelle version de l'assistant numérique, effectuez les modifications nécessaires, notamment l'ajout de nouvelles versions de compétences existantes.
    3. Réacheminez le canal vers la nouvelle version de l'assistant numérique.
  • Pour un canal acheminé vers une compétence :
    1. Créez une nouvelle version de la compétence, effectuez les mises à jour souhaitées et publiez la compétence.
    2. Réacheminez le canal vers la nouvelle version de la compétence.

Voici ce qui se produit après le réacheminement du canal :

  • Si l'utilisateur n'a pas ouvert de session, la nouvelle compétence ou le nouvel assistant numérique sera disponible lorsqu'il accédera au canal.
  • Si une session est ouverte avec l'assistant numérique ou la compétence, mais que l'utilisateur n'est pas au milieu d'un flux dans une compétence, la session est actualisée avec la compétence ou l'assistant numérique mis à jour.
  • Si l'utilisateur se trouve au milieu d'un flux dans une compétence lorsque le canal est réacheminé, il voit toujours la version précédente de la compétence ou de l'assistant numérique. Une fois le flux terminé (ce qui se produit lorsque la transition return est appelée dans le flux), la session est actualisée avec la compétence ou l'assistant numérique mis à jour.

Attention :

Si vous mettez à jour un assistant numérique existant (au lieu d'en créer une nouvelle version et d'effectuer un réacheminement vers celle-ci), la fonction de temps d'arrêt zéro ne fonctionnera pas. Par exemple, si une nouvelle version d'une compétence a été ajoutée à l'assistant numérique et que l'utilisateur se trouve au milieu d'une session avec l'ancienne version de la compétence, la session est interrompue et la compétence ne fonctionne plus.

Format RTF dans les canaux

Vous pouvez utiliser des balises HTML pour formater les messages de compétence, même pour les canaux qui ont un balisage ou un balisage propre au canal. Lorsque le message est transmis au canal, les balises HTML que vous incluez sont remplacées par le balisage ou le balisage approprié pour ce canal particulier. Cela vous permet d'écrire des messages en un seul endroit pour plusieurs canaux.

Si une balise n'a pas d'équivalent direct dans un canal, l'équivalent le plus proche est utilisé. Par exemple, si le message comporte des marqueurs <h1>Title 1</h1> et <h2>Title 2</h2>, ceux-ci sont convertis en *Title 1* et *Title 2* lorsqu'ils sont envoyés à un canal Slack.

S'il n'y a pas d'équivalent approximatif pour la balise dans le canal, les balises sont simplement supprimées du message lorsqu'elles sont envoyées au canal.

Style Marqueurs et attributs HTML
audacieux <strong>; <b>
italiques <em>; <i>
en-têtes <h1>; <h2>; <h3>
listes non triées (y compris l'imbrication) <ul>; <li>
listes ordonnées (y compris l'imbrication) <ol>; <li>
texte préformaté <pre>
blockquote <blockquote>
Saut de ligne <newline>
lien hypertexte <a href="">

Note : Si votre lien comprend une perluète (&), assurez-vous de l'encoder à l'aide de &amp; pour vous assurer que les marqueurs sont analysés correctement.

lien d'image <img>
tableau <table>; <th>; <tr>; <td>
taille de police font-size (par exemple, <p style="font-size:large;">Large Font</p>)
couleur color (par exemple, <p style="color:red;">Red Font</p>)
vidéo <video controls="" src="link_to_video_source_file">

Note : Ce marqueur ne fonctionne que si vous effectuez un lien direct vers le fichier vidéo, par exemple .mp4. Cela ne fonctionne pas pour les liens YouTube.

Expiration de session

Pour chaque canal que vous configurez, utilisez le champ Session Expiration (Expiration de session) pour définir la temporisation des sessions d'utilisateur inactives. Pour la plupart des types de canal, la valeur par défaut est un jour (1440 minutes). Lorsque la session a expiré, la conversation est arrêtée et un message est envoyé pour en informer l'utilisateur.

En outre, toute variable définie dans le flux de dialogue d'une compétence est supprimée, sauf si elle a été déclarée en tant que variable de portée utilisateur. Voir Variables de portée utilisateur dans les flux de dialogue YAML.

Modifier l'invite d'expiration de session

À l'expiration d'une session, un message est présenté à l'utilisateur. Ce message est défini dans la propriété Expired Session Error Prompt (Invite d'erreur de session expirée) de l'assistant numérique ou de la compétence vers laquelle le canal est acheminé. Par défaut, ce message est "Your session has expired. Please start again." (Votre session a expiré. Réessayez.)

Pour modifier ce message pour un assistant numérique :

  1. Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral, sélectionnez Development > Digital Assistants (Développement > Assistants numériques) et ouvrez l'assistant.

  2. Dans la barre de navigation gauche de l'assistant numérique, cliquez sur icône Settings (Paramètres) et sélectionnez l'onglet Configurations.

  3. Faites défiler la page vers le bas jusqu'à la section Other Parameters (Autres paramètres) et mettez à jour la propriété Expired Session Error Prompt (Invite d'erreur de session expirée).

Pour modifier ce message pour une compétence autonome :

  1. Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral, sélectionnez Development > Skills (Développement > Compétences) et ouvrez la compétence.

  2. Dans la barre de navigation gauche pour la compétence, cliquez sur icône Settings (Paramètres) et sélectionnez l'onglet Configuration.

  3. Mette à jour la propriété Expired Session Error Prompt (Invite d'erreur de session expirée).

Réinitialiser des sessions de canal d'utilisateur

Si nécessaire, vous pouvez interrompre les conversations courantes dans un canal d'utilisateur en cliquant sur son bouton Reset Sessions (Réinitialiser les sessions).

Attention :

Ce bouton est principalement destiné aux cas où vous développez la compétence ou l'assistant numérique. Si vous l'utilisez pour un canal qui est en production, vous interromprez toutes les conversations d'utilisateur en cours.

Pour accéder au bouton Reset Sessions (Réinitialiser les sessions) :

  • Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral, sélectionnez Development > Channels (Développement > Canaux), puis le canal d'utilisateur.

Activer ou désactiver des canaux

Il est parfois nécessaire de désactiver un canal pour effectuer une maintenance ou des mises à jour de la configuration, puis de le réactiver.

Pour ce faire, vous pouvez utiliser les commutateurs suivants :

  • Channel Enabled (Canal activé)
  • Interaction Enabled (Interaction activée) (pour les intégrations d'agent)
  • Application Enabled (Application activée) (pour les applications)

La désactivation du canal système, qui prend en charge le testeur de compétence, signale aux développeurs que le canal n'est pas disponible.

Pour accéder à ces options :

  • Cliquez sur icône d'ouverture du menu latéral pour ouvrir le menu latéral, sélectionnez Development > Channels (Développement > Canaux), puis le canal.

Extensions propres au canal

En plus des éléments génériques que vous pouvez utiliser dans vos flux de dialogue pour effectuer un rendu sur plusieurs canaux, vous pouvez également tirer parti des fonctions propres à un type de canal. Pour ce faire, vous pouvez utiliser l'élément de métadonnées channelCustomProperties du composant de réponse commune, qui se présente sous la forme suivante :

...
            channelCustomProperties:
            - channel: "CHANNEL_NAME" // can be facebook, slack, cortana, twilio, androidsdk, iossdk, websdk, test
              properties:
                PROPERTY_NAME: "PROPERTY_VALUE"
...

Vous pouvez appliquer channelCustomProperties dans les métadonnées du composant au niveau de globalActions, responseItems et des éléments de responseItems, selon la propriété concernée.

Voici un exemple de propriétés personnalisées définies au niveau de l'élément de réponse et de la carte :

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"
..

L'élément channelCustomProperties prend la forme d'un tableau, où chaque entrée spécifie les propriétés d'un canal particulier. Certaines propriétés personnalisées ne s'appliquent qu'à un élément de composant de réponse commune particulier, voire à un type d'élément de réponse, comme dans l'exemple ci-dessus où top_element_style s'applique uniquement aux éléments de réponse de type cards.

Vous pouvez également utiliser des expressions Freemarker pour spécifier la valeur d'une propriété personnalisée de canal.

Voici un exemple d'un sélecteur de date qui s'affiche sur Slack uniquement lorsque l'utilisateur est invité à entrer un élément de date de frais lors de la résolution des frais de l'entité composite :

responseItems:
  - type: "text"
    text: "${system.entityToResolve.value.prompt}"
    channelCustomProperties:
      - channel: "slack"
        properties:
          showDatePicker: "${system.entityToResolve.value.name=='Date'}"
...

Les propriétés disponibles varient selon le canal. Voir les rubriques suivantes pour obtenir la liste des propriétés personnalisées disponibles pour chaque canal :

Comparaison des fonctions des canaux

Voici une comparaison non exhaustive des canaux et des fonctionnalités qu'ils prennent en charge.

Fonction Facebook Messenger Slack Microsoft Teams Cortana Twilio Web, iOS et Android
Texte Oui Oui Oui Oui Oui Oui
Images Oui Oui Oui Oui pour l'envoi. Non pour la réception Partielle Oui
Fichiers Oui Partielle pour l'envoi. Oui pour la réception Oui Oui pour l'envoi. Non pour la réception Partielle Oui
Émojis Oui Partielle pour l'envoi. Oui pour la réception Oui Oui pour l'envoi. Non pour la réception Partielle Oui
Emplacement Oui, mais obsolète Non Non Non Non Oui
Liens Oui Oui Oui Oui Oui Oui
Republications Oui Oui Oui Non Partielle Oui
Demandes d'emplacement Oui Non Non Non Non Oui
Extensions Non Non Non Non Non Non
Propriétés personnalisées Oui Oui Oui Oui Partielle Oui
Carrousel Oui Partielle Oui Oui Partielle Oui
Liste Oui Oui Oui Oui Partielle Oui
Tables et formulaires Non Oui Oui (la soumission automatique n'est pas prise en charge) Non Non Oui
Note

Pour afficher un émoji de votre flux de dialogue, commencez par sa représentation Unicode, remplacez + par 000 et ajoutez \ avant le code. Par exemple, pour U+1F600, vous devez entrer \U0001F600 dans le flux de dialogue. Voir https://unicode.org/emoji/charts/full-emoji-list.html pour obtenir la liste des codes Unicode pour chaque émoji.

Comparaison des contraintes liées aux messages pour les canaux

Voici une comparaison, par canal, des contraintes liées aux messages et aux boutons d'action.

Contraintes liées aux messages texte

Contrainte liée aux messages texte Facebook Messenger Slack Microsoft Teams et Cortana Twilio Web, iOS et Android
Longueur maximale d'un message texte 640 caractères. Si la longueur dépasse 640, le texte est fractionné en plusieurs messages. 3000 caractères. Si la longueur dépasse 3000, le texte est fractionné en plusieurs messages. Aucune limite. 1600 caractères. Si la longueur dépasse 1600, le texte est fractionné en plusieurs messages. Aucune limite.
Longueur maximale de l'étiquette d'action de texte 20 caractères 30 caractères 1 ligne (environ 50 caractères) S.O. 128 caractères
Types d'action de texte autorisés Republication, appel, URL Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. Republication, URL, demande d'emplacement, appel (si l'appareil possède des fonctions d'appel) et partage (s'il est pris en charge par la plate-forme)
Nombre maximal d'actions de texte S'il y a plus d'actions de texte, le message est converti en plusieurs cartes horizontales comportant le même texte en titre et contenant jusqu'à 3 actions. Aucune limite. Aucune limite. S.O. S'il y a plus d'actions de texte, le message est converti en plusieurs cartes horizontales comportant le même texte en titre et contenant jusqu'à 6 actions.

Messages avec cartes horizontales

Contrainte liée aux messages avec cartes horizontales Facebook Messenger Slack Microsoft Teams et Cortana Twilio Web, iOS et Android
Prise en charge? Oui Non. La disposition de la carte devient verticale. Oui Non, mais une fonctionnalité presque équivalente est obtenue en convertissant certains types d'action en texte. Oui
Longueur maximale du titre 80 caractères 3000 caractères 2 lignes (environ 80 caractères) S.O. 30 caractères
Longueur maximale de la description 80 caractères 3000 caractères 25000 caractères S.O. 128 caractères
Longueur maximale de l'étiquette d'action de carte 20 caractères 30 caractères 1 ligne (environ 50 caractères) S.O. 25 caractères
Nombre maximal de cartes 10 S.O. 10 S.O. 10
Nombre maximal d'actions de carte 3. Si le nombre d'actions de carte dépasse 3, la carte est dupliquée pour afficher les actions restantes. S.O. 6. Si le nombre d'actions de carte dépasse 6, la carte est dupliquée pour afficher les actions de carte restantes. S.O. 3. Si le nombre d'actions de carte dépasse 3, la carte est dupliquée pour afficher les actions restantes.
Nombre minimal d'actions de carte 0 S.O. 0 S.O. 1
Nombre maximal d'actions de liste de cartes 0 S.O. 6 S.O. --
Au moins une description, image ou action requise? Oui S.O. Non S.O. Non
Types d'action de carte autorisés Republication, appel, URL, partage Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. Republication, URL
Types d'action de liste de cartes autorisés S.O. Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. Republication, URL

Messages avec cartes verticales

Contrainte liée aux messages avec cartes verticales Facebook Messenger Slack Microsoft Teams et Cortana Twilio Web, iOS et Android
Prise en charge? Non Oui Oui Non, mais une fonctionnalité presque équivalente est obtenue en convertissant certains types d'action en texte. Oui.
Note

Cette fonction n'est pas prise en charge dans la version 19.4.1.
Longueur maximale du titre S.O. 3000 caractères 2 lignes (environ 80 caractères) S.O. 30 caractères
Longueur maximale de la description S.O. 3000 caractères 25000 caractères S.O. 128 caractères
Longueur maximale de l'étiquette d'action de carte S.O. 30 caractères 1 ligne (environ 50 caractères) S.O. 25 caractères
Nombre maximal de cartes S.O. 100 10 S.O. S.O.
Nombre maximal d'actions de carte S.O. -- 3 S.O. S.O.
Nombre minimal d'actions de carte 0 0 0 S.O. S.O.
Nombre maximal d'actions de liste de cartes 1 -- 6 S.O. S.O.
Au moins une description, image ou action requise? Oui S.O. Non S.O. Non
Types d'action de carte autorisés Republication, appel, URL, partage Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. S.O.
Types d'action de liste de cartes autorisés Republication, appel, URL Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. S.O.

Messages avec fichier joint

Contrainte liée aux messages avec fichier joint Facebook Messenger Slack Microsoft Teams et Cortana Twilio Web, iOS et Android
Prise en charge? Oui Oui Oui Oui, si les MMS sont activés Oui
Nombre maximal d'actions de fichier joint 0 -- -- S.O. --
Types d'action autorisés S.O. Republication, URL Republication, appel, URL. Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. Republication, URL

Boutons d'action

Contrainte liée aux boutons d'action Facebook Messenger Slack Microsoft Teams et Cortana Twilio Web, iOS et Android
Prise en charge? Oui Oui Oui Non, mais une fonctionnalité presque équivalente est obtenue en convertissant certains types d'action en texte. Oui
Longueur maximale de l'étiquette d'action globale 20 caractères 30 caractères 1 ligne (environ 50 caractères) S.O. 128 caractères
Nombre maximal d'actions globales 11 -- 6 S.O. --
Types d'action globale autorisés Republication, emplacement Republication, URL Republication, appel, URL Republication, appel, URL. Ces types d'action sont convertis en texte. Pour les actions de republication, l'étiquette sert de mot clé qui peut être utilisé pour déclencher la republication. Republication, emplacement