Combinar bots com separadores
Importante
Este artigo baseia-se no SDK v3 do Bot Framework. Se estiver à procura da versão atual da documentação 4.6 ou posterior do SDK, consulte a secção bots de conversação .
Os bots e separadores funcionam em conjunto e, muitas vezes, são combinados num único serviço de back-end. Esta secção descreve as melhores práticas e padrões comuns para utilizar separadores e bots em conjunto.
Associar identidades de utilizador ao bot e separador
Por exemplo: suponha que a sua aplicação de separador utiliza um sistema de ID proprietário para proteger o respetivo conteúdo. Suponha que também tem um bot que pode interagir com o utilizador. Normalmente, pretende mostrar conteúdo no separador específico para o utilizador de visualização. O desafio é que o ID de utilizador no seu sistema é provavelmente diferente do ID de utilizador do Microsoft Teams. Então, como associa estas duas identidades? Em geral, a abordagem recomendada é iniciar sessão do utilizador com o bot através do mesmo sistema de identidade utilizado para fornecer autenticação para o conteúdo do separador. Pode implementar através da ação de início de sessão, que normalmente inicia sessão no utilizador através de um fluxo OAuth.
Este fluxo funciona melhor se o seu fornecedor de identidade implementar o protocolo OAuth 2.0. Em seguida, pode associar o ID de utilizador do Teams às credenciais do utilizador a partir do seu próprio serviço de identidade.
Criar ligações avançadas para separadores em mensagens do bot
Quer utilizar separadores para mostrar mais conteúdos que podem caber dentro de um cartão ou fornecer uma forma de concluir tarefas complexas de preenchimento de formulários com a tela de separadores. Por exemplo, considere navegar o utilizador para o separador quando o utilizador selecionar o cartão a partir do bot. Para que isto aconteça, terá de codificar a mensagem do bot para incluir um URL de ligação avançada , seja através da marcação ou como destino da ação openUrl.
As ligações profundas dependem de um entityId, que é um valor opaco que mapeia para uma entidade exclusiva no seu sistema. Quando o separador é criado, armazena algum estado simples. Por exemplo, um sinalizador no back-end que indica que o separador é criado no canal. Quando o bot constrói uma mensagem, pode direcionar o entityId associado a esse separador.
Observação
Nas conversas pessoais, uma vez que os separadores são estáticos e instalados com a aplicação, pode sempre assumir a sua existência e, assim, construir ligações profundas em conformidade.
Enviar notificações para atualizações de separadores
Muitas vezes, irá querer notificar o utilizador final sempre que ocorrer uma atualização ou uma ação de utilizador num separador. Um cenário de exemplo é atribuir uma tarefa ou um pedido a um colega de equipa e, em seguida, notificar esse membro da equipa.
Existem duas formas de alcançar este cenário:
Se quiser notificar um canal inteiro, o bot pode publicar uma mensagem no canal de forma assíncrona. Não existe forma de um bot criar proativamente a conversação de separador se não tiver sido criado com o separador.
Se pretender notificar apenas o destinatário ou as partes interessadas envolvidas na ação, o bot pode enviar uma mensagem de chat pessoal ao utilizador. Primeiro, deve verificar se existe uma conversação pessoal entre o bot e o utilizador. Caso contrário, pode ligar
CreateConversation
para iniciar a conversa pessoal.
Em ambos os casos, utilize notificações de eventos com sensatez e nunca envie spam ao utilizador com atualizações desnecessárias.
Confira também
Adicionar guias de procedimentos à aplicação Microsoft Teams