Flux de travail séquentiels
Les cartes adaptatives prennent désormais en charge les flux de travail séquentiels qui sont mis à jour en fonction de l’action de l’utilisateur. À l’aide de flux de travail séquentiels, les cartes adaptatives sont mises à jour sur l’action de l’utilisateur et l’utilisateur peut passer à une série de cartes qui nécessitent une entrée utilisateur. Action.Execute
prend en charge les flux de travail séquentiels, ce qui permet aux développeurs de bots de retourner des cartes adaptatives en réponse à une action de l’utilisateur.
Par exemple, prenons un scénario où la cafétéria souhaite prendre une commande pour une équipe ou un canal. Avec Action.Execute
le choix de l’utilisateur pour divers éléments, tels que les aliments et les boissons peuvent être enregistrés séquentiellement. L’utilisateur peut également parcourir les cartes selon la logique définie par le développeur du bot.
L’image suivante montre le flux de travail séquentiel :
Un utilisateur peut progresser dans son workflow sans modifier les carte pour les autres utilisateurs. Le flux de travail est également utile pour effectuer des questionnaires à l’aide de cartes adaptatives séquentielles. L’image suivante montre que différents utilisateurs peuvent se trouver à différentes étapes du flux de travail et des états du carte :
Remarque
Pour synchroniser la progression de l’utilisateur entre les appareils, utilisez la refresh
propriété dans la carte adaptative JSON.
Flux de travail séquentiel pour les cartes adaptatives
Le code suivant fournit un exemple de cartes adaptatives :
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.4",
"body": [
{
"type": "TextBlock",
"text": "Select from food options"
},
{
"type": "ActionSet",
"actions": [
{
"type": "Action.Execute",
"title": "Chicken",
"verb": "food",
"data": {
"item": "chicken"
}
},
{
"type": "Action.Execute",
"title": "Beef",
"verb": "food",
"data": {
"item": "beef"
}
},
{
"type": "Action.Execute",
"title": "Vegan",
"verb": "food",
"data": {
"item": "vegan"
}
}
]
}
]
}
Action.Execute
l’appel du bot peut retourner des cartes adaptatives en tant que réponse, ce qui remplace les carte existantes dans Teams.
L’exemple suivant fournit ce que le bot retourne lors de la sélection d’aliments ou de boissons ou de la confirmation de commande :
- Sur la sélection d’aliments de la carte 1, le bot peut retourner un carte pour la sélection de boissons qui est carte 2.
- Lors de la sélection de boisson à partir de la carte 2, le bot peut retourner une confirmation de commande carte qui est la carte 3.
- Sur la confirmation de commande de la Carte 3, le bot peut retourner une commande confirmée carte qui est la Carte 4.
Demande d’appel reçue côté bot
Le code suivant fournit un exemple de demande d’appel reçue côté bot :
{
"type": "invoke",
"name": "adaptiveCard/action",
// ... other properties omitted for brevity
"value": {
"action": {
"type": "Action.Execute",
"id": "",
"verb": "food",
"data": {
"item": "vegan"
}
},
"trigger": "manual"
}
}
Appeler la réponse pour retourner des cartes adaptatives
Le code suivant fournit un exemple de réponse d’appel pour retourner des cartes adaptatives :
string cardJson = "<adaptive card json>";
var card = JsonConvert.DeserializeObject(cardJson);
var adaptiveCardResponse = JObject.FromObject(new
{
statusCode = 200,
type = "application/vnd.microsoft.adaptive.card",
value = card
});
Exemples de code
Exemple de nom | Description | .NET | Node.js | Manifeste |
---|---|---|---|---|
Bot de traiteur Teams | Cet exemple montre un bot qui accepte la commande alimentaire à l’aide de cartes adaptatives. | View | N/A | N/A |
Flux de travail séquentiels Cartes adaptatives | Cet exemple illustre l’implémentation des flux de travail séquentiels, des vues spécifiques à l’utilisateur et des cartes adaptatives actuelles dans les bots. | View | View | View |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour