Referência de canais

APLICA-SE A: SDK v4

Este artigo descreve o suporte de canal para vários recursos do Bot Framework:

  • Os tipos de atividade que cada canal pode enviar ou receber.
  • Os tipos de cartão que cada canal pode exibir, incluindo Cartões adaptáveis.
  • Ação de cartão e suporte à ação sugerida em cada canal.
  • Uma classificação geral dos diferentes tipos de atividade.

Para obter informações detalhadas sobre a estrutura de atividades e cartões no nível do protocolo, confira a atividade do Bot Framework e os esquemas de cartão.

Cartões adaptáveis é uma tecnologia separada. Para obter mais informações, confira adaptivecards.io.

Suporte a atividades por canal

A tabela a seguir indica se um determinado canal pode enviar um determinado tipo de atividade para o bot. Dentro da tabela, os seguintes termos têm os seguintes significados.

Termo Significado
Sim O bot pode receber essa atividade do canal.
Não O bot não pode receber essa atividade do canal.
Indeterminado Atualmente indeterminado.
Canal Atualização da relação de contato Atualização de conversa Fim da conversa Evento Atualizações de instalação Invoke Mensagem Reação de mensagem Atualização de mensagem Exclusão de mensagem Digitação
Alexa Não No Sim Sim No No Sim No No No Não
Azure Communication Services Chat Não Sim No Sim No No Sim No Sim Sim Yes
Direct Line Não Sim Sim Sim Sim No Sim No No No Sim
Direct Line Speech Sim
Email Não No Não Indeterminado Não No Sim No No No Não
Facebook Não Sim No Sim No No Sim Sim No No Não
GroupMe Não Sim Não Indeterminado Não No Sim No No No Não
LINE Não Sim No Sim No No Sim No No No Não
Microsoft Teams Não Sim Não Indeterminado Não Sim Sim Sim Sim Sim Não
Omnicanal Sim
Outlook (versão prévia) Sim
Pesquisar (versão prévia) Sim
Slack Não Sim Não Indeterminado Não No Sim No Sim Sim Não
Telegram Não Sim Não Indeterminado Não No Sim No Sim Indeterminado Não
Twilio (SMS) Não No Não Indeterminado Não No Sim No No No Não
Chat da Web Não Sim Sim Sim Sim No Sim No No No Sim

O suporte às atividades de event e invoke varia de acordo com o nome da atividade e com o canal.

Suporte a cartão por canal

A tabela a seguir indica se um determinado canal pode renderizar um determinado tipo de cartão. Mesmo que um canal possa renderizar um tipo de cartão, o canal pode não oferecer suporte a todos os recursos do cartão. Antes de liberar seu bot, teste o comportamento de cada cartão que seu bot pode enviar.

Dentro da tabela, os seguintes termos têm os seguintes significados.

Termo Significado
Sim O cartão é suportado neste canal; no entanto, qualquer canal pode suportar apenas um subconjunto de ações de cartão ou pode limitar o número de ações permitidas em cada cartão.
Não O cartão não é suportado neste canal.
Parcial Suporte parcial. Este canal pode não exibir o cartão se o cartão contiver entradas ou botões. O nível de suporte varia de acordo com o canal.
Imagem O cartão é convertido em imagem.
Texto O cartão é convertido em texto não formatado. Os links não podem ser clicáveis, as imagens não podem ser exibidas e a mídia não pode ser reproduzida. O nível de suporte varia de acordo com o canal.
Canal Cartão adaptável Cartão de animação Placa de áudio Carta Hero Cartão de recibo Cartão de credenciais Cartão em miniatura Placa de vídeo
Alexa Não No No Sim No Sim No Não
Azure Communication Services Chat Sim* Sim Sim Sim Sim Sim Sim Sim
Email Imagem Texto Texto Sim Sim Sim Yes Texto
Facebook Imagem, parcial Sim Sim Sim Sim Sim Sim Yes
GroupMe Imagem Texto Texto Texto Texto Texto Texto Texto
LINE Imagem, parcial Sim Texto Sim Sim Sim Yes Texto
Microsoft Teams Sim No No Sim Sim Sim Sim Não
Omnicanal
Outlook (versão prévia)
Pesquisar (versão prévia)
Slack Imagem Sim Texto Texto Sim Yes Texto Texto
Telegram Imagem, parcial Sim Texto Sim Sim Sim Sim Yes
Twilio (SMS) Imagem Texto Não Texto Texto Texto Texto Não
Chat da Web Sim Sim Sim Sim Sim Sim Sim Sim

Observação

  • Tecnicamente, o canal de Direct Line dá suporte a todos os cartões, mas cabe ao cliente implementá-los.
  • *Para Serviços de Comunicação do Azure de Chat, os cartões adaptáveis só têm suporte em casos de uso dos Serviços de Comunicação do Azure, e não nos casos de uso de Serviços de Comunicação do Azure de Chat para o Teams.

Suporte a ações de cartão por canal

A tabela a seguir mostra o número máximo de ações sugeridas e ações de cartão que um determinado canal suporta. O valor "Nenhum" indica que o tipo de ação não tem suporte no canal.

Canal Ações sugeridas Ações de cartão
Alexa Nenhum Nenhum
Azure Communication Services Chat
Direct Line 100 100
Direct Line Speech 100 100
Email Nenhum Nenhum
Facebook 11 3
GroupMe Nenhum Nenhum
LINE 13 99
Microsoft Teams Nenhum 3
Omnicanal
Outlook (versão prévia)
Pesquisar (versão prévia)
Slack Nenhum 100
Telegram 100 100
Twilio (SMS) Nenhum Nenhum
Chat da Web 100 100

Categorias das atividades

As atividades podem ser divididas em categorias diferentes. Para obter uma descrição detalhada de cada tipo de atividade e as informações que cada tipo de atividade contém, confira o esquema de atividade do Bot Framework.

Bem-Vindo

Esta categoria inclui as atividades de conversationUpdate e de contactRelationUpdate.

  • Muitos canais enviam atividades de atualização de conversa.
    • Muitas vezes, o comportamento do bot de boas-vindas é acionado pela atividade de atualização da conversa. No entanto, a produção de um comportamento de boas-vindas confiável pode exigir o uso de conversa ou do estado do usuário.
  • Alguns canais enviam atividades de atualização de relacionamento de contato.
    • Se o bot usar esses canais, talvez seja necessário incluir a lógica dessa atividade no comportamento de boas-vindas do bot.

Conversação

Esta categoria inclui as atividades de message, messageReaction e endOfConversation.

  • Todos os canais podem enviar e receber atividades de mensagens.
    • Para bots que usam caixas de diálogo, as atividades de mensagem geralmente devem ser passadas para a caixa de diálogo.
  • Alguns canais podem enviar e receber atividades de reação a mensagens.
    • Dependendo do design do bot, você pode passar atividades de reação a mensagens para uma caixa de diálogo.
    • As atividades de reação a mensagens fazem referência a mensagens anteriores por ID.
  • As atividades de término de conversa sinalizam o fim de uma conversa da perspectiva do destinatário.
    • As atividades de término de conversa são usadas na comunicação bot a bot para habilidades.

Dica

A reações a mensagens incluem elementos, como o sinal de curtir em um comentário anterior. Elas podem ocorrer fora de ordem, por isso, podem ser encaradas como semelhantes aos botões. Esse tipo de atividade pode ser enviado pelo canal do Teams.

Atualização e exclusão de mensagens

Esta categoria inclui as atividades de messageUpdate e de messageDelete.

  • O Teams oferece suporte às atividades de atualização e exclusão de mensagens.

Extensibilidade de aplicativo

Esta categoria inclui as atividades de event e de invoke. O significado de uma atividade é definido pelo campo name, que é significativo dentro do escopo de um canal.

  • Um aplicativo que possui cliente e servidor pode usar atividades de evento para comunicar informações programáticas entre o cliente e o servidor.
    • Atividades de evento, como a maioria dos tipos de atividade, são assíncronas.
    • O Direct Line e o Web Chat usam atividades de evento como um mecanismo de extensibilidade.
  • As atividades de invocação são específicas de um aplicativo, e não algo que um cliente defina.
    • As atividades de invocação, ao contrário de outros tipos de atividade, são síncronas. (atualmente, a invocação é o único tipo de atividade que aciona um comportamento de solicitação-resposta no bot)
    • O Microsoft Teams usa atividades de invocação e define algumas atividades de invocação específicas do Teams.

Autenticação

Para que a solicitação do OAuth funcione com caixas de diálogo, a atividade de evocação TeamsVerification deve ser encaminhada para a caixa de diálogo.

Não categorizado

As atividades de installationUpdate, typing e handoff não se encaixam significativamente nas outras categorias.

  • Atividades de atualização de instalação representam uma instalação ou desinstalação de um bot dentro de uma unidade organizacional de um canal.
  • Atividades de digitação representam a entrada em andamento de um usuário ou bot.
  • As atividades de entrega solicitam ou sinalizam uma mudança de foco entre elementos dentro de um bot. A atividade de entrega é diferente de uma atividade de evento que tem o nome de "entrega".

Fora de uso (inclui invocação específica de pagamento)

Esses tipos de atividade não estão mais em uso:

  • deleteUserData
  • handoff
  • ping
  • Address invocar
  • PaymentRequest invocar

Informações adicionais

Todos os canais podem enviar e receber as atividades demessage.

Dica

Ao adicionar suporte a um canal ao seu bot, familiarize-se com os docs do desenvolvedor do canal. Cada canal tem limitações diferentes em vários aspectos de uma conversa. Algumas das diferenças incluem:

  • Quanto tempo o bot tem para lidar com cada solicitação HTTP.
  • Se um bot pode enviar uma atividade que não está na resposta a uma atividade específica do usuário.
  • Quantas mensagens o bot pode enviar em um determinado período.
  • Como um cartão é renderizado e quais cartões são suportados.