Flujos de trabajo secuenciales

Las tarjetas adaptables ahora admiten flujos de trabajo secuenciales que se actualizan en la acción del usuario. Con flujos de trabajo secuenciales, las tarjetas adaptables se actualizan en la acción del usuario y el usuario puede avanzar a través de una serie de tarjetas que requieren la entrada del usuario. Action.Execute admite flujos de trabajo secuenciales, lo que permite a los desarrolladores de bots devolver tarjetas adaptables en respuesta a una acción del usuario.

Por ejemplo, tome un escenario en el que la cafetería quiera realizar un pedido para un equipo o canal. Con Action.Execute la elección del usuario para diversos artículos, como alimentos y bebidas, se puede registrar secuencialmente. El usuario también puede ir y venir a través de las tarjetas según la lógica definida por el desarrollador del bot.

En la imagen siguiente se muestra el flujo de trabajo secuencial:

Flujo de trabajo secuencial

Un usuario puede avanzar a través de su flujo de trabajo sin modificar la tarjeta para otros usuarios. El flujo de trabajo también es útil para realizar cuestionarios mediante tarjetas adaptables secuenciales. En la imagen siguiente se muestran diferentes usuarios que pueden estar en diferentes fases del flujo de trabajo y los estados de la tarjeta:

Estados del bot de catering

Nota:

Para sincronizar el progreso del usuario entre dispositivos, use la refresh propiedad en JSON de tarjeta adaptable.

Flujo de trabajo secuencial para tarjetas adaptables

El código siguiente proporciona un ejemplo de tarjetas adaptables:

{
  "$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 La invocación del bot puede devolver tarjetas adaptables como respuesta, lo que reemplaza a la tarjeta existente en Teams. En el ejemplo siguiente se proporciona lo que devuelve el bot en la selección de alimentos o bebidas o la confirmación del pedido:

  • En la selección de alimentos de la Tarjeta 1, el bot puede devolver una tarjeta para la selección de bebidas que es la Tarjeta 2.
  • En la selección de bebidas de la Tarjeta 2, el bot puede devolver una tarjeta de confirmación de pedido que sea la Tarjeta 3.
  • En la confirmación del pedido de la Tarjeta 3, el bot puede devolver una tarjeta confirmada por pedido que sea la Tarjeta 4.

Invocación de la solicitud recibida en el lado del bot

El código siguiente proporciona un ejemplo de una solicitud de invocación recibida en el bot:

{ 
  "type": "invoke",
  "name": "adaptiveCard/action",

  // ... other properties omitted for brevity

  "value": { 
    "action": { 
      "type": "Action.Execute", 
      "id": "", 
      "verb": "food",
      "data": { 
            "item": "vegan"
      } 
    },
    "trigger": "manual" 
  }
}

Invocación de la respuesta para devolver tarjetas adaptables

El código siguiente proporciona un ejemplo de una respuesta de invocación para devolver tarjetas adaptables:

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
 });

Ejemplos de código

Ejemplo de nombre Descripción .NET Node.js Manifiesto
Bot de servicio de alimentos de Teams En este ejemplo se muestra un bot que acepta el pedido de alimentos mediante tarjetas adaptables. View ND ND
Tarjetas adaptables de flujos de trabajo secuenciales En este ejemplo se muestra la implementación de flujos de trabajo secuenciales, vistas específicas del usuario y tarjetas adaptables actuales en bots. View View Ver

Consulte también