Partager vos commentaires:
Nous aimerions que vos commentaires se rapportent à la documentation des développeurs Microsoft Teams. Veuillez répondre à notre courte enquête sur trois questions.Répondre à l’enquête
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Les cartes utilisées par les bots et les extensions de message dans Microsoft Teams prennent en charge les types d’activité CardAction suivants :
Notes
Les CardAction actions diffèrent de pour les cartes de potentialActions connecteur pour Groupes Microsoft 365 lorsqu’elles sont utilisées à partir de connecteurs.
Type
Action
openUrl
Ouvre une URL dans le navigateur par défaut.
messageBack
Envoie un message et une charge utile au bot à partir de l’utilisateur qui a sélectionné le bouton ou appuyé sur la carte. Envoie un message distinct au flux de conversation.
imBack
Envoie un message au bot à partir de l’utilisateur qui a sélectionné le bouton ou appuyé sur la carte. Ce message de l’utilisateur au bot est visible par tous les participants à la conversation.
invoke
Envoie un message et une charge utile au bot à partir de l’utilisateur qui a sélectionné le bouton ou appuyé sur la carte. Ce message n’est pas visible.
signin
Lance le flux OAuth, ce qui permet aux bots de se connecter avec des services sécurisés.
Notes
Teams ne prend pas en charge CardAction types non répertoriés dans le tableau précédent.
Teams ne prend pas en charge la propriété potentialActions.
Les actions de carte sont différentes de actions suggérées dans Bot Framework ou Azure Bot Service.
Si vous utilisez une action de carte dans le cadre d’une extension de message, les actions ne fonctionnent pas tant que la carte n’est pas envoyée au canal. Les actions ne fonctionnent pas lorsque la carte se trouve dans la zone de rédaction du message.
Type d’action openUrl
openUrl type d’action spécifie une URL à lancer dans le navigateur par défaut.
Notes
Votre bot ne reçoit aucune notification sur le bouton sélectionné.
Les URL ne prennent pas en charge les noms de machine qui incluent des nombres. Par exemple, un nom d’hôte tel que userhostname123 n’est pas pris en charge.
Avec openUrl, vous pouvez créer une action avec les propriétés suivantes :
Propriété
Description
title
Apparaît en tant qu’étiquette de bouton.
value
Ce champ doit contenir une URL complète et correctement formée.
Avec messageBack, vous pouvez créer une action entièrement personnalisée avec les propriétés suivantes :
Propriété
Description
title
Apparaît en tant qu’étiquette de bouton.
displayText
Facultatif. Utilisé par l’utilisateur dans le flux de conversation lorsque l’action est effectuée. Ce texte n’est pas envoyé à votre bot.
value
Envoyé à votre bot lorsque l’action est effectuée. Vous pouvez encoder le contexte de l’action, par exemple des identificateurs uniques ou un objet JSON.
text
Envoyé à votre bot lorsque l’action est effectuée. Utilisez cette propriété pour simplifier le développement de bots. Votre code peut vérifier une seule propriété de niveau supérieur pour distribuer la logique du bot.
La flexibilité de messageBack signifie que votre code ne peut pas laisser un message utilisateur visible dans l’historique simplement en n’utilisant displayTextpas .
Le code suivant montre un exemple de type d’action messageBack au format JSON :
JSON
{
"buttons": [
{
"type": "messageBack",
"title": "My MessageBack button",
"displayText": "I clicked this button",
"text": "User just clicked the MessageBack button",
"value": "{\"property\": \"propertyValue\" }"
}
]
}
La propriété value peut être une chaîne JSON sérialisée ou un objet JSON.
Le code suivant montre un exemple de type d’action messageBack en C# :
C#
var button = new CardAction()
{
Type = ActionTypes.MessageBack,
Title = "My MessageBack button",
DisplayText = "I clicked this button",
Text = "User just clicked the MessageBack button",
Value = "{\"property\": \"propertyValue\" }"
};
Le code suivant montre un exemple de type d’action messageBack en JavaScript :
JavaScript
CardFactory.actions([
{
type: 'messageBack',
title: "My MessageBack button",
displayText: "I clicked this button",
text: "User just clicked the MessageBack button",
value: {property: "propertyValue" }
}])
Exemple de message entrant
replyToId contient l’ID du message d’où provient l’action de carte. Utilisez-le si vous souhaitez mettre à jour le message.
Le code suivant montre un exemple de message entrant :
L’action imBack déclenche un message de retour à votre bot, comme si l’utilisateur l’avait tapé dans un message de conversation normal. Votre utilisateur et tous les autres utilisateurs d’un canal peuvent voir la réponse du bouton.
Avec imBack, vous pouvez créer une action avec les propriétés suivantes :
Propriété
Description
title
Apparaît en tant qu’étiquette de bouton.
value
Ce champ doit contenir la chaîne de texte utilisée dans la conversation et, par conséquent, renvoyée au bot. Il s’agit du texte du message que vous traitez dans votre bot pour exécuter la logique souhaitée.
Notes
Le champ value est une chaîne simple. Il n’existe aucune prise en charge de la mise en forme ou des caractères masqués.
La propriété replyToId de niveau supérieur contient l’ID du message d’où provient l’action de carte. Utilisez-le si vous souhaitez mettre à jour le message.
Le code suivant montre un exemple de message d’appel entrant :
signin type d’action lance un flux OAuth qui permet aux bots de se connecter à des services sécurisés. Pour plus d’informations, consultez flux d’authentification dans les bots.
Teams prend également en charge Cartes adaptatives actions qui sont utilisées uniquement par Cartes adaptatives.
Action.Submit : envoie le résultat de l’action d’envoi au bot.
Action.ShowCard : appelle une boîte de dialogue et affiche la sous-carte dans cette boîte de dialogue. Vous devez uniquement gérer cela si ShowCardActionMode est défini sur popup.
Action.Execute : collecte les champs d’entrée, fusionne avec le champ de données facultatif et envoie un événement au client.
Action.ResetInputs : réinitialise les valeurs des entrées dans une carte adaptative.
Action.Submit
Action.Submit type est utilisé pour collecter l’entrée, combiner les data propriétés et envoyer un événement au bot. Lorsqu’un utilisateur sélectionne l’action d’envoi, Teams envoie une activité de message au bot, qui inclut l’entrée de l’utilisateur dans des paires clé-valeur pour tous les champs d’entrée et les données masquées définies dans la charge utile carte.
Dans le schéma de carte adaptative, la data propriété pour Action.Submit est un string ou un object. Une action d’envoi se comporte différemment pour chaque propriété de données :
string: une action d’envoi de chaîne envoie automatiquement un message de l’utilisateur au bot et est visible dans l’historique des conversations.
object: une action d’envoi d’objet envoie automatiquement un message invisible de l’utilisateur au bot qui contient des données masquées. Une action d’envoi d’objet remplit la propriété value de l’activité alors que la propriété text est vide.
Action.Submit équivaut aux actions Bot Framework. Vous pouvez également modifier la charge utile Action.Submit carte adaptative pour prendre en charge les actions de Bot Framework existantes à l’aide d’une propriété msteams dans l’objet data de Action.Submit. Lorsque vous définissez la msteams propriété sous data, le client Teams définit le comportement de Action.Submit. Si la msteams propriété n’est pas définie dans le schéma, Action.Submit fonctionne comme une action d’appel Bot Framework standard, où l’action d’envoi déclenche un appel d’appel au bot et le bot reçoit la charge utile avec toutes les valeurs d’entrée définies dans les champs d’entrée.
Notes
Le bot ne reçoit pas d’entrée utilisateur, sauf si l’utilisateur envoie ses actions dans la carte adaptative via un bouton, tel que Enregistrer ou Envoyer. Par exemple, le bot ne considère pas les actions de l’utilisateur, telles que la sélection d’une option à partir de plusieurs choix ou le remplissage de champs dans un formulaire, sauf si l’utilisateur les envoie.
L’ajout msteams à des données avec une action Bot Framework ne fonctionne pas avec une boîte de dialogue carte adaptative.
Le principal ou destructeur ActionStyle n’est pas pris en charge dans Teams.
Votre application dispose de cinq secondes pour répondre au message d’appel.
Exemple
Voici un exemple de Action.Submit charge utile carte :
La charge utile se compose d’un champ "id": "text-1" d’entrée de texte et d’une charge utile "hiddenKey": 123.45de données masquée.
Voici un exemple d’activité entrante dans un bot lorsque l’utilisateur tape quelque chose dans le champ d’entrée et sélectionne Envoyer. L’attribut value inclut l’entrée de l’utilisateur dans la text-1 propriété et une charge utile de données masquée dans la hiddenKey propriété :
Vous pouvez utiliser la conditionallyEnabled propriété pour désactiver les boutons d’action jusqu’à ce que l’utilisateur modifie la valeur d’au moins une des entrées requises. Cette propriété ne peut être utilisée qu’avec Action.Submit les actions et Action.Execute . Pour un bouton activé de manière conditionnelle, si la isEnabled propriété est définie sur false, les actions sont désactivées quelle que soit l’entrée.
Voici comment la conditionallyEnabled propriété est définie :
Propriété
Type
Requis
Description
conditionallyEnabled
Boolean
✔️
Contrôle si l’action est activée uniquement si au moins une entrée requise a été remplie par l’utilisateur.
La charge utile carte suivante affiche un bouton activé de manière conditionnelle :
Vous pouvez générer des commentaires sur la saisie semi-automatique des formulaires à l’aide d’une carte adaptative. Le message de saisie semi-automatique du formulaire s’affiche dans cartes adaptatives lors de l’envoi d’une réponse au bot. Le message peut être de deux types, erreur ou réussite :
Erreur : Lorsqu’une réponse envoyée au bot échoue, un problème s’est produit, le message Réessayer s’affiche. L’erreur se produit pour diverses raisons, telles que :
Trop de demandes
Plusieurs opérations simultanées sur la même conversation
Problème de dépendance de service
Dépassement du délai de la passerelle (Gateway Timeout)
Réussite : lorsqu’une réponse envoyée au bot réussit, votre réponse a été envoyée au message de l’application s’affiche .
Vous pouvez sélectionner Fermer ou basculer la conversation pour ignorer le message.
Si vous ne souhaitez pas afficher le message de réussite, définissez l’attribut hidetrue sur dans la msTeamsfeedback propriété . Voici un exemple :
Pour plus d’informations sur les cartes et les cartes dans les bots, consultez la documentation sur les cartes.
Cartes adaptatives avec l’action messageBack
Pour inclure une messageBack action avec une carte adaptative, incluez les détails suivants dans l’objet msteams :
Notes
Vous pouvez inclure des propriétés masquées supplémentaires dans l’objet data, si nécessaire.
Propriété
Description
type
Défini sur messageBack.
displayText
Facultatif. Utilisé par l’utilisateur dans le flux de conversation lorsque l’action est effectuée. Ce texte n’est pas envoyé à votre bot.
value
Envoyé à votre bot lorsque l’action est effectuée. Vous pouvez encoder le contexte de l’action, par exemple des identificateurs uniques ou un objet JSON.
text
Envoyé à votre bot lorsque l’action est effectuée. Utilisez cette propriété pour simplifier le développement de bots. Votre code peut vérifier une seule propriété de niveau supérieur pour distribuer la logique du bot.
Le code suivant montre un exemple de Cartes adaptatives avec messageBack action :
JSON
{
"type": "Action.Submit",
"title": "Click me for messageBack",
"data": {
"msteams": {
"type": "messageBack",
"displayText": "I clicked this button",
"text": "text to bots",
"value": "{\"bfKey\": \"bfVal\", \"conflictKey\": \"from value\"}"
}
}
}
Cartes adaptatives avec l’action imBack
Pour inclure une imBack action avec une carte adaptative, incluez les détails suivants dans l’objet msteams :
Notes
Le value champ est une chaîne simple qui ne prend pas en charge la mise en forme ou les caractères masqués.
Propriété
Description
type
Défini sur imBack.
value
Chaîne qui doit être renvoyée dans la conversation.
Le code suivant montre un exemple de Cartes adaptatives avec imBack action :
JSON
{
"type": "Action.Submit",
"title": "Click me for imBack",
"data": {
"msteams": {
"type": "imBack",
"value": "Text to reply in chat"
}
}
}
Cartes adaptatives avec action de connexion
Pour inclure une signin action avec une carte adaptative, incluez les détails suivants dans l’objet msteams :
Notes
Vous pouvez inclure des propriétés masquées supplémentaires dans l’objet data, si nécessaire.
Propriété
Description
type
Défini sur signin.
value
Définissez l’URL vers laquelle vous souhaitez rediriger.
Le code suivant montre un exemple de Cartes adaptatives avec signin action :
JSON
{
"type": "Action.Submit",
"title": "Click me for signin",
"data": {
"msteams": {
"type": "signin",
"value": "https://signin.com"
}
}
}
Cartes adaptatives avec action d’appel
Pour inclure une invoke action avec une carte adaptative, incluez les détails suivants dans l’objet msteams :
Notes
Vous pouvez inclure des propriétés masquées supplémentaires dans l’objet data, si nécessaire.
Propriété
Description
type
Défini sur task/fetch.
data
Définissez la valeur.
Le code suivant montre un exemple de Cartes adaptatives avec invoke action :
Présente tous les types carte, y compris les miniatures, l’audio, les médias, etc. S’appuie sur l’utilisateur accueillant + bot multi-invite en présentant un carte avec des boutons dans le message d’accueil qui acheminent vers la boîte de dialogue appropriée.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur Platform Docs
Platform Docs est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Les cartes adaptatives sont des extraits d’interface utilisateur, libres de toute contrainte technologique, créés dans un format texte JSON, que les applications et les services peuvent éditer de façon libre. Lorsqu’il est envoyé vers une application spécifique, le JSON est transformé en interface utilisateur native qui s’adapte automatiquement à son environnement. Il permet de concevoir et d’intégrer une interface utilisateur non activable pour toutes les principales plateformes et infrastructures. Dans ce
Découvrez les dispositions de conteneur dans les cartes adaptatives, notamment Layout.Flow, Layout.AreaGrid et Layout.Stack, pour créer des conceptions carte réactives et flexibles.
Découvrez les actions universelles pour les cartes adaptatives, telles que les vues spécifiques à l’utilisateur, la prise en charge des flux de travail séquentiels et bien plus encore pour les environnements de bureau et mobiles
Dans ce module, découvrez quelles sont les cartes et les actions carte disponibles pour les bots dans Teams et créez un héros, une miniature et des cartes adaptatives.
Découvrez les vues de carte à jour dans carte adaptative dans Teams avec des exemples de code et une carte de base d’approbation avec des boutons d’approbation ou de rejet.
Découvrez les flux de travail séquentiels pour les cartes adaptatives à l’aide d’actions universelles avec des exemples de code, la demande d’appel reçue côté bot et la réponse de carte adaptative.
Dans ce module, découvrez les vues spécifiques à l’utilisateur à l’aide d’actions universelles avec exemple de code et adaptiveCard/action invoke response card
Découvrez carte mise en forme de texte avec Markdown et HTML, comment concevoir des cartes adaptatives réactives et d’autres éléments pour créer des cartes adaptatives actionnables.
Découvrez comment les fichiers multimédias sont ajoutés et pris en charge dans la carte adaptative et prennent en charge la consommation directement dans la carte adaptative Teams.