Fluxos de Trabalho Sequenciais
Os cartões adaptáveis agora dão suporte a fluxos de trabalho sequenciais atualizados na ação do usuário. Usando fluxos de trabalho sequenciais, os Cartões Adaptáveis são atualizados na ação do usuário e o usuário pode progredir por meio de uma série de cartões que exigem entrada do usuário. Action.Execute
dá suporte a fluxos de trabalho sequenciais, o que permite que os desenvolvedores de bot retornem Cartões Adaptáveis em resposta a uma ação do usuário.
Por exemplo, veja um cenário em que a cafeteria deseja fazer um pedido para uma equipe ou canal. Com Action.Execute
a escolha do usuário para vários itens, como alimentos e bebidas, pode ser registrado sequencialmente. O usuário também pode ir e voltar pelos cartões de acordo com a lógica definida pelo desenvolvedor do bot.
A imagem a seguir mostra o fluxo de trabalho sequencial:

Um usuário pode progredir por meio de seu fluxo de trabalho sem modificar o cartão para outros usuários. O fluxo de trabalho também é útil para realizar testes usando cartões adaptáveis sequenciais. A imagem a seguir mostra que diferentes usuários podem estar em diferentes estágios do fluxo de trabalho e dos estados do cartão:
Observação
Para sincronizar o progresso do usuário entre dispositivos, use a refresh
propriedade no JSON do Cartão Adaptável.
Fluxo de trabalho sequencial para cartões adaptáveis
O código a seguir fornece um exemplo de Cartões Adaptáveis:
{
"$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
Invocar o bot pode retornar Cartões Adaptáveis como uma resposta, que substitui o cartão existente no Teams.
O exemplo a seguir fornece o que o bot retorna na seleção de alimentos ou bebidas ou confirmação do pedido:
- Na seleção de alimentos do Cartão 1, o bot pode retornar uma cartão para seleção de bebidas que é Cartão 2.
- Na seleção de bebidas do Cartão 2, o bot pode retornar uma cartão de confirmação de pedido que é o Cartão 3.
- Na confirmação do pedido do Cartão 3, o bot pode retornar um pedido confirmado cartão que é o Cartão 4.
Invocar solicitação recebida no lado do bot
O código a seguir fornece um exemplo de uma solicitação de invocação recebida no lado do bot:
{
"type": "invoke",
"name": "adaptiveCard/action",
// ... other properties omitted for brevity
"value": {
"action": {
"type": "Action.Execute",
"id": "",
"verb": "food",
"data": {
"item": "vegan"
}
},
"trigger": "manual"
}
}
Invocar resposta para retornar cartões adaptáveis
O código a seguir fornece um exemplo de uma resposta de invocação para retornar Cartões Adaptáveis:
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
});
Exemplos de código
Nome do exemplo | Descrição | .NET | Node.js | Manifesto |
---|---|---|---|---|
Bot de refeições do Teams | Este exemplo mostra um bot que aceita pedido de comida usando Cartões Adaptáveis. | View | NA | NA |
Cartões Adaptáveis de Fluxos de Trabalho Sequenciais | Este exemplo mostra como implementar fluxos de trabalho sequenciais, exibições específicas do usuário e cartões adaptáveis atualizados em bots. | View | View | Exibir |