Partilhar via


Elemento AdaptiveCard

Observação

Estás a criar cenários para Copilot, Teams ou Outlook alimentados por Adaptive Cards? Visite o Adaptive Card Documentation Hub, o novo balcão único para todas as suas necessidades de Adaptive Card! Tem todos os recursos que procura, incluindo documentação completa para muitas novas funcionalidades, como layout responsivo, ícone, emblema, carrossel, gráficos e muito mais!

Esta página documenta o AdaptiveCard elemento, que é o elemento raiz de um Cartão Adaptativo.

Nota importante sobre acessibilidade: Na versão 1.3 do esquema introduzimos uma propriedade de rótulo nos Inputs para melhorar a acessibilidade. Se a aplicação Host a que está direcionada suporta v1.3, deve-se usar label em vez de um TextBlock, como se vê em alguns exemplos abaixo. Assim que a maioria das aplicações Host tiver atualizado para a versão mais recente, iremos atualizar as amostras em conformidade.

Cartão Adaptativo

Uma Carta Adaptativa, contendo um corpo livre de elementos da carta e um conjunto opcional de ações.

Propriedades do AdaptiveCard

Propriedade Tipo Obrigatório Description Versão
type "AdaptiveCard" Yes Deve ser "AdaptiveCard". 1.0
Versão string Yes Versão do esquema que este cartão exige. Se um cliente estiver inferior a esta versão, o fallbackText será renderizado. NOTA: A versão não é necessária para cartões dentro de um Action.ShowCard. No entanto, é obrigatório para o cartão de nível superior. 1.0
atualizar Refresh Não Define como a carta pode ser atualizada fazendo um pedido ao Bot alvo. 1.4
Autenticação Authentication Não Define informação de autenticação para permitir o login único em nome de outrem ou o OAuth just-in-time. 1.4
body Element[] Não Os elementos da carta devem ser mostrados na região principal da carta. 1.0
actions Action[] Não As Ações devem aparecer na barra de ações da carta. 1.0
selectAction ISelectAction Não Uma Ação que será invocada quando a carta for tocada ou selecionada. Action.ShowCard não é suportado. 1.1
fallbackText string Não Texto mostrado quando o cliente não suporta a versão especificada (pode conter markdown). 1.0
Imagem de fundo BackgroundImage, uri Não Especifica a imagem de fundo do cartão. 1.2, 1.0
metadados Metadata Não Define várias propriedades de metadados normalmente não usadas para renderizar o cartão 1.6
Altura mínima string Não Especifica a altura mínima da carta. 1.2
RTL boolean? Não Quando o conteúdo neste cartão adaptativo true deve ser apresentado da direita para a esquerda. Quando o conteúdo 'falso' neste Cartão Adaptativo deve ser exibido da esquerda para a direita. Se não for definido, o comportamento padrão da plataforma aplicar-se-á. 1.5
falar string Não Especifica o que deve ser dito durante toda esta carta. Isto é texto simples ou fragmento SSML. 1.0
lang string Não A linguagem ISO-639-1 de 2 letras usada no cartão. Usado para localizar quaisquer funções de data/hora. 1.0
verticalContentAlignment VerticalContentAlignment Não Define como o conteúdo deve ser alinhado verticalmente dentro do contentor. Só é relevante para cartões de altura fixa, ou cartões com um minHeight especificado. 1.1
$schema uri Não O esquema do Cartão Adaptativo. 1.0

Example

Exemplo Básico de AdaptiveCard (JSON)

{
	"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
	"type": "AdaptiveCard",
	"version": "1.0",
	"body": [
		{
			"type": "Container",
			"items": [
				{
					"type": "TextBlock",
					"text": "Publish Adaptive Card schema",
					"weight": "bolder",
					"size": "medium"
				},
				{
					"type": "ColumnSet",
					"columns": [
						{
							"type": "Column",
							"width": "auto",
							"items": [
								{
									"type": "Image",
									"url": "https://pbs.twimg.com/profile_images/3647943215/d7f12830b3c17a5a9e4afcc370e3a37e_400x400.jpeg",
									"altText": "Matt Hidinger",
									"size": "small",
									"style": "person"
								}
							]
						},
						{
							"type": "Column",
							"width": "stretch",
							"items": [
								{
									"type": "TextBlock",
									"text": "Matt Hidinger",
									"weight": "bolder",
									"wrap": true
								},
								{
									"type": "TextBlock",
									"spacing": "none",
									"text": "Created {{DATE(2017-02-14T06:08:39Z, SHORT)}}",
									"isSubtle": true,
									"wrap": true
								}
							]
						}
					]
				}
			]
		},
		{
			"type": "Container",
			"items": [
				{
					"type": "TextBlock",
					"text": "Now that we have defined the main rules and features of the format, we need to produce a schema and publish it to GitHub. The schema will be the starting point of our reference documentation.",
					"wrap": true
				},
				{
					"type": "FactSet",
					"facts": [
						{
							"title": "Board:",
							"value": "Adaptive Card"
						},
						{
							"title": "List:",
							"value": "Backlog"
						},
						{
							"title": "Assigned to:",
							"value": "Matt Hidinger"
						},
						{
							"title": "Due date:",
							"value": "Not set"
						}
					]
				}
			]
		}
	],
	"actions": [
		{
			"type": "Action.ShowCard",
			"title": "Comment",
			"card": {
				"type": "AdaptiveCard",
				"body": [
					{
						"type": "Input.Text",
						"id": "comment",
						"isMultiline": true,
						"placeholder": "Enter your comment"
					}
				],
				"actions": [
					{
						"type": "Action.Submit",
						"title": "OK"
					}
				]
			}
		},
		{
			"type": "Action.OpenUrl",
			"title": "View",
			"url": "https://adaptivecards.io"
		}
	]
}

Propriedades

versão

Versão do esquema que este cartão requer. Se um cliente estiver numa versão anterior a esta, o fallbackText será renderizado. NOTA: A versão não é necessária para cartões que estão em um Action.ShowCard. No entanto, é obrigatório para o cartão de nível superior.

  • Tipo: string
  • Obrigatório: Não

actualizar

Define como a carta pode ser atualizada fazendo um pedido ao Bot alvo.

  • Tipo: Refresh
  • Versão: 1.4
  • Obrigatório: Não
  • Valores permitidos:
    • Refresh

Exemplo de Atualização (JSON)

{
	"type": "AdaptiveCard",
	"version": "1.3",
	"refresh": {
		"action": {
			"type": "Action.Execute",
			"verb": "refreshCard"
		},
		"userIds": [
			"user1",
			"user2"
		]
	},
	"body": [
		{
			"type": "TextBlock",
			"text": "This is a card that will be refreshed."
		}
	]
}

autenticação

Define informação de autenticação para permitir o login único em nome de outrem ou o OAuth just-in-time.

  • Tipo: Authentication
  • Versão: 1.4
  • Obrigatório: Não
  • Valores permitidos:
    • Authentication

Exemplo de Autenticação (JSON)

{
	"type": "AdaptiveCard",
	"version": "1.4",
	"authentication": {
		"connectionName": "myConnection",
		"text": "Please Authenticate your account",
		"tokenExchangeResource": {
			"id": "myTokenId",
			"providerId": "myProviderId",
			"uri": "https: //mytoken.exchange/resource"
		},
		"buttons": [
			{
				"type": "signin",
				"title": "Click here to Sign In!"
			}
		]
	},
	"body": [
		{
			"type": "TextBlock",
			"text": "This is a card that has authentication"
		}
	]
}

body

Os elementos da carta devem ser mostrados na região principal da carta.

  • Tipo: Element[]
  • Obrigatório: Não
  • Valores permitidos:
    • ActionSet
    • ColumnSet
    • Container
    • FactSet
    • Image
    • ImageSet
    • Input.ChoiceSet
    • Input.Date
    • Input.Number
    • Input.Text
    • Input.Time
    • Input.Toggle
    • Media
    • RichTextBlock
    • Table
    • TextBlock

ações

As Ações devem aparecer na barra de ações da carta.

  • Tipo: Action[]
  • Obrigatório: Não
  • Valores permitidos:
    • Action.Execute
    • Action.OpenUrl
    • Action.ShowCard
    • Action.Submit
    • Action.ToggleVisibility

selectAction

Uma Ação que será invocada quando a carta for tocada ou selecionada. Action.ShowCard não é suportado.

  • Tipo: ISelectAction
  • Versão: 1.1
  • Obrigatório: Não
  • Valores permitidos:
    • Action.Execute
    • Action.OpenUrl
    • Action.Submit
    • Action.ToggleVisibility

fallbackText

Texto mostrado quando o cliente não suporta a versão especificada (pode conter markdown).

  • Tipo: string
  • Obrigatório: Não

Imagem de fundo

Especifica a imagem de fundo do cartão.

  • Tipo: BackgroundImage, uri
  • Versão: 1.2, 1.0
  • Obrigatório: Não
  • Valores permitidos:
    • BackgroundImage
    • uri

metadados

Define várias propriedades de metadados normalmente não usadas para renderizar o cartão

  • Tipo: Metadata
  • Versão: 1.6
  • Obrigatório: Não
  • Valores permitidos:
    • Metadata

Altura mínima

Especifica a altura mínima da carta.

  • Tipo: string
  • Versão: 1.2
  • Obrigatório: Não

Exemplo de minHeight (JSON)

{
	"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
	"type": "AdaptiveCard",
	"version": "1.2",
	"minHeight": "100px",
	"body": [
		{
			"type": "TextBlock",
			"wrap": true,
			"text": "This card has a minHeight of 100px"
		}
	]
}

RTL

Quando o conteúdo neste cartão adaptativo true deve ser apresentado da direita para a esquerda. Quando o conteúdo 'falso' neste Cartão Adaptativo deve ser apresentado da esquerda para a direita. Se não for definido, o comportamento padrão da plataforma aplicar-se-á.

  • Tipo: boolean?
  • Versão: 1.5
  • Obrigatório: Não

Exemplo RTL (JSON)

{
  "type": "AdaptiveCard",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.5",
  "rtl": true,
  "body": [
    {
      "type": "TextBlock",
      "text": "هذه كتلة نص",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "זהו בלוק טקסט",
      "wrap": true
    },
    {
      "type": "TextBlock",
      "text": "This is a text block",
      "wrap": true
    }
  ]
}

falar

Especifica o que deve ser dito durante toda esta carta. Isto é texto simples ou fragmento SSML.

  • Tipo: string
  • Obrigatório: Não

idioma

A linguagem ISO-639-1 de 2 letras usada no cartão. Usado para localizar quaisquer funções de data/hora.

  • Tipo: string
  • Obrigatório: Não

AlinhamentoVerticalDoConteúdo

Define como o conteúdo deve ser alinhado verticalmente dentro do contentor. Só é relevante para cartas de altura fixa, ou cartas com uma minHeight especificação.

  • Tipo: VerticalContentAlignment
  • Versão: 1.1
  • Obrigatório: Não
  • Valores permitidos:
    • "top"
    • "center"
    • "bottom"

$schema

O esquema do Cartão Adaptativo.

  • Tipo: uri
  • Obrigatório: Não