Combiner des bots avec des onglets

Importante

Cet article est basé sur le Kit de développement logiciel (SDK) Bot Framework v3. Si vous recherchez la documentation actuelle version 4.6 ou ultérieure du Kit de développement logiciel (SDK), consultez la section Bots conversationnels .

Les bots et les onglets fonctionnent ensemble et sont souvent combinés en un seul service principal. Cette section décrit les meilleures pratiques et les modèles courants pour l’utilisation des onglets et des bots ensemble.

Association d’identités utilisateur entre le bot et l’onglet

Par exemple : supposons que votre application d’onglet utilise un système d’ID propriétaire pour sécuriser son contenu. Supposons que vous disposez également d’un bot qui peut interagir avec l’utilisateur. En règle générale, vous souhaitez afficher le contenu dans l’onglet qui est spécifique à l’utilisateur qui affiche. Le défi est que l’ID d’utilisateur dans votre système est probablement différent de l’ID utilisateur Microsoft Teams. Comment associez-vous ces deux identités ? En général, l’approche recommandée consiste à connecter l’utilisateur avec le bot à l’aide du même système d’identité que celui utilisé pour fournir l’authentification pour le contenu de l’onglet. Vous pouvez implémenter via l’action de connexion, qui connecte généralement l’utilisateur via un flux OAuth.

Ce flux fonctionne mieux si votre fournisseur d’identité implémente le protocole OAuth 2.0. Vous pouvez ensuite associer l’ID utilisateur Teams aux informations d’identification de l’utilisateur à partir de votre propre service d’identité.

Capture d’écran montrant l’association d’identités.

Vous souhaitez utiliser des onglets pour afficher davantage de contenu pouvant tenir à l’intérieur d’un carte, ou fournir un moyen d’effectuer des tâches complexes de remplissage de formulaire à l’aide du canevas d’onglet. Par exemple, envisagez de naviguer vers l’onglet lorsque l’utilisateur sélectionne le carte à partir de votre bot. Pour ce faire, vous devez encoder le message de votre bot pour inclure une URL de lien profond , via le balisage ou en tant que cible de l’action openUrl.

Les liens profonds s’appuient sur un entityId, qui est une valeur opaque qui correspond à une entité unique dans votre système. Lorsque l’onglet est créé, vous stockez un état simple. Par exemple, l’indicateur sur votre back-end indiquant que l’onglet est créé dans le canal. Lorsque votre bot construit un message, il peut cibler l’entityId associé à cet onglet.

Remarque

Dans les conversations personnelles, étant donné que les onglets sont statiques et installés avec l’application, vous pouvez toujours supposer leur existence et ainsi construire des liens profonds en conséquence.

Envoi de notifications pour les mises à jour d’onglet

Souvent, vous souhaiterez avertir l’utilisateur final chaque fois qu’une mise à jour ou une action de l’utilisateur se produit dans un onglet. Un exemple de scénario est l’attribution d’une tâche ou d’un ticket à un autre membre de l’équipe, puis la notification de ce membre de l’équipe.

Il existe deux façons de réaliser ce scénario :

  1. Si vous souhaitez notifier un canal entier, votre bot peut publier de façon asynchrone un message sur le canal. Il n’existe aucun moyen pour un bot de créer de manière proactive la conversation d’onglet si elle n’a pas été créée avec l’onglet.

  2. Si vous souhaitez informer uniquement le destinataire ou les parties intéressées impliquées dans l’action, votre bot peut envoyer un message de conversation personnel à l’utilisateur. Vous devez d’abord case activée pour voir s’il existe une conversation personnelle entre votre bot et l’utilisateur. Si ce n’est pas le cas, vous pouvez appeler CreateConversation pour lancer la conversation personnelle.

Dans les deux cas, utilisez les notifications d’événements à bon escient et ne courrierez jamais l’utilisateur avec des mises à jour inutiles.

Voir aussi

Ajouter des guides pratiques à l’application Microsoft Teams