Referência de API para o serviço Conector do Bot Framework

Note

A API REST não é equivalente ao SDK. A API REST é fornecida para permitir a comunicação REST padrão, no entanto, o método preferencial de interagir com o Bot Framework é o SDK.

No Bot Framework, o serviço Bot Connector permite que o bot troque mensagens com usuários em canais configurados no Portal do Bot Framework. O serviço usa REST e JSON padrão do setor por HTTPS.

URI Base

Quando um usuário envia uma mensagem para o bot, a solicitação de entrada contém um objeto Activity com uma serviceUrl propriedade que especifica o ponto de extremidade para o qual o bot deve enviar sua resposta. Para acessar o serviço Bot Connector, use o serviceUrl valor como o URI base para solicitações de API.

Quando você ainda não tiver uma URL de serviço para o canal, use https://smba.trafficmanager.net/teams/ como a URL de serviço. Para obter mais informações, confira como criar uma conversa e uma mensagem proativa no Teams.

Por exemplo, suponha que o bot receba a seguinte atividade quando o usuário enviar uma mensagem para o bot.

{
    "type": "message",
    "id": "bf3cc9a2f5de...",
    "timestamp": "2016-10-19T20:17:52.2891902Z",
    "serviceUrl": "https://smba.trafficmanager.net/teams/",
    "channelId": "channel's name/id",
    "from": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
    "recipient": {
        "id": "12345678",
        "name": "bot's name"
    },
    "text": "Haircut on Saturday"
}

A serviceUrl propriedade dentro da mensagem do usuário indica que o bot deve enviar sua resposta ao ponto de extremidade https://smba.trafficmanager.net/teams/. A URL de serviço será o URI base para as solicitações subsequentes que o bot emitir no contexto dessa conversa. Se o bot precisar enviar uma mensagem proativa ao usuário, salve o valor de serviceUrl.

O exemplo a seguir mostra a solicitação que o bot emite para responder à mensagem do usuário.

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/bf3cc9a2f5de...
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "bot's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
   "recipient": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "text": "I have several times available on Saturday!",
    "replyToId": "bf3cc9a2f5de..."
}

Cabeçalhos

Cabeçalhos de solicitação

Além dos cabeçalhos de solicitação HTTP padrão, cada solicitação de API em questão deve incluir um Authorization cabeçalho que especifica um token de acesso para autenticar o bot. Especifique o Authorization cabeçalho usando este formato:

Authorization: Bearer ACCESS_TOKEN

Para obter detalhes sobre como obter um token de acesso para o bot, consulte Autenticar solicitações do bot para o serviço Bot Connector.

Cabeçalhos de resposta

Além dos cabeçalhos de resposta HTTP padrão, cada resposta conterá um X-Correlating-OperationId cabeçalho. O valor desse cabeçalho é uma ID que corresponde à entrada de log do Bot Framework, que contém detalhes sobre a solicitação. Ao receber uma resposta de erro, você deve capturar o valor desse cabeçalho. Se você não conseguir resolver o problema de forma independente, inclua esse valor nas informações fornecidas à equipe de Suporte ao relatar o problema.

Códigos de status HTTP

O código de status HTTP retornado com cada resposta indica o resultado da solicitação correspondente.

Note

A tabela a seguir descreve os códigos de status HTTP mais comuns. Alguns erros são gerados pelo canal. Para obter mais informações, talvez seja necessário ler a documentação do desenvolvedor do canal.

Código de status de HTTP Meaning
200 O pedido foi bem-sucedido.
201 O pedido foi bem-sucedido.
202 A solicitação foi aceita para processamento.
204 A solicitação foi bem-sucedida, mas nenhum conteúdo foi retornado.
400 A solicitação foi malformada ou incorreta.
401 O bot ainda não foi autenticado.
403 O bot não está autorizado a executar a operação solicitada.
404 O recurso solicitado não foi encontrado.
405 O canal não dá suporte à operação solicitada.
500 Erro interno do servidor.
503 O serviço está temporariamente indisponível.

Errors

Qualquer resposta que especifica um código de status HTTP no intervalo 4xx ou 5xx incluirá um objeto ErrorResponse no corpo da resposta que fornece informações sobre o erro. Se você receber uma resposta de erro no intervalo 4xx, inspecione o objeto ErrorResponse para identificar a causa do erro e resolva o problema antes de reenviar a solicitação.

Operações de conversa

Use essas operações para criar conversas, enviar mensagens (atividades) e gerenciar o conteúdo das conversas.

Importante

Nem todos os canais dão suporte a todos os pontos de extremidade. No entanto, todos os canais devem dar suporte à resposta ao ponto de extremidade de atividade.

Por exemplo, apenas Direct Line e Webchat dar suporte ao ponto de extremidade obter conversas.

Operation Description
Criar conversa Cria uma nova conversa.
Excluir atividade Exclui uma atividade existente.
Excluir membro da conversa Remove um membro de uma conversa.
Obter membros da atividade Obtém os membros da atividade especificada na conversa especificada.
Obter membro da conversa Obtém detalhes sobre um membro de uma conversa.
Obter membros da conversa Obtém os membros da conversa especificada.
Obter membros de página de conversa Obtém os membros da conversa especificada uma página de cada vez.
Obter conversas Obtém uma lista de conversas em que o bot participou.
Responder à atividade Envia uma atividade (mensagem) para a conversa especificada, como uma resposta à atividade especificada.
Enviar histórico de conversas Carrega uma transcrição de atividades anteriores para a conversa.
Enviar para a conversa Envia uma atividade (mensagem) ao final da conversa especificada.
Atividade de atualização Atualiza uma atividade existente.
Carregar anexo no canal Carrega um anexo diretamente no armazenamento de blobs de um canal.

Criar conversa

Cria uma nova conversa.

POST /v3/conversations
Conteúdo Description
Corpo da solicitação Um objeto ConversationParameters
Retornos Um objeto ConversationResourceResponse

Excluir atividade

Alguns canais permitem que você exclua uma atividade existente. Se bem-sucedida, essa operação removerá a atividade especificada da conversa especificada.

DELETE /v3/conversations/{conversationId}/activities/{activityId}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um código de status HTTP que indica o resultado da operação. Nada é especificado no corpo da resposta.

Excluir membro da conversa

Remove um membro de uma conversa. Se esse membro for o último membro da conversa, a conversa também será excluída.

DELETE /v3/conversations/{conversationId}/members/{memberId}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um código de status HTTP que indica o resultado da operação. Nada é especificado no corpo da resposta.

Obter membros da atividade

Obtém os membros da atividade especificada na conversa especificada.

GET /v3/conversations/{conversationId}/activities/{activityId}/members
Conteúdo Description
Corpo da solicitação n/a
Retornos Uma matriz de objetos ChannelAccount

Conversas de bot

Obtém uma lista de conversas em que o bot participou.

GET /v3/conversations?continuationToken={continuationToken}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um objeto ConversationsResult

Obter membro da conversa

Obtém detalhes sobre um membro específico de uma conversa específica.

GET /v3/conversations/{conversationId}/members/{memberId}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um objeto ChannelAccount para o membro.

Obter membros da conversa

Obtém os membros da conversa especificada.

GET /v3/conversations/{conversationId}/members
Conteúdo Description
Corpo da solicitação n/a
Retornos Uma matriz de objetos ChannelAccount para os membros da conversa.

Obter membros de página de conversa

Obtém os membros da conversa especificada uma página de cada vez.

GET /v3/conversations/{conversationId}/pagedmembers?pageSize={pageSize}&continuationToken={continuationToken}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um objeto PagedMembersResult

Responder à atividade

Envia uma atividade (mensagem) para a conversa especificada, como uma resposta à atividade especificada. A atividade será adicionada como uma resposta a outra atividade, se o canal der suporte a ela. Se o canal não der suporte a respostas aninhadas, essa operação se comportará como Enviar para Conversa.

POST /v3/conversations/{conversationId}/activities/{activityId}
Conteúdo Description
Corpo da solicitação Um objeto Activity
Retornos Um objeto ResourceResponse

Enviar histórico de conversa

Carrega uma transcrição de atividades anteriores na conversa para que o cliente possa renderizá-las.

POST /v3/conversations/{conversationId}/activities/history
Conteúdo Description
Corpo da solicitação Um objeto Transcript .
Retornos Um objeto ResourceResponse.

Enviar para conversa

Envia uma atividade (mensagem) para a conversa especificada. A atividade será acrescentada ao final da conversa de acordo com o carimbo de data/hora ou semântica do canal. Para responder a uma mensagem específica dentro da conversa, use Responder à Atividade .

POST /v3/conversations/{conversationId}/activities
Conteúdo Description
Corpo da solicitação Um objeto Activity
Retornos Um objeto ResourceResponse

Atividade de atualização

Alguns canais permitem editar uma atividade existente para refletir o novo estado de uma conversa de bot. Por exemplo, você pode remover botões de uma mensagem na conversa depois que o usuário clicar em um dos botões. Se bem-sucedida, essa operação atualizará a atividade especificada na conversa especificada.

PUT /v3/conversations/{conversationId}/activities/{activityId}
Conteúdo Description
Corpo da solicitação Um objeto Activity
Retornos Um objeto ResourceResponse

Carregar anexo no canal

Carrega um anexo para a conversa especificada diretamente no armazenamento de blobs de um canal. Isso permite que você armazene dados em um repositório em conformidade.

POST /v3/conversations/{conversationId}/attachments
Conteúdo Description
Corpo da solicitação Um objeto AttachmentData .
Retornos Um objeto ResourceResponse. A propriedade ID especifica a ID do anexo que pode ser usada com a operação Obter informações de anexo e a operação Obter anexo .

Operações de anexo

Use essas operações para recuperar informações sobre um anexo, bem como os dados binários do próprio arquivo.

Operation Description
Obter informações de anexo Obtém informações sobre o anexo especificado, incluindo o nome do arquivo, o tipo de arquivo e as exibições disponíveis (por exemplo, original ou miniatura).
Obter Anexo Obtém a exibição especificada do anexo especificado como conteúdo binário.

Obter informações de anexo

Obtém informações sobre o anexo especificado, incluindo o nome do arquivo, o tipo e as exibições disponíveis (por exemplo, original ou miniatura).

GET /v3/attachments/{attachmentId}
Conteúdo Description
Corpo da solicitação n/a
Retornos Um objeto AttachmentInfo

Obter anexo

Obtém a exibição especificada do anexo especificado como conteúdo binário.

GET /v3/attachments/{attachmentId}/views/{viewId}
Conteúdo Description
Corpo da solicitação n/a
Retornos Conteúdo binário que representa a exibição especificada do anexo especificado

Operações de estado (preteridas)

O serviço de Estado do Microsoft Bot Framework foi desativado em 30 de março de 2018. Anteriormente, bots criados no Serviço de Bot de IA do Azure ou no SDK do Bot Builder tinham uma conexão padrão com esse serviço hospedado pela Microsoft para armazenar dados de estado do bot. Os bots deverão ser atualizados para usar seu próprio armazenamento de estado.

Operation Description
Set User Data Armazena dados de estado para um usuário específico em um canal.
Set Conversation Data Armazena dados de estado para uma conversa específica em um canal.
Set Private Conversation Data Armazena dados de estado para um usuário específico dentro do contexto de uma conversa específica em um canal.
Get User Data Recupera dados de estado armazenados anteriormente para um usuário específico em todas as conversas em um canal.
Get Conversation Data Recupera dados de estado armazenados anteriormente para uma conversa específica em um canal.
Get Private Conversation Data Recupera dados de estado armazenados anteriormente para um usuário específico dentro do contexto de uma conversa específica em um canal.
Delete State For User Exclui dados de estado armazenados anteriormente para um usuário.

Schema

O esquema do Bot Framework define os objetos e suas propriedades que seu bot pode usar para se comunicar com um usuário.

Object Description
Objeto Activity Define uma mensagem trocada entre o bot e o usuário.
Objeto AnimationCard Define um cartão que pode reproduzir GIFs animados ou vídeos curtos.
Objeto Attachment Define informações adicionais a serem incluídas na mensagem. Um anexo pode ser um arquivo de mídia (por exemplo, áudio, vídeo, imagem, arquivo) ou um cartão avançado.
Objeto AttachmentData Descreve os dados de um anexo.
Objeto AttachmentInfo Descreve um anexo.
Objeto AttachmentView Define um objeto que representa um modo de exibição disponível para um anexo.
Objeto AudioCard Define um cartão que pode reproduzir um arquivo de áudio.
Objeto CardAction Define uma ação a ser executada.
Objeto CardImage Define uma imagem a ser exibida em um cartão.
Objeto ChannelAccount Define um bot ou uma conta de usuário no canal.
Objeto ConversationAccount Define uma conversa em um canal.
Objeto ConversationMembers Define os membros de uma conversa.
Objeto ConversationParameters Definir parâmetros para criar uma nova conversa
Objeto ConversationReference Define um ponto específico em uma conversa.
Objeto ConversationResourceResponse Define uma resposta para Criar Conversa.
Objeto ConversationsResult Define o resultado de uma chamada para Obter Conversas.
Objeto Entity Define um objeto de entidade.
Objeto Error Define um erro.
Objeto ErrorResponse Define uma resposta da API HTTP.
Objeto Fact Define um par chave-valor que contém um fato.
Objeto GeoCoordinates Define uma localização geográfica usando coordenadas WSG84 (World Geodetic System).
Objeto HeroCard Define um cartão com uma imagem grande, título, texto e botões de ação.
Objeto InnerHttpError Objeto que representa um erro HTTP interno.
Objeto MediaEventValue Parâmetro suplementar para eventos de mídia.
Objeto MediaUrl Define a URL como a origem de um arquivo de mídia.
Objeto de menção Define um usuário ou bot que foi mencionado na conversa.
Objeto MessageReaction Define uma reação a uma mensagem.
Objeto PagedMembersResult Página de membros retornados por Get Conversation Paged Members.
Objeto Place Define um lugar que foi mencionado na conversa.
Objeto ReceiptCard Define um cartão que contém um recibo de uma compra.
Objeto ReceiptItem Define um item de linha dentro de um recibo.
Objeto ResourceResponse Define um recurso.
Objeto SemanticAction Define uma referência a uma ação programática.
Objeto SignInCard Define um cartão que permite que um usuário entre em um serviço.
Objeto SuggestedActions Define as opções das quais um usuário pode escolher.
Objeto TextHighlight Refere-se a uma subcadeia de caracteres de conteúdo em outro campo.
Objeto ThumbnailCard Define um cartão com uma imagem em miniatura, título, texto e botões de ação.
Objeto ThumbnailUrl Define a URL como a origem de uma imagem.
Objeto Transcript Uma coleção de atividades a serem carregadas usando o Histórico de Envio de Conversa.
Objeto VideoCard Define um cartão que pode reproduzir vídeos.

Objeto Activity

Define uma mensagem trocada entre o bot e o usuário.

Propriedade Tipo Description
action String A ação a ser aplicada ou aplicada. Use a propriedade type para determinar o contexto da ação. Por exemplo, se o tipo for contactRelationUpdate, o valor da propriedade de ação será adicionado se o usuário adicionou seu bot à lista de contatos ou removerá se removesse o bot da lista de contatos.
attachmentLayout String Layout dos anexos de cartão avançado que a mensagem inclui. Um desses valores: carrossel, lista. Para obter mais informações sobre anexos de cartão avançado, consulte Adicionar anexos de cartão avançado a mensagens.
Anexos Anexo[] Matriz de objetos Attachment que define informações adicionais a serem incluídas na mensagem. Cada anexo pode ser um arquivo (por exemplo, áudio, vídeo, imagem) ou um cartão avançado.
callerId String Uma cadeia de caracteres que contém uma IRI que identifica o chamador de um bot. Esse campo não se destina a ser transmitido pela transmissão, mas é preenchido por bots e clientes com base em dados criptograficamente verificáveis que declaram a identidade dos chamadores (por exemplo, tokens).
dados do canal Object Um objeto que contém conteúdo específico do canal. Alguns canais fornecem recursos que exigem informações adicionais que não podem ser representadas usando o esquema de anexo. Para esses casos, defina essa propriedade como o conteúdo específico do canal, conforme definido na documentação do canal. Para obter mais informações, consulte Implementar funcionalidade específica do canal.
ID do canal String Um ID que identifica o canal de forma única. Definido pelo canal.
código String Código que indica por que a conversa terminou.
conversa ConversationAccount Um objeto ConversationAccount que define a conversa à qual a atividade pertence.
deliveryMode String Uma dica de entrega para sinalizar para os caminhos de entrega alternativos do destinatário para a atividade. Um desses valores: normal, notificação.
entidades objeto[] Matriz de objetos que representa as entidades mencionadas na mensagem. Objetos nessa matriz podem ser qualquer objeto Schema.org . Por exemplo, a matriz pode incluir objetos Mention que identificam alguém que foi mencionado na conversa e objetos Place que identificam um local que foi mencionado na conversa.
expiration String O momento em que a atividade deve ser considerada como "expirada" e não deve ser apresentada ao destinatário.
from ChannelAccount Um objeto ChannelAccount que especifica o remetente da mensagem.
historyDisclosed booleano Sinalizador que indica se o histórico é ou não divulgado. Valor padrão é falso.
id String ID que identifica exclusivamente a atividade no canal.
importance String Define a importância de uma atividade. Um desses valores: baixo, normal, alto.
inputHint String Valor que indica se o bot está aceitando, esperando ou ignorando a entrada do usuário depois que a mensagem é entregue ao cliente. Um desses valores: acceptingInput, expectingInput, ignoringInput.
label String Um rótulo descritivo para a atividade.
listenFor String[] Lista de frases e referências que os sistemas de preparação de fala e idioma devem escutar.
localidade String Localidade do idioma que deve ser usado para exibir o texto dentro da mensagem, no formato <language>-<country>. O canal usa essa propriedade para indicar o idioma do usuário, de modo que o bot possa especificar cadeias de caracteres de exibição nesse idioma. O valor padrão é en-US.
localTimestamp String Data e hora em que a mensagem foi enviada no fuso horário local, expresso no formato ISO-8601 .
localTimezone String Contém o nome do fuso horário local da mensagem, expresso no formato de banco de dados de Fuso Horário IANA. Por exemplo, América/Los_Angeles.
membros adicionados ChannelAccount[] Matriz de objetos ChannelAccount que representa a lista de usuários que ingressaram na conversa. Apresentar somente se o tipo de atividade for "conversationUpdate" e os usuários ingressarem na conversa.
membersRemoved ChannelAccount[] Matriz de objetos ChannelAccount que representa a lista de usuários que deixaram a conversa. Apresentar somente se o tipo de atividade for "conversationUpdate" e os usuários deixarem a conversa.
name String Nome da operação a ser invocada ou o nome do evento.
reações adicionadas MessageReaction[] A coleção de reações adicionadas à conversa.
reactionsRemoved MessageReaction[] A coleção de reações removidas da conversa.
recipient ChannelAccount Um objeto ChannelAccount que especifica o destinatário da mensagem.
relatesTo ConversationReference Um objeto ConversationReference que define um ponto específico em uma conversa.
replyToId String A ID da mensagem à qual essa mensagem responde. Para responder a uma mensagem enviada pelo usuário, defina essa propriedade como a ID da mensagem do usuário. Nem todos os canais dão suporte a respostas encadeadas. Nesses casos, o canal ignorará essa propriedade e usará a semântica ordenada por tempo (carimbo de data/hora) para acrescentar a mensagem à conversa.
semanticAction SemanticAction Um objeto SemanticAction que representa uma referência a uma ação programática.
url do serviço String URL que especifica o ponto de extremidade de serviço do canal. Definido pelo canal.
falar String Texto a ser falado pelo bot em um canal habilitado para fala. Para controlar várias características da fala do bot, como voz, taxa, volume, pronúncia e tom, especifique essa propriedade no formato SSML (Speech Synthesis Markup Language ).
suggestedActions SuggestedActions Um objeto SuggestedActions que define as opções das quais o usuário pode escolher.
resumo String Resumo das informações que a mensagem contém. Por exemplo, para uma mensagem enviada em um canal de email, essa propriedade pode especificar os primeiros 50 caracteres da mensagem de email.
text String Texto da mensagem enviada do usuário para bot ou bot para o usuário. Consulte a documentação do canal para obter limites impostos sobre o conteúdo dessa propriedade.
textFormat String Formato do texto da mensagem. Um destes valores: markdown, simples, xml. Para obter detalhes sobre o formato de texto, consulte Criar mensagens.
textHighlights TextHighlight[] A coleção de fragmentos de texto a ser realçada quando a atividade contém um valor replyToId .
timestamp String Data e hora em que a mensagem foi enviada no fuso horário UTC, expresso no formato ISO-8601 .
topicName String Tópico da conversa à qual a atividade pertence.
type String Tipo de atividade. Um desses valores: message, contactRelationUpdate, conversationUpdate, typing, endOfConversation, event, invoke, deleteUserData, messageUpdate, messageDelete, installationUpdate, messageReaction, suggestion, trace, handoff. Para obter detalhes sobre tipos de atividade, consulte a especificação do protocolo de atividade.
valor Object Valor indeterminado.
valueType String O tipo do objeto de valor da atividade.

De volta à tabela Esquema

Objeto AnimationCard

Define um cartão que pode reproduzir GIFs animados ou vídeos curtos.

Propriedade Tipo Description
aspecto booleano Taxa de proporção de espaço reservado para miniatura/mídia. Os valores permitidos são "16:9" e "4:3".
autoloop booleano Sinalizador que indica se a lista de GIFs animados será reproduzida quando a última terminar. Defina essa propriedade como true para reproduzir automaticamente a animação; caso contrário, false. O valor padrão é true.
início automático booleano Sinalizador que indica se a animação será reproduzida automaticamente quando a carta é exibida. Defina essa propriedade como true para reproduzir automaticamente a animação; caso contrário, false. O valor padrão é true.
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
duration String O comprimento do conteúdo de mídia, no formato de duração ISO 8601.
image Miniaturaurl Um objeto ThumbnailUrl que especifica a imagem a ser exibida no cartão.
mídia MediaUrl[] Matriz de objetos MediaUrl . Quando esse campo contém mais de uma URL, cada URL é um formato alternativo do mesmo conteúdo.
compartilhável booleano Sinalizador que indica se a animação pode ser compartilhada com outras pessoas. Defina essa propriedade como true se a animação puder ser compartilhada; caso contrário, false. O valor padrão é true.
subtítulo String Subtítulo a ser exibido sob o título do cartão.
text String Descrição ou solicitação para exibição sob o título ou subtítulo do cartão.
title String Título do cartão.
valor Object Parâmetro suplementar para esse cartão.

De volta à tabela Esquema

Objeto Attachment

Define informações adicionais a serem incluídas na mensagem. Um anexo pode ser um arquivo (como uma imagem, áudio ou vídeo) ou um cartão avançado.

Propriedade Tipo Description
conteúdo Object O conteúdo do anexo. Se o anexo for um cartão avançado, defina essa propriedade como o objeto rich card. Essa propriedade e a propriedade contentUrl são mutuamente exclusivas.
contentType String O tipo de mídia do conteúdo no anexo. Para arquivos de mídia, defina essa propriedade como tipos de mídia conhecidos, como imagem/png, áudio/wav e vídeo/mp4. Para cartões avançados, defina essa propriedade como um destes tipos específicos do fornecedor:
  • application/vnd.microsoft.card.adaptive: um cartão avançado que pode conter qualquer combinação de texto, fala, imagens, botões e campos de entrada. Defina a propriedade de conteúdo para um objeto AdaptiveCard .
  • application/vnd.microsoft.card.animation: um cartão avançado que reproduz animação. Defina a propriedade de conteúdo como um objeto AnimationCard .
  • application/vnd.microsoft.card.audio: um cartão avançado que reproduz arquivos de áudio. Defina a propriedade de conteúdo como um objeto AudioCard .
  • application/vnd.microsoft.card.hero: um cartão Hero. Defina a propriedade de conteúdo como um objeto HeroCard .
  • application/vnd.microsoft.card.receipt: um cartão de recebimento. Defina a propriedade de conteúdo como um objeto ReceiptCard .
  • application/vnd.microsoft.card.signin: um cartão de entrada do usuário. Defina a propriedade de conteúdo como um objeto SignInCard .
  • application/vnd.microsoft.card.thumbnail: um cartão em miniatura. Defina a propriedade de conteúdo como um objeto ThumbnailCard .
  • application/vnd.microsoft.card.video: um cartão avançado que reproduz vídeos. Defina a propriedade de conteúdo como um objeto VideoCard .
contentUrl String URL para o conteúdo do anexo. Por exemplo, se o anexo for uma imagem, você poderá definir contentUrl para a URL que representa o local da imagem. Os protocolos com suporte são: HTTP, HTTPS, Arquivo e Dados.
name String Nome do anexo.
thumbnailUrl String URL para uma imagem em miniatura que o canal pode usar se for compatível com o uso de uma forma alternativa e menor de conteúdo ou contentUrl. Por exemplo, se você definir contentType como aplicativo/word e definir contentUrl como o local do documento Word, poderá incluir uma imagem em miniatura que represente o documento. O canal pode exibir a imagem em miniatura em vez do documento. Quando o usuário clica na imagem, o canal abriria o documento.

De volta à tabela Esquema

Objeto AttachmentData

Descreve os dados de um anexo.

Propriedade Tipo Description
name String Nome do anexo.
originalBase64 String Conteúdo do anexo.
miniaturaBase64 String Conteúdo da miniatura do anexo.
type String Tipo de conteúdo do anexo.

De volta à tabela Esquema

Objeto AttachmentInfo

Metadados de um anexo.

Propriedade Tipo Description
name String Nome do anexo.
type String Tipo de conteúdo do anexo.
views AttachmentView[] Matriz de objetos AttachmentView que representam as exibições disponíveis para o anexo.

De volta à tabela Esquema

Objeto AttachmentView

Define um objeto que representa um modo de exibição disponível para um anexo.

Propriedade Tipo Description
tamanho Number Tamanho do arquivo.
viewId String ID de exibição.

De volta à tabela Esquema

Objeto AudioCard

Define um cartão que pode reproduzir um arquivo de áudio.

Propriedade Tipo Description
aspecto String Proporção da miniatura especificada na propriedade da imagem . Os valores válidos são 16:9 e 4:3.
autoloop booleano Sinalizador que indica se a lista de arquivos de áudio será reproduzida quando a última terminar. Defina essa propriedade como true para reproduzir automaticamente os arquivos de áudio; caso contrário, false. O valor padrão é true.
início automático booleano Sinalizador que indica se o áudio será reproduzido automaticamente quando o cartão é exibido. Defina essa propriedade como true para reproduzir automaticamente o áudio; caso contrário, false. O valor padrão é true.
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
duration String O comprimento do conteúdo de mídia, no formato de duração ISO 8601.
image Miniaturaurl Um objeto ThumbnailUrl que especifica a imagem a ser exibida no cartão.
mídia MediaUrl[] Matriz de objetos MediaUrl . Quando esse campo contém mais de uma URL, cada URL é um formato alternativo do mesmo conteúdo.
compartilhável booleano Sinalizador que indica se os arquivos de áudio podem ser compartilhados com outras pessoas. Defina essa propriedade como true se o áudio puder ser compartilhado; caso contrário, false. O valor padrão é true.
subtítulo String Subtítulo a ser exibido sob o título do cartão.
text String Descrição ou solicitação para exibição sob o título ou subtítulo do cartão.
title String Título do cartão.
valor Object Parâmetro suplementar para esse cartão.

De volta à tabela Esquema

Objeto CardAction

Define uma ação clicável com um botão.

Propriedade Tipo Description
dados do canal String Dados específicos do canal associados a essa ação.
displayText String Texto a ser exibido no feed de chat se o botão for clicado.
image String URL da imagem que será exibida no botão, ao lado do rótulo de texto.
text String Texto para a ação.
title String Descrição do texto que aparece no botão.
type String Tipo de ação a ser executada. Para obter uma lista de valores válidos, consulte Adicionar anexos de cartão avançado a mensagens.
valor Object Parâmetro suplementar para a ação. O comportamento dessa propriedade variará de acordo com o tipo de ação. Para obter mais informações, consulte Adicionar anexos de cartão avançado a mensagens.

De volta à tabela Esquema

Objeto CardImage

Define uma imagem a ser exibida em um cartão.

Propriedade Tipo Description
Alt String Descrição da imagem. Você deve incluir a descrição para dar suporte à acessibilidade.
toque CardAction Um objeto CardAction que especifica a ação a ser executada se o usuário tocar ou clicar na imagem.
url String URL para a origem da imagem ou o binário base64 da imagem (por exemplo, data:image/png;base64,iVBORw0KGgo...).

De volta à tabela Esquema

Objeto ChannelAccount

Define um bot ou uma conta de usuário no canal.

Propriedade Tipo Description
aadObjectId String A ID do objeto dessa conta no Microsoft Entra ID.
id String ID exclusiva para o usuário ou bot neste canal.
name String Nome amigável para exibição do bot ou usuário.
função String Função da entidade por trás da conta. Usuário oubot.

De volta à tabela Esquema

Objeto ConversationAccount

Define uma conversa em um canal.

Propriedade Tipo Description
aadObjectId String A ID do objeto dessa conta no Microsoft Entra ID.
conversationType String Indica o tipo da conversa em canais que distinguem entre tipos de conversa (por exemplo, grupo ou pessoal).
id String A ID que identifica a conversa. A ID é exclusiva por canal. Se o canal iniciar a conversa, ele definirá essa ID; caso contrário, o bot define essa propriedade como a ID que ela recebe de volta na resposta quando inicia a conversa (consulte Criar Conversa).
isGroup booleano Sinalizar para indicar se a conversa contém mais de dois participantes no momento em que a atividade foi gerada. Definir como true se esta for uma conversa em grupo; caso contrário, false. O padrão é false.
name String Um nome de exibição que pode ser usado para identificar a conversa.
função String Função da entidade por trás da conta. Usuário oubot.
tenantId String A ID do locatário dessa conversa.

De volta à tabela Esquema

Objeto ConversationMembers

Define os membros de uma conversa.

Propriedade Tipo Description
id String A ID da conversa.
membros ChannelAccount[] Lista de membros nesta conversa.

De volta à tabela Esquema

Objeto ConversationParameters

Define parâmetros para criar uma nova conversa.

Propriedade Tipo Description
atividade Atividades A mensagem inicial a ser enviada para a conversa quando ela for criada.
bot ChannelAccount Informações da conta de canal necessárias para rotear uma mensagem para o bot.
dados do canal Object Conteúdo específico do canal para criar a conversa.
isGroup booleano Indica se esta é uma conversa em grupo.
membros ChannelAccount[] Informações da conta de canal necessárias para rotear uma mensagem para cada usuário.
tenantId String A ID do locatário na qual a conversa deve ser criada.
topicName String Tópico da conversa. Essa propriedade só será usada se um canal der suporte a ela.

De volta à tabela Esquema

Objeto ConversationReference

Define um ponto específico em uma conversa.

Propriedade Tipo Description
activityId String ID que identifica exclusivamente a atividade que esse objeto faz referência.
bot ChannelAccount Um objeto ChannelAccount que identifica o bot na conversa que esse objeto faz referência.
ID do canal String Uma ID que identifica exclusivamente o canal na conversa que esse objeto faz referência.
conversa ConversationAccount Um objeto ConversationAccount que define a conversa que esse objeto faz referência.
url do serviço String URL que especifica o ponto de extremidade de serviço do canal na conversa que esse objeto faz referência.
user ChannelAccount Um objeto ChannelAccount que identifica o usuário na conversa que esse objeto faz referência.

De volta à tabela Esquema

Objeto ConversationResourceResponse

Define uma resposta para Criar Conversa.

Propriedade Tipo Description
activityId String ID da atividade, se enviada.
id String ID do recurso.
url do serviço String endpoint de serviço onde operações relacionadas à conversa podem ser realizadas.

De volta à tabela Esquema

Objeto ConversationsResult

Define o resultado de Get Conversations.

Propriedade Tipo Description
conversas ConversationMembers[] Os membros em cada uma das conversas.
continuationToken String O token de continuação que pode ser usado em chamadas subsequentes para Obter Conversas.

De volta à tabela Esquema

Objeto Entity

Objeto de metadados relativo a uma atividade.

Propriedade Tipo Description
type String Tipo dessa entidade (RFC 3987 IRI).

De volta à tabela Esquema

Objeto de erro

Objeto que representa informações de erro.

Propriedade Tipo Description
código String Código de erro.
innerHttpError InnerHttpError Objeto que representa o erro HTTP interno.
Mensagem String Uma descrição do erro.

De volta à tabela Esquema

Objeto ErrorResponse

Define uma resposta da API HTTP.

Propriedade Tipo Description
error Erro Um objeto Error que contém informações sobre o erro.

De volta à tabela Esquema

Objeto Fact

Define um par chave-valor que contém um fato.

Propriedade Tipo Description
chave String Nome do fato. Por exemplo, check-in. A chave é usada como um rótulo ao exibir o valor do fato.
valor String Valor do fato. Por exemplo, 10 de outubro de 2016.

De volta à tabela Esquema

Objeto GeoCoordinates

Define uma localização geográfica usando coordenadas WSG84 (World Geodetic System).

Propriedade Tipo Description
elevação Number Elevação do local.
latitude Number Latitude do local.
longitude Number Longitude do local.
name String Nome do local.
type String O tipo desse objeto. Sempre definido como GeoCoordinates.

De volta à tabela Esquema

Objeto HeroCard

Define um cartão com uma imagem grande, título, texto e botões de ação.

Propriedade Tipo Description
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
imagens CardImage[] Matriz de objetos CardImage que especifica a imagem a ser exibida no cartão. Um cartão Hero contém apenas uma imagem.
subtítulo String Subtítulo a ser exibido sob o título do cartão.
toque CardAction Um objeto CardAction que especifica a ação a ser executada se o usuário tocar ou clicar no cartão. Essa pode ser a mesma ação que um dos botões ou uma ação diferente.
text String Descrição ou solicitação para exibição sob o título ou subtítulo do cartão.
title String Título do cartão.

De volta à tabela Esquema

Objeto InnerHttpError

Objeto que representa um erro HTTP interno.

Propriedade Tipo Description
statusCode Number Código de status HTTP da solicitação com falha.
body Object Corpo da solicitação com falha.

De volta à tabela Esquema

Objeto MediaEventValue

Parâmetro suplementar para eventos de mídia.

Propriedade Tipo Description
cardValue Object Parâmetro de retorno de chamada especificado no campo de valor do cartão de mídia que originou esse evento.

De volta à tabela Esquema

Objeto MediaUrl

Define a URL como a origem de um arquivo de mídia.

Propriedade Tipo Description
profile String Dica que descreve o conteúdo da mídia.
url String URL para a origem do arquivo de mídia.

De volta à tabela Esquema

Objeto de menção

Define um usuário ou bot que foi mencionado na conversa.

Propriedade Tipo Description
mencionado ChannelAccount Um objeto ChannelAccount que especifica o usuário ou o bot que foi mencionado. Alguns canais, como o Slack, atribuem nomes por conversa, portanto, é possível que o nome mencionado do bot (na propriedade do destinatário da mensagem) possa ser diferente do identificador especificado quando você registrou o bot. No entanto, as IDs da conta para ambos seriam as mesmas.
text String O usuário ou bot, conforme mencionado na conversa. Por exemplo, se a mensagem for "@ColorBot me escolher uma nova cor", essa propriedade será definida como @ColorBot. Nem todos os canais definem essa propriedade.
type String O tipo desse objeto. Sempre definido como Menção.

De volta à tabela Esquema

Objeto MessageReaction

Define uma reação a uma mensagem.

Propriedade Tipo Description
type String Tipo de reação. Gosto ouplusOne.

De volta à tabela Esquema

Objeto PagedMembersResult

Página de membros retornados por Get Conversation Paged Members.

Propriedade Tipo Description
continuationToken String O token de continuação que pode ser usado em chamadas subsequentes para obter membros paged de conversa.
membros ChannelAccount[] Uma matriz de membros da conversa.

De volta à tabela Esquema

Objeto Place

Define um lugar que foi mencionado na conversa.

Propriedade Tipo Description
address Object Endereço de um local. Essa propriedade pode ser uma cadeia de caracteres ou um objeto complexo do tipo PostalAddress.
geográfico GeoCoordinates Um objeto GeoCoordinates que especifica as coordenadas geográficas do local.
hasMap Object Mapeie para o local. Essa propriedade pode ser uma URL ( cadeia de caracteres ) ou um objeto complexo do tipo Map.
name String Nome do local.
type String O tipo desse objeto. Sempre definido como Place.

De volta à tabela Esquema

Objeto ReceiptCard

Define um cartão que contém um recibo de uma compra.

Propriedade Tipo Description
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
Fatos Fato[] Matriz de objetos Fact que especificam informações sobre a compra. Por exemplo, a lista de fatos de um recibo de estadia no hotel pode incluir a data de check-in e a data de check-out. O canal determina o número de fatos que você pode especificar.
items ReceiptItem[] Matriz de objetos ReceiptItem que especificam os itens comprados
toque CardAction Um objeto CardAction que especifica a ação a ser executada se o usuário tocar ou clicar no cartão. Essa pode ser a mesma ação que um dos botões ou uma ação diferente.
imposto String Uma cadeia de caracteres formatada em moeda que especifica o valor do imposto aplicado à compra.
title String Título exibido na parte superior do recibo.
total String Uma cadeia de caracteres formatada em moeda que especifica o preço total de compra, incluindo todos os impostos aplicáveis.
vat String Uma cadeia de caracteres formatada em moeda que especifica o valor do IVA (imposto sobre valor agregado) aplicado ao preço de compra.

De volta à tabela Esquema

Objeto ReceiptItem

Define um item de linha dentro de um recibo.

Propriedade Tipo Description
image CardImage Um objeto CardImage que especifica a imagem em miniatura a ser exibida ao lado do item de linha.
preço String Uma cadeia de caracteres formatada em moeda que especifica o preço total de todas as unidades compradas.
quantity String Uma cadeia de caracteres numérica que especifica o número de unidades adquiridas.
subtítulo String Subtítulo a ser exibido sob o título do item de linha.
toque CardAction Um objeto CardAction que especifica a ação a ser executada se o usuário tocar ou clicar no item de linha.
text String Descrição do item de linha.
title String Título do item de linha.

De volta à tabela Esquema

Objeto ResourceResponse

Define uma resposta que contém uma ID de recurso.

Propriedade Tipo Description
id String ID que identifica exclusivamente o recurso.

De volta à tabela Esquema

Objeto SemanticAction

Define uma referência a uma ação programática.

Propriedade Tipo Description
entidades Object Um objeto em que o valor de cada propriedade é um objeto Entity .
id String ID desta ação.
estado String Estado desta ação. Valores permitidos: iniciar, continuar, concluído.

De volta à tabela Esquema

Objeto SignInCard

Define um cartão que permite que um usuário entre em um serviço.

Propriedade Tipo Description
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário entre em um serviço. O canal determina o número de botões que você pode especificar.
text String Descrição ou solicitação para incluir no cartão de entrada.

De volta à tabela Esquema

Objeto SuggestedActions

Define as opções das quais um usuário pode escolher.

Propriedade Tipo Description
actions CardAction[] Matriz de objetos CardAction que definem as ações sugeridas.
to String[] Matriz de cadeias de caracteres que contém as IDs dos destinatários aos quais as ações sugeridas devem ser exibidas.

De volta à tabela Esquema

Objeto TextHighlight

Refere-se a uma subcadeia de caracteres de conteúdo em outro campo.

Propriedade Tipo Description
ocorrência Number Ocorrência do campo de texto dentro do texto referenciado, se houver vários.
text String Define o snippet de texto a ser realçado.

De volta à tabela Esquema

Objeto ThumbnailCard

Define um cartão com uma imagem em miniatura, título, texto e botões de ação.

Propriedade Tipo Description
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
imagens CardImage[] Matriz de objetos CardImage que especificam imagens em miniatura a serem exibidas no cartão. O canal determina o número de imagens em miniatura que você pode especificar.
subtítulo String Subtítulo a ser exibido sob o título do cartão.
toque CardAction Um objeto CardAction que especifica a ação a ser executada se o usuário tocar ou clicar no cartão. Essa pode ser a mesma ação que um dos botões ou uma ação diferente.
text String Descrição ou solicitação para exibição sob o título ou subtítulo do cartão.
title String Título do cartão.

De volta à tabela Esquema

Objeto ThumbnailUrl

Define a URL como a origem de uma imagem.

Propriedade Tipo Description
Alt String Descrição da imagem. Você deve incluir a descrição para dar suporte à acessibilidade.
url String URL para a origem da imagem ou o binário base64 da imagem (por exemplo, data:image/png;base64,iVBORw0KGgo...).

De volta à tabela Esquema

Objeto Transcript

Uma coleção de atividades a serem carregadas usando o Histórico de Envio de Conversa.

Propriedade Tipo Description
atividades matriz Uma matriz de objetos activity . Cada um deles deve ter uma ID exclusiva e um carimbo de data/hora.

De volta à tabela Esquema

Objeto VideoCard

Define um cartão que pode reproduzir vídeos.

Propriedade Tipo Description
aspecto String Proporção do vídeo. 16:9 ou 4:3.
autoloop booleano Sinalizador que indica se a lista de vídeos será reproduzida quando a última terminar. Defina essa propriedade como true para reproduzir automaticamente os vídeos; caso contrário, false. O valor padrão é true.
início automático booleano Sinalizador que indica se os vídeos serão reproduzidos automaticamente quando o cartão é exibido. Defina essa propriedade como true para reproduzir automaticamente os vídeos; caso contrário, false. O valor padrão é true.
buttons CardAction[] Matriz de objetos CardAction que permitem que o usuário execute uma ou mais ações. O canal determina o número de botões que você pode especificar.
duration String O comprimento do conteúdo de mídia, no formato de duração ISO 8601.
image Miniaturaurl Um objeto ThumbnailUrl que especifica a imagem a ser exibida no cartão.
mídia MediaUrl[] Matriz de MediaUrl. Quando esse campo contém mais de uma URL, cada URL é um formato alternativo do mesmo conteúdo.
compartilhável booleano Sinalizador que indica se os vídeos podem ser compartilhados com outras pessoas. Defina essa propriedade como true se os vídeos puderem ser compartilhados; caso contrário, false. O valor padrão é true.
subtítulo String Subtítulo a ser exibido sob o título do cartão.
text String Descrição ou solicitação para exibição sob o título ou subtítulo do cartão.
title String Título do cartão.
valor Object Parâmetro suplementar para esse cartão

De volta à tabela Esquema