Ações de cartãoCard actions

Os cartões usados por bots e extensões de mensagens no Microsoft Teams dão suporte aos seguintes tipos de atividade ( CardAction ).Cards used by bots and messaging extensions in Teams support the following activity (CardAction) types. Observe que essas ações diferem de potentialActions cartões conectores do Office 365 quando usadas de conectores.Note that these actions differ from potentialActions for Office 365 Connector cards when used from Connectors.

TipoType ActionAction
openUrl Abre uma URL no navegador padrão.Opens a URL in the default browser.
messageBack Envia uma mensagem e uma carga para o bot (do usuário que clicou no botão ou tocou no cartão) e envia uma mensagem separada para o fluxo de chat.Sends a message and payload to the bot (from the user who clicked the button or tapped the card) and sends a separate message to the chat stream.
imBack Envia uma mensagem para o bot (do usuário que clicou no botão ou tocou no cartão).Sends a message to the bot (from the user who clicked the button or tapped the card). Esta mensagem (de usuário para bot) fica visível para todos os participantes da conversa.This message (from user to bot) is visible to all conversation participants.
invoke Envia uma mensagem e uma carga para o bot (do usuário que clicou no botão ou tocou no cartão).Sends a message and payload to the bot (from the user who clicked the button or tapped the card). Esta mensagem não está visível.This message is not visible.
signin Inicia o fluxo do OAuth, permitindo que os bots se conectem com serviços seguros.Initiates OAuth flow, allowing bots to connect with secure services.

Observação

  • O Microsoft Teams não dá suporte CardAction a tipos não listados na tabela anterior.Teams does not support CardAction types not listed in the preceding table.
  • O Microsoft Teams não oferece suporte à potentialActions propriedade.Teams does not support the potentialActions property.
  • As ações do cartão são diferentes das ações sugeridas no serviço bot Framework/Azure bot.Card actions are different than suggested actions in Bot Framework/Azure Bot Service. As ações sugeridas não são suportadas no Microsoft Teams: se você deseja que os botões apareçam em uma mensagem do bot do Teams, use um cartão.Suggested actions are not supported in Microsoft Teams: if you want buttons to appear on a Teams bot message, use a card.
  • Se você estiver usando uma ação de cartão como parte de uma extensão de mensagens, as ações não funcionarão até que o cartão seja enviado para o canal (eles não funcionarão enquanto o cartão estiver na caixa de mensagem de composição).If you're using a card action as part of a messaging extension, the actions will be not work until the card is submitted to the channel (they will not work while the card is in the compose message box).

O Microsoft Teams também oferece suporte a ações de cartões adaptáveis, que são usados apenas por cartões adaptáveis.Teams also supports Adaptive Cards actions, which are only used by Adaptive Cards. Essas ações estão listadas em suas próprias seções no final desta referência.These actions are listed in their own section at the end of this reference.

openUrlopenUrl

Este tipo de ação especifica uma URL a ser iniciada no navegador padrão.This action type specifies a URL to launch in the default browser. Observe que seu bot não recebe qualquer aviso em que botão foi clicado.Note that your bot does not receive any notice on which button was clicked.

O value campo deve conter uma URL completa e corretamente formada.The value field must contain a full and properly formed URL.

{
    "type": "openUrl",
    "title": "Tabs in Teams",
    "value": "https://msdn.microsoft.com/microsoft-teams/tabs"
}

messageBackmessageBack

Com messageBack o, você pode criar uma ação totalmente personalizada com as seguintes propriedades:With messageBack, you can create a fully customized action with the following properties:

PropriedadeProperty DescriçãoDescription
title Aparece como o rótulo do botão.Appears as the button label.
displayText Opcional.Optional. Ecoado pelo usuário para o fluxo de chat quando a ação é executada.Echoed by the user into the chat stream when the action is performed. Este texto não é enviado ao bot.This text is not sent to your bot.
value Enviado ao bot quando a ação é executada.Sent to your bot when the action is performed. Você pode codificar o contexto da ação, como identificadores exclusivos ou um objeto JSON.You can encode context for the action, such as unique identifiers or a JSON object.
text Enviado ao bot quando a ação é executada.Sent to your bot when the action is performed. Use esta propriedade para simplificar o desenvolvimento de bot: seu código pode verificar uma única propriedade de nível superior para a lógica de bot de expedição.Use this property to simplify bot development: Your code can check a single top-level property to dispatch bot logic.

A flexibilidade do messageBack significa que o código pode optar por não deixar uma mensagem de usuário visível no histórico simplesmente não usando displayText .The flexibility of messageBack means that your code can choose not to leave a visible user message in the history simply by not using displayText.

{
  "buttons": [
    {
    "type": "messageBack",
    "title": "My MessageBack button",
    "displayText": "I clicked this button",
    "text": "User just clicked the MessageBack button",
    "value": "{\"property\": \"propertyValue\" }"
    }
  ]
}

A value propriedade pode ser uma cadeia de caracteres JSON serializada ou um objeto JSON.The value property can be either a serialized JSON string or a JSON object.

Exemplo de mensagem de entradaInbound message example

replyToIdcontém a ID da mensagem da qual a ação do cartão veio.replyToId contains the ID of the message that the card action came from. Use-o se você quiser atualizar a mensagem.Use it if you want to update the message.

{
   "text":"User just clicked the MessageBack button",
   "value":{
      "property":"propertyValue"
   },
   "type":"message",
   "timestamp":"2017-06-22T22:38:47.407Z",
   "id":"f:5261769396935243054",
   "channelId":"msteams",
   "serviceUrl":"https://smba.trafficmanager.net/amer-client-ss.msg/",
   "from":{
      "id":"29:102jd210jd010icsoaeclaejcoa9ue09u",
      "name":"John Smith"
   },
   "conversation":{
      "id":"19:malejcou081i20ojmlcau0@thread.skype;messageid=1498171086622"
   },
   "recipient":{
      "id":"28:76096e45-119f-4736-859c-6dfff54395f7",
      "name":"MyBot"
   },
   "entities":[
      {
        "locale": "en-US",
        "country": "US",
        "platform": "Windows",
        "timezone": "America/Los_Angeles",
        "type": "clientInfo" 
      }
   ],
   "channelData":{
      "channel":{
         "id":"19:malejcou081i20ojmlcau0@thread.skype"
      },
      "team":{
         "id":"19:12d021jdoijsaeoaue0u@thread.skype"
      },
      "tenant":{
         "id":"bec8e231-67ad-484e-87f4-3e5438390a77"
      }
   },
        "replyToId": "1575667808184",
}

FailbackimBack

Esta ação dispara uma mensagem de retorno ao bot, como se o usuário a tivesse digitado em uma mensagem de chat normal.This action triggers a return message to your bot, as if the user typed it in a normal chat message. O usuário e todos os outros usuários se estiverem em um canal, verá essa resposta de botão.Your user, and all other users if in a channel, will see that button response.

O value campo deve conter a cadeia de caracteres de texto ecoada no chat e, portanto, enviada de volta para o bot.The value field should contain the text string echoed in the chat and therefore sent back to the bot. Este é o texto da mensagem que será processado no bot para executar a lógica desejada.This is the message text you will process in your bot to perform the desired logic. Observação: Este campo é uma cadeia de caracteres simples – não há suporte para formatação ou caracteres ocultos.Note: this field is a simple string - there is no support for formatting or hidden characters.

{
    "type": "imBack",
    "title": "More",
    "value": "Show me more"
}

Ativeinvoke

A invoke ação é usada para invocar módulos de tarefa.The invoke action is used for invoking task modules.

A invoke ação contém três propriedades: type , title e value .The invoke action contains three properties: type, title, and value. A value propriedade pode conter uma cadeia de caracteres, um objeto JSON em formato ou um objeto JSON.The value property can contain a string, a stringified JSON object, or a JSON object.

{
    "type": "invoke",
    "title": "Option 1",
    "value": {
        "option": "opt1"
    }
}

Quando um usuário clica no botão, seu bot receberá o value objeto com algumas informações adicionais.When a user clicks the button, your bot will receive the value object with some additional info. Observe que o tipo de atividade será invoke em vez de message ( activity.Type == "invoke" ).Please note that the activity type will be invoke instead of message (activity.Type == "invoke").

Exemplo: chamar definição de botão (.NET)Example: Invoke button definition (.NET)

var button = new CardAction()
{
    Title = "Option 1",
    Type = "invoke",
    Value = "{\"option\": \"opt1\"}"
};

Exemplo: mensagem de invocação de entradaExample: Incoming invoke message

A propriedade de nível superior replyToId contém a ID da mensagem da qual a ação do cartão veio.The top-level replyToId property contains the ID of the message that the card action came from. Use-o se você quiser atualizar a mensagem.Use it if you want to update the message.

{
    "type": "invoke",
    "value": {
        "option": "opt1"
    },
    "timestamp": "2017-02-10T04:11:19.614Z",
    "localTimestamp": "2017-02-09T21:11:19.614-07:00",
    "id": "f:6894910862892785420",
    "channelId": "msteams",
    "serviceUrl": "https://smba.trafficmanager.net/amer-client-ss.msg/",
    "from": {
        "id": "29:1Eniglq0-uVL83xNB9GU6w_G5a4SZF0gcJLprZzhtEbel21G_5h-
    NgoprRw45mP0AXUIZVeqrsIHSYV4ntgfVJQ",
        "name": "John Doe"
    },
    "conversation": {
        "id": "19:97b1ec61-45bf-453c-9059-6e8984e0cef4_8d88f59b-ae61-4300-bec0-caace7d28446@unq.gbl.spaces"
    },
    "recipient": {
        "id": "28:8d88f59b-ae61-4300-bec0-caace7d28446",
        "name": "MyBot"
    },
    "entities": [
        {
            "locale": "en-US",
            "country": "US",
            "platform": "Web",
            "type": "clientInfo"
        }
    ],
    "channelData": {
        "channel": {
            "id": "19:dc5ba12695be4eb7bf457cad6b4709eb@thread.skype"
        },
        "team": {
            "id": "19:712c61d0ef384e5fa681ba90ca943398@thread.skype"
        },
        "tenant": {
            "id": "72f988bf-86f1-41af-91ab-2d7cd011db47"
        }
    },
    "replyToId": "1575667808184"
}

SignInsignin

Inicia um fluxo OAuth, permitindo que os bots se conectem com serviços seguros, conforme descrito em mais detalhes aqui: fluxo de autenticação em bots.Initiates an OAuth flow, allowing bots to connect with secure services, as described in more detail here: Authentication flow in bots.

Ações de cartões adaptáveisAdaptive Cards actions

Os cartões adaptáveis dão suporte a três tipos de ação:Adaptive Cards support three action types:

Além das ações mencionadas acima, você pode modificar a carga de cartão adaptável Action.Submit para dar suporte a ações da estrutura de bot existentes usando uma msteams propriedade no data objeto of Action.Submit .In addition to the actions mentioned above, you can modify the Adaptive Card Action.Submit payload to support existing Bot Framework actions using a msteams property in the data object of Action.Submit. As seções abaixo detalham como usar ações da estrutura de bot existentes com cartões adaptáveis.The below sections detail how to use existing Bot Framework actions with Adaptive Cards.

Cartões adaptáveis com ação messageBackAdaptive Cards with messageBack action

Para incluir uma messageBack ação com um cartão adaptável, inclua os seguintes detalhes no msteams objeto.To include a messageBack action with an Adaptive Card include the following details in the msteams object. Observe que você pode incluir propriedades ocultas adicionais no data objeto, se necessário.Note that you can include additional hidden properties in the data object if needed.

PropriedadeProperty DescriçãoDescription
type Definido comomessageBackSet to messageBack
displayText Opcional.Optional. Ecoado pelo usuário para o fluxo de chat quando a ação é executada.Echoed by the user into the chat stream when the action is performed. Este texto não é enviado ao bot.This text is not sent to your bot.
value Enviado ao bot quando a ação é executada.Sent to your bot when the action is performed. Você pode codificar o contexto da ação, como identificadores exclusivos ou um objeto JSON.You can encode context for the action, such as unique identifiers or a JSON object.
text Enviado ao bot quando a ação é executada.Sent to your bot when the action is performed. Use esta propriedade para simplificar o desenvolvimento de bot: seu código pode verificar uma única propriedade de nível superior para a lógica de bot de expedição.Use this property to simplify bot development: Your code can check a single top-level property to dispatch bot logic.

ExemploExample

{
  "type": "Action.Submit",
  "title": "Click me for messageBack",
  "data": {
    "msteams": {
        "type": "messageBack",
        "displayText": "I clicked this button",
        "text": "text to bots",
        "value": "{\"bfKey\": \"bfVal\", \"conflictKey\": \"from value\"}"
    }
  }
}

Cartões adaptáveis com ação de inversãoAdaptive Cards with imBack action

Para incluir uma imBack ação com um cartão adaptável, inclua os seguintes detalhes no msteams objeto.To include a imBack action with an Adaptive Card include the following details in the msteams object. Observe que você pode incluir propriedades ocultas adicionais no data objeto, se necessário.Note that you can include additional hidden properties in the data object if needed.

PropriedadeProperty DescriçãoDescription
type Definido comoimBackSet to imBack
value Cadeia de caracteres que precisa ser ecoada de volta no chatString that needs to be echoed back in the chat

ExemploExample

{
  "type": "Action.Submit",
  "title": "Click me for imBack",
  "data": {
    "msteams": {
        "type": "imBack",
        "value": "Text to reply in chat"
    }
  }
}

Cartões adaptáveis com ação de entradaAdaptive Cards with signin action

Para incluir uma signin ação com um cartão adaptável, inclua os seguintes detalhes no msteams objeto.To include a signin action with an Adaptive Card include the following details in the msteams object. Observe que você pode incluir propriedades ocultas adicionais no data objeto, se necessário.Note that you can include additional hidden properties in the data object if needed.

PropriedadeProperty DescriçãoDescription
type Definido comosigninSet to signin
value Defina como a URL para a qual você deseja redirecionarSet to the URL that you want to redirect to

ExemploExample

{
  "type": "Action.Submit",
  "title": "Click me for signin",
  "data": {
    "msteams": {
        "type": "signin",
        "value": "https://signin.com"
    }
  }
}