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 |
|
Assistant numérique servant d'agent |
|
Applications |
|
Système |
|
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 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
-
Cliquez sur
pour ouvrir le menu latéral, sélectionnez Development > Channels > Users (Développement > Canaux > Utilisateurs).
- Sélectionnez l'onglet Users (Utilisateurs), puis le canal.
- Dans le canal, à côté du champ Route To (Acheminer vers), sélectionnez
, 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.
-
Ouvrez l'assistant numérique ou la compétence à tester.
-
Au bas du menu de navigation de gauche de l'assistant numérique ou de la compétence, cliquez sur
.
-
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.
-
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 :
- Créez une nouvelle version de l'assistant numérique.
- Dans la nouvelle version de l'assistant numérique, effectuez les modifications nécessaires, notamment l'ajout de nouvelles versions de compétences existantes.
- Réacheminez le canal vers la nouvelle version de l'assistant numérique.
- Pour un canal acheminé vers une compétence :
- Créez une nouvelle version de la compétence, effectuez les mises à jour souhaitées et publiez la compétence.
- 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 ( |
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 |
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 :
-
Cliquez sur
pour ouvrir le menu latéral, sélectionnez Development > Digital Assistants (Développement > Assistants numériques) et ouvrez l'assistant.
-
Dans la barre de navigation gauche de l'assistant numérique, cliquez sur
et sélectionnez l'onglet Configurations.
- 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 :
-
Cliquez sur
pour ouvrir le menu latéral, sélectionnez Development > Skills (Développement > Compétences) et ouvrez la compétence.
-
Dans la barre de navigation gauche pour la compétence, cliquez sur
et sélectionnez l'onglet Configuration.
- 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
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
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 |
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 |