Concepts relatifs à la conversation

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 de conversation fournissent un service de mise à l’échelle automatique pour la communication de texte et de données stockées de manière permanente. Ses autres fonctionnalités clés sont les suivantes :

  • Identité et adressage personnalisés - 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é du bot : il est facile d’ajouter des bots Azure au service Chat avec l’intégration d’Azure Bot.

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 :

  • Une identité de thread 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 participant à tous les threads 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 n’ont pas accès en écriture aux messages envoyés par d’autres participants, ce qui signifie que seul l’expéditeur du message peut mettre à jour ou supprimer ses messages envoyés. Si un autre participant tente de le faire, il obtient une erreur.

Données de conversation

Azure Communication Services stocke indéfiniment les messages de conversation jusqu’à ce qu’ils soient supprimés par le client. Les participants aux fils de conversation peuvent utiliser ListMessages pour afficher l’historique des messages d’un fil particulier. Les utilisateurs supprimés d’un thread de conversation peuvent afficher l’historique des messages précédent, mais ne peuvent pas envoyer ou recevoir de nouveaux messages. Les messages supprimés accidentellement ne sont pas récupérables par le système. Pour en savoir plus sur les données stockées dans le service de conversation Azure Communication Services, reportez-vous à la page de résidence et de confidentialité des données.

En 2024, de nouvelles fonctionnalités seront introduites lorsque les clients doivent choisir entre la rétention de messages indéfinie ou la suppression automatique après 90 jours. Les messages existants ne sont pas affectés.

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

Limites de 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 threads de conversation avec plus de 20 participants, les reçus de lecture et les fonctionnalités d’indicateur de saisie ne sont pas pris en charge.
  • Pour les scénarios d’interopérabilité Teams, il s’agit du nombre d’utilisateurs Azure Communication Services, et non des utilisateurs Teams, qui doivent être inférieurs à 20 pour que la fonctionnalité d’indicateur de saisie soit prise en charge.
  • Pour les scénarios d’interopérabilité Teams, l’événement d’indicateur de saisie peut contenir un nom complet vide lorsqu’il est envoyé par l’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.

Diagram showing Communication Services' chat architecture.

  • 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 sur l’obtention des jetons d’accès, consultez notre guide de démarrage rapide sur les jetons d’accès.
  • Application cliente : L’application cliente se connecte à votre service approuvé et reçoit les jetons d’accès qui sont utilisés par les utilisateurs pour se connecter directement à Communication Services. Après avoir créé le thread de conversation et ajouté des utilisateurs en tant que participants, ils peuvent utiliser l’application cliente pour se connecter au thread de conversation et envoyer des messages. Les notifications en temps réel dans votre application cliente peuvent être utilisées pour s’abonner aux mises à jour des messages et des threads d’autres participants.

Créer des expériences de conversation intelligentes et basées sur l’IA

Vous pouvez utiliser des services Azure AI avec le service Chat pour créer 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érez un résumé à la fin de la conversation à envoyer au client par e-mail avec les étapes suivantes ou suivez à une date ultérieure.
  • Ajoutez un agent virtuel Power (PVA) dans un canal de conversation Azure Communication Services avec un bot Azure et un bot relais.
  • Configurez un bot pour qu’il s’exécute sur un ou plusieurs canaux sociaux en même temps que le canal chat.

Diagram showing Azure Communication Services can be paired with Azure AI services.

Types de messages

Dans le cadre de l’historique des messages, Chat partage les messages générés par l’utilisateur et les messages générés par le système.

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

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

Lorsque vous appelez List Messages ou Get Messages sur un thread de conversation, le résultat contient les deux types de messages dans l’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 prend par défaut le text type. La définition de cette valeur est importante lors de l’envoi de code HTML. Lorsqu’il html est spécifié, Communication Services nettoie le contenu pour s’assurer qu’il est rendu 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 ont été ajoutés au 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 du thread a été mis à jour.

Notifications en temps réel

Le Kit de développement logiciel (SDK) JavaScript Chat 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 thread de conversation.
  • chatThreadDeleted - lorsqu’un utilisateur Communication Services supprime un thread 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 lorsqu’un message est envoyé et lorsqu’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 serveur.

Notifications Push

Les sdk Android et iOS Chat prennent en charge les notifications Push. Pour envoyer des notifications Push pour les messages manqués par vos utilisateurs lorsqu’ils étaient absents, connectez une ressource Notification Hub avec la ressource Communication Services pour envoyer des notifications Push. Cela avertira les utilisateurs de votre application sur les conversations et messages entrants lorsque l’application mobile n’est pas en cours d’exécution au premier plan.

IoS et Android SDK prennent en charge l’événement ci-dessous :

  • chatMessageReceived : lorsqu’un nouveau message est envoyé à un fil de conversation par un participant.

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

  • chatMessageEdited : lorsqu’un message est modifié dans un fil de conversation.
  • chatMessageDeleted : lorsqu’un message est supprimé d’un fil de conversation.
  • chatThreadCreated - lorsqu’un utilisateur Communication Services crée un thread de conversation.
  • chatThreadDeleted - lorsqu’un utilisateur Communication Services supprime un thread 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.

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

Les documents suivants peuvent vous intéresser :