Поделиться через


Последовательные рабочие процессы

Адаптивные карточки теперь поддерживают последовательные рабочие процессы, которые обновляются в соответствии с действиями пользователя. С помощью последовательных рабочих процессов адаптивные карточки обновляются в действиях пользователя, и пользователь может выполнять серию карточек, требующих ввода пользователем. Action.Execute поддерживает последовательные рабочие процессы, что позволяет разработчикам ботов возвращать адаптивные карточки в ответ на действие пользователя.

Например, рассмотрим сценарий, в котором кафетерий хочет принять заказ на команду или канал. При Action.Execute выборе пользователя для различных элементов, таких как еда и напитки, можно записывать последовательно. Пользователь также может проходить через карточки в соответствии с логикой, определенной разработчиком бота.

На следующем рисунке показан последовательный рабочий процесс:

Последовательный рабочий процесс

Пользователь может выполнять свой рабочий процесс, не изменяя карточку для других пользователей. Рабочий процесс также полезен для проведения викторин с помощью последовательных адаптивных карточек. На следующем рисунке показано, как разные пользователи могут находиться на разных этапах рабочего процесса и состояния карточки:

Состояния бота общественного питания

Примечание.

Чтобы синхронизировать ход выполнения пользователя на разных устройствах, используйте refresh свойство в формате JSON адаптивной карточки.

Последовательный рабочий процесс для адаптивных карточек

В следующем коде приведен пример адаптивных карточек:

{
  "$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 Вызов бота может возвращать адаптивные карточки в ответ, что заменяет существующую карточку в Teams. В следующем примере показано, что бот возвращает при выборе продуктов питания или напитках или подтверждении заказа.

  • При выборе продуктов питания из карточки 1, бот может вернуть карту для выбора напитков, которая является Картой 2.
  • При выборе напитка из карточки 2 бот может вернуть карту подтверждения заказа, которая является Картой 3.
  • При подтверждении заказа с карточки 3 бот может вернуть карту с подтверждением заказа, которая является Картой 4.

Вызов запроса, полученного на стороне бота

В следующем коде приведен пример запроса на вызов, полученного на стороне бота:

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

  // ... other properties omitted for brevity

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

Вызов ответа для возврата адаптивных карточек

В следующем коде приведен пример ответа вызова для возврата адаптивных карточек:

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

Примеры кода

Название примера Описание .NET Node.js Манифест
Бот организации питания Teams В этом примере показан бот, который принимает заказ продуктов питания с помощью адаптивных карточек. Просмотр Недоступно Недоступно
Адаптивные карточки последовательных рабочих процессов В этом примере демонстрируется реализация последовательных рабочих процессов, пользовательских представлений и текущих адаптивных карточек в ботах. Просмотр Просмотр Просмотр

См. также