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 | Não | No | Sim | Não | No | No | No |
Serviços de Comunicação do Azure | Não | Sim | Não | Sim | Não | No | Sim | Não | Sim | Sim | Sim |
Direct Line | Não | Sim | Sim | Sim | Sim | Não | Sim | Não | No | No | Sim |
Direct Line Speech | Sim | ||||||||||
Não | No | No | Indeterminado | Não | No | Sim | Não | No | No | Não | |
Não | Sim | Não | Sim | Não | No | Sim | Sim | Não | No | No | |
GroupMe | Não | Sim | No | Indeterminado | Não | No | Sim | Não | No | No | No |
LINE | Não | Sim | Não | Sim | Não | No | Sim | Não | No | No | No |
Microsoft Teams | Não | Sim | No | Indeterminado | Não | Sim | Sim | Sim | Sim | Sim | No |
Omnicanal | Sim | ||||||||||
Outlook (preview) | Sim | ||||||||||
Localizar (preview) | Sim | ||||||||||
Slack | Não | Sim | No | Indeterminado | Não | No | Sim | Não | Sim | Sim | No |
Telegram | Não | Sim | No | Indeterminado | Não | No | Sim | Não | Sim | Indeterminado | Não |
Twilio (SMS) | Não | No | No | Indeterminado | Não | No | Sim | Não | No | No | No |
Chat da Web | Não | Sim | Sim | Sim | Sim | Não | Sim | Não | 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 | Não | Sim | Não | No |
Serviços de Comunicação do Azure | Sim* | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
Imagem | Texto | Texto | Sim | Sim | Sim | Sim | Texto | |
Imagem, parcial | Sim | Sim | Sim | Sim | Sim | Sim | Sim | |
GroupMe | Imagem | Texto | Texto | Texto | Texto | Texto | Texto | Texto |
LINE | Imagem, parcial | Sim | Texto | Sim | Sim | Sim | Sim | Texto |
Microsoft Teams | Sim | Não | No | Sim | Sim | Sim | Sim | No |
Omnicanal | ||||||||
Outlook (preview) | ||||||||
Localizar (preview) | ||||||||
Slack | Imagem | Sim | Texto | Texto | Sim | Sim | Texto | Texto |
Telegram | Imagem, parcial | Sim | Texto | Sim | Sim | Sim | Sim | Sim |
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 |
Serviços de Comunicação do Azure | ||
Direct Line | 100 | 100 |
Direct Line Speech | 100 | 100 |
Nenhum | Nenhum | |
11 | 3 | |
GroupMe | Nenhum | Nenhum |
LINE | 13 | 99 |
Microsoft Teams | Nenhum | 3 |
Omnicanal | ||
Outlook (preview) | ||
Localizar (preview) | ||
Slack | Nenhum | 100 |
Telegram | 100 | 100 |
Twilio (SMS) | Nenhum | Nenhum |
Chat da Web | 100 | 100 |
- Para obter mais informações sobre ações de cartão, confira Processar eventos em cartões avançados no artigo Adicionar mídia a mensagens.
- Para obter mais informações sobre ações sugeridas, confira como Usar botões para entrada.
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
invocarPaymentRequest
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.