Sequenzielle Workflows
Adaptive Karten unterstützen jetzt sequenzielle Workflows, die bei Benutzeraktionen aktualisiert werden. Mithilfe von sequenziellen Workflows werden adaptive Karten bei Benutzeraktionen aktualisiert, und der Benutzer kann eine Reihe von Karten durchlaufen, die eine Benutzereingabe erfordern.
Action.Execute
unterstützt sequenzielle Workflows, mit denen Botentwickler adaptive Karten als Reaktion auf eine Benutzeraktion zurückgeben können.
Nehmen Sie beispielsweise ein Szenario, in dem die Cafeteria eine Bestellung für ein Team oder einen Kanal annehmen möchte. Mit Action.Execute
der Auswahl des Benutzers für verschiedene Elemente, wie z. B. Speisen und Getränke, kann sequenziell aufgezeichnet werden. Der Benutzer kann auch die Karten gemäß der vom Botentwickler definierten Logik durchlaufen.
Die folgende Abbildung zeigt den sequenziellen Workflow:
Ein Benutzer kann seinen Workflow durchlaufen, ohne die Karte für andere Benutzer zu ändern. Der Workflow ist auch nützlich für die Durchführung von Quizzes mit sequenziellen adaptiven Karten. Die folgende Abbildung zeigt, dass sich unterschiedliche Benutzer in verschiedenen Phasen des Workflows und Zuständen der Karte befinden können:
Hinweis
Um den Fortschritt des Benutzers geräteübergreifend zu synchronisieren, verwenden Sie die refresh
-Eigenschaft in JSON für adaptive Karten.
Sequenzieller Workflow für adaptive Karten
Der folgende Code enthält ein Beispiel für adaptive Karten:
{
"$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
Durch aufrufen des Bots können adaptive Karten als Antwort zurückgegeben werden, wodurch die vorhandene Karte in Teams ersetzt wird.
Das folgende Beispiel zeigt, was der Bot bei der Auswahl von Speisen oder Getränken oder auf einer Bestellbestätigung zurückgibt:
- Auf der Essensauswahl von Karte 1 kann bot eine Karte für die Auswahl von Getränken zurückgeben, die Karte 2 ist.
- Bei der Getränkeauswahl aus Karte 2 kann der Bot eine Bestellbestätigungskarte zurückgeben, die Karte 3 ist.
- Bei der Auftragsbestätigung von Karte 3 kann der Bot eine bestellbestätigunge Karte zurückgeben, die Karte 4 ist.
Auf botseitiger Seite empfangene Aufrufanforderung
Der folgende Code enthält ein Beispiel für eine Aufrufanforderung, die auf der Botseite empfangen wurde:
{
"type": "invoke",
"name": "adaptiveCard/action",
// ... other properties omitted for brevity
"value": {
"action": {
"type": "Action.Execute",
"id": "",
"verb": "food",
"data": {
"item": "vegan"
}
},
"trigger": "manual"
}
}
Aufrufen der Antwort zum Zurückgeben adaptiver Karten
Der folgende Code enthält ein Beispiel für eine Aufrufantwort, um adaptive Karten zurückzugeben:
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
});
Codebeispiele
Beispielname | Beschreibung | .NET | Node.js | Manifest |
---|---|---|---|---|
Teams-Catering-Bot | Dieses Beispiel zeigt einen Bot, der Lebensmittelbestellungen mit adaptiven Karten akzeptiert. | View | – | – |
Adaptive Karten für sequenzielle Workflows | In diesem Beispiel wird die Implementierung von sequenziellen Workflows, benutzerspezifischen Ansichten und aktuellen adaptiven Karten in Bots veranschaulicht. | View | View | Anzeigen |