Share via


Concepts de discussion

Azure Communication Services peut vous permettre d’ajouter une fonctionnalité de conversation texte en temps réel à vos applications multiplateformes. Cette page récapitule les principaux concepts et fonctionnalités relatifs aux conversations. Pour obtenir les listes des SDK, langages, plateformes et fonctionnalités prises en charge, consultez Vue d’ensemble du SDK de conversation Communication Services.

Les API Conversation fournissent un service de mise à l’échelle automatique pour la communication de texte et de données stockés de manière persistante. Ses autres fonctionnalités clés sont les suivantes :

  • Identité personnalisée et adressage : Azure Communication Services fournit des identités génériques pour traiter les points de terminaison de communication. Les clients utilisent ces identités pour s’authentifier auprès du service Azure et communiquer entre eux dans les chat threads que vous contrôlez.
  • Chiffrement : Les SDK de conversation chiffrent le trafic et empêchent toute falsification sur le réseau.
  • Réunions Microsoft Teams : Les SDK de conversation peuvent participer à des réunions Teams et communiquer par messages Teams.
  • Notifications en temps réel : Les SDK de conversation utilisent une connectivité permanente performante (WebSockets) pour recevoir des notifications en temps réel, par exemple lorsqu’un utilisateur distant tape un message. Quand des applications s’exécutent en arrière-plan, une fonctionnalité intégrée est disponible pour déclencher des notifications contextuelles (« toast ») afin d’informer les utilisateurs finaux des nouveaux threads et messages.
  • Extensibilité de bot : il est facile d’ajouter des bots Azure au service Conversation avec l’intégration de bots Azure.

Vue d’ensemble de la conversation

Les conversations ont lieu au sein de fils de conversation. Les fils de conversation ont les propriétés suivantes :

  • L’identité d’un fil de conversation est son ChatThreadId.
  • Les conversations comportent entre zéro et 250 participants pouvant y envoyer des messages.
  • Un utilisateur peut faire partie d’un nombre illimité de conversations.
  • Seuls les participants peuvent envoyer ou recevoir des messages, ajouter des participants ou en supprimer.
  • Les utilisateurs sont ajoutés en tant que participants aux fils de conversation qu’ils créent.

Accès utilisateur

Azure Communication Services prend en charge trois niveaux de contrôle d’accès utilisateur, à l’aide des jetons de conversation. Pour plus d’informations, consultez Identité et jetons. Les participants ne disposent pas de l’accès en écriture aux messages envoyés par d’autres participants, ainsi seul les expéditeurs des messages peuvent mettre à jour ou supprimer les messages envoyés. Si un autre participant tente de le faire, il obtient une erreur.

Données de conversation

Azure Communication Services stocke les fils de conversation en fonction de la stratégie de rétention des données en vigueur lors de la création de la conversation. Vous pouvez mettre à jour la stratégie de rétention si nécessaire pendant la période de rétention que vous avez définie. Après avoir supprimé un fil de conversation (via stratégie ou vie une requête d’API de suppression), il ne peut pas être récupéré.

Important

Les fonctionnalités décrites dans cet article sont actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Vous pouvez choisir entre la rétention indéfinie des conversations, la suppression automatique entre 30 et 90 jours via la stratégie de rétention sur l’API de création de fil de conversation, ou la suppression immédiatement à l’aide des API de Suppression de message de conversation ou Suppression du fil de conversation.

Toute conversation créée avant la nouvelle stratégie de rétention n’est pas affectée, sauf si vous changez spécifiquement la stratégie pour cette conversation. Si vous envoyez une demande de support pour un fil de conversation supprimé plus de 30 jours après la suppression de cette conversation par la stratégie de rétention, cette conversation ne peut plus être récupérée, et aucune information la concernant ne sera disponible. Si nécessaire, ouvrez un ticket de support le plus rapidement possible dans un délai de 30 jours après la création d’une conversation pour que nous puissions vous aider.

Les participants aux fils de conversation peuvent utiliser ListMessages pour afficher l’historique des messages d’un fil particulier. L’API ListMessages ne peut pas retourner l’historique d’une conversation si elle est supprimée. Les utilisateurs supprimés d’un fil de conversation peuvent voir l’historique des messages précédents, mais ne peuvent pas envoyer ni recevoir de nouveaux messages. Le système ne peut pas récupérer les messages supprimés de manière accidentelle. Pour en savoir plus sur les données stockées dans le service de conversation Azure Communication Services, consultez la page sur la résidence et la protection des données personnelles.

Pour les clients qui utilisent des rendez-vous virtuels, reportez-vous à notre politique de confidentialité des utilisateurs de l’interopérabilité Teams pour le stockage des messages de conversation dans les réunions Teams.

Limites du service

  • Le nombre maximal de participants autorisés dans un fil de conversation est de 250.
  • La taille maximale autorisée pour un message est d’environ 28 Ko.
  • Pour les fils de conversations comprenant plus de 20 participants, les caractéristiques de confirmations de lecture et d’indicateur de saisie sont désactivés.
  • Pour les scénarios d’interopérabilité Teams, le nombre d’utilisateurs Azure Communication Services, et non pas le nombre d’utilisateurs Teams, doit être inférieur à 20 pour que la fonctionnalité d’indicateur de saisie soit prise en charge.
  • Lors de la création d’un fil de conversation, vous pouvez définir la stratégie de rétention entre 30 et 90 jours.
  • Pour les scénarios d’interopérabilité Teams, l’événement d’indicateur de saisie peut contenir un nom d’affichage vide lorsqu’il est envoyé par un utilisateur Teams.
  • Pour les scénarios d’interopérabilité Teams, les reçus de lecture ne sont pas pris en charge pour les utilisateurs de Teams.

Architecture des conversations

Il existe deux parties principales pour l’architecture de conversation : 1) Service approuvé et 2) Application cliente.

Diagramme montrant l’architecture des conversations dans Communication Services

  • Service approuvé : Pour gérer correctement une session de conversation, vous avez besoin d’un service vous permettant de vous connecter à Communication Services à l’aide de votre chaîne de connexion de ressource. Ce service est responsable de la création de fils de conversation, de l’ajout et de la suppression de participants et de l’émission de jetons d’accès pour les utilisateurs. Pour plus d’informations, consultez le démarrage rapide Démarrage rapide : créer et gérer des jetons d’accès.
  • Application cliente : l’application cliente se connecte à votre service approuvé et reçoit les jetons d’accès dont les utilisateurs ont besoin pour se connecter directement à Communication Services. Après avoir créé le fil de conversation et ajouté des participants, ceux-ci peuvent utiliser l’application cliente pour se connecter au fil de conversation et envoyer des messages. Les participants peuvent utiliser des notifications en temps réel dans votre application cliente pour s’abonner aux mises à jour de messages et de conversations provenant d’autres membres.

Générer des expériences de conversation intelligente, intégrant l’IA

Vous pouvez utiliser Azure AI services avec le service Conversation pour générer des cas d’usage tels que :

  • Aider un agent du support à hiérarchiser les tickets en détectant un sentiment négatif dans le message entrant d’un client
  • Générer un résumé à la fin de la conversation à envoyer au client par e-mail avec les prochaines étapes ou effectuer un suivi à une date ultérieure.
  • Ajouter un Power Virtual Agent (PVA) dans un canal Azure Communication Services Chat avec un bot Azure et un bot de relais.
  • Configurer un bot pour qu’il s’exécute sur un ou plusieurs canaux sociaux en même temps que le canal Conversation.

Diagramme montrant qu’Azure Communication Services peut être associé à Azure AI services.

Types de messages

Dans les limites de l’historique des messages, la fonctionnalité Conversation partage les messages créés par l’utilisateur ainsi que ceux générés par le système.

Les messages système sont générés quand

  • un fil de conversation est mis à jour
  • un participant a été ajouté ou supprimé
  • la rubrique de fil de conversation a été mise à jour.

Lorsque vous appelez List Messages ou Get Messages sur un fil de conversation, le résultat contient les deux types de messages, classés par ordre chronologique. Pour les messages créés par l’utilisateur, le type de message peut être défini dans SendMessageOptions lors de l’envoi d’un message au fil de conversation. Si aucune valeur n’est fournie, Communication Services utilise par défaut le type text. La définition de cette valeur est importante lors de l’envoi de code HTML. Lorsque html est spécifié, Communication Services assainit le contenu pour s’assurer qu’il est restitué en toute sécurité sur les appareils clients.

  • text : message en texte brut composé et envoyé par un utilisateur dans le cadre d’un fil de conversation.
  • html : message mis en forme avec le langage HTML, composé et envoyé par un utilisateur dans le cadre d’un fil de conversation.

Types de messages système :

  • participantAdded : message système qui indique qu’un ou plusieurs participants sont dans le fil de conversation.
  • participantRemoved : Message système qui indique qu’un participant a été supprimé du fil de conversation.
  • topicUpdated : message système qui indique que le sujet de la conversation est mis à jour.

Notifications en temps réel

Le Kit de développement logiciel (SDK) Conversation JavaScript prend en charge les notifications en temps réel. Cette fonctionnalité permet aux clients d’écouter Communication Services à la recherche de mises à jour en temps réel et de messages entrants sur un fil de conversation sans avoir à interroger les API.

L’application cliente peut s’abonner aux événements suivants :

  • chatMessageReceived : lorsqu’un nouveau message est envoyé à un fil de conversation par un participant.
  • chatMessageEdited : lorsqu’un message est modifié dans un fil de conversation.
  • chatMessageDeleted : lorsqu’un message est supprimé d’un fil de conversation.
  • typingIndicatorReceived : lorsqu’un autre participant envoie un indicateur de frappe au fil de conversation.
  • readReceiptReceived : lorsqu’un autre participant envoie une confirmation de lecture pour un message qu’il a lu.
  • chatThreadCreated : lorsqu’un utilisateur Communication Services crée un fil de conversation.
  • chatThreadDeleted : lorsqu’un utilisateur Communication Services supprime un fil de conversation.
  • chatThreadPropertiesUpdated : lorsque les propriétés du fil de conversation sont mises à jour ; pour l’instant, seule la mise à jour du sujet du fil est prise en charge.
  • participantsAdded : lorsqu’un utilisateur est ajouté en tant que participant à un fil de conversation.
  • participantsRemoved : lorsqu’un participant existant est supprimé du fil de conversation.
  • realTimeNotificationConnected : lorsque la notification en temps réel est connectée.
  • realTimeNotificationDisconnected : lorsque la notification en temps réel est déconnectée.

Remarque

Les notifications en temps réel ne doivent pas être utilisées avec les applications serveur.

Événements de serveur

Cette fonctionnalité permet aux applications serveur d’écouter des événements tels que l’envoi d’un message et le moment où un participant rejoint ou quitte la conversation. Les applications serveur peuvent réagir à ces événements, ajouter/supprimer des participants à la conversation, archiver des conversations, effectuer une analyse et de nombreux autres scénarios d’orchestration. Pour voir quels types d’événements de conversation peuvent être utilisés par les développeurs, consultez Événements de serveur.

Notifications push

Les Kits de développement logiciel (SDK) Conversation Android et iOS prennent en charge les notifications Push. Pour envoyer des notifications Push pour les messages manqués par vos participants pendant leur absence, connectez une ressource d’hub de notification avec la ressource Communication Services pour envoyer des notifications Push. Cela informe les participants de votre application des conversations et des messages entrants lorsque l’application mobile n’est pas en cours d’exécution au premier plan.

Les Kits de développement logiciel (SDK) IOS et Android prennent en charge l’événement ci-dessous :

  • chatMessageReceived : lorsqu’un participant envoie un nouveau message dans un fil de conversation.

Android SDK prend en charge des événements supplémentaires :

  • chatMessageEdited : lorsqu’un participant modifie un message dans un fil de conversation.
  • chatMessageDeleted : lorsqu’un participant supprime un message dans un fil de conversation.
  • chatThreadCreated : lorsqu’un utilisateur Communication Services crée un fil de conversation.
  • chatThreadDeleted : lorsqu’un utilisateur Communication Services supprime un fil de conversation.
  • chatThreadPropertiesUpdated : lorsque vous mettez à jour les propriétés du fil de conversation ; actuellement, seule la mise à jour du sujet de la conversation est prise en charge.
  • participantsAdded : lorsque vous ajoutez un participant à un fil de conversation.
  • participantsRemoved : lorsque vous supprimez un participant existant du fil de conversation.

Pour plus d'informations, consultez Notifications Push.

Remarque

Actuellement, l’envoi de notifications Push de conversation avec le hub de notification est généralement disponible dans Android version 1.1.0 et iOS version 1.3.0.

Étapes suivantes