Criar abas para conversação

As subentidades conversacionais fornecem uma maneira de permitir que os usuários tenham conversas sobre subentidades em sua guia. Como uma tarefa específica, um paciente e uma oportunidade de vendas, em vez de discutir a guia inteira, também conhecida como entidade. Um canal tradicional ou uma guia configurável permite que o usuário tenha uma conversa sobre uma guia, mas o usuário requer uma conversa mais focada. O requisito para uma conversa mais focada pode surgir, se houver muito conteúdo para ter uma discussão centralizada ou porque o conteúdo mudou ao longo do tempo, tornando a conversa irrelevante para o conteúdo mostrado. As subentidades conversacionais fornecem uma experiência de conversa muito mais focada para guias dinâmicas.

As subentidades conversacionais só têm suporte em canais. Eles podem ser usados a partir de uma guia pessoal ou estática para criar ou continuar conversas em guias que já estão fixadas em um canal. A guia estática será útil se você quiser fornecer um local para um usuário exibir e acessar conversas acontecendo em vários canais.

Pré-requisitos

Para dar suporte a subentidades de conversa, seu aplicativo Web de guia deve ter a capacidade de armazenar um mapeamento entre conversas de subentidades ↔ em um banco de dados de back-end. O conversationId é fornecido, mas você deve armazená-lo e devolvê-lo ao Teams para que conversationId os usuários continuem a conversa.

Iniciar uma nova conversa

Para iniciar uma nova conversa, use a openConversation() função. Iniciar e continuar uma conversa são todos tratados por esse método. As entradas para a função mudam dependendo de qual ação você deseja tomar, na perspectiva do usuário, isso abre o painel de conversa à direita da tela, seja para iniciar uma conversa ou continuar uma conversa.

microsoftTeams.conversations.openConversation(openConversationRequest);

openConversation usa as seguintes entradas para iniciar uma conversa em um canal:

  • subEntityId: A ID de sua sub-entidade específica. Por exemplo, task-123.
  • entityId: a ID da instância da guia quando ela foi criada. A ID é importante para fazer referência à mesma instância de guia.
  • channelId: o canal no qual reside a instância da guia.

    Observação

    O channelId é opcional para guias de canal. No entanto, é recomendável manter a implementação entre o canal e as guias estáticas da mesma forma.

  • título: o título que é mostrado ao usuário no painel de chat.

A maioria desses valores também pode ser recuperada da app.getContext() API (microsoftTeams.getContext() no TeamsJS v1). Para obter mais informações, consulte a interface PageInfo.

microsoftTeams.conversations.openConversation({“subEntityId”:”task-1”, “entityId”: “tabInstanceId-1”, “channelId”: ”19:baa6e71f65b948d189bf5c892baa8e5a@thread.skype”, “title”: "Task Title”});

A imagem a seguir mostra o painel de conversa:

iniciar conversas

Se o usuário iniciar uma conversa, é importante ouvir o retorno de chamada desse evento para recuperar e salvar a conversaId:

⁠microsoftTeams.conversations.openConversation({
    ...,
    onStartConversation: (conversationResponse) => {
        ⁠// console.log(conversationResponse)
    },
});

O conversationResponse objeto contém informações relacionadas à conversa iniciada. É recomendável que você salve todas as propriedades desse objeto de resposta para uso posterior.

Continuar uma conversa

Depois que uma conversa é iniciada, chamadas subsequentes a openConversation() serem necessárias, que você também forneça as mesmas entradas que em iniciar uma nova conversa, mas também inclua a conversationId. O painel de conversa é aberto para os usuários com a conversa apropriada em exibição. Os usuários podem ver mensagens novas ou de entrada em tempo real.

A imagem a seguir mostra o painel de conversa com a conversa apropriada:

continuar conversas

Aprimorar uma conversa

É importante que sua guia inclua links profundos para sua sub-entidade. Por exemplo, o usuário selecionando o link profundo da guia chiclet na conversa do canal. O comportamento esperado é receber o link profundo, abrir essa sub entidade e, em seguida, abrir o painel de conversa para essa sub entidade.

Para dar suporte a subentidades de conversa da sua guia pessoal ou estática, você não precisa alterar nada em sua implementação. Só oferecemos suporte a conversas iniciais ou contínuas de guias de canal que já estão fixadas. O suporte a guias estáticas permite que você forneça um único local para que seus usuários interajam com todas as suas subentidades. É importante que você salve o , entityIde channelId quando sua subEntityIdguia é originalmente criada em um canal para ter as propriedades certas ao abrir o modo de exibição de conversa em uma guia estática.

Fechar uma conversa

Você pode fechar manualmente a exibição de conversa chamando a closeConversation() função.

microsoftTeams.conversations.closeConversation();

Você também pode ouvir um evento quando os usuários selecionarem Fechar (X) no modo de exibição de conversa.

⁠microsoftTeams.conversations.openConversation({
    ...,
    onCloseConversation: (conversationResponse) => {
        ⁠// console.log(conversationResponse)
    },
});

Exemplo de código

Nome do exemplo Descrição .NET Node.js Manifesto
Criar guia Conversacional Aplicativo de exemplo de guia do Microsoft Teams para demonstrar a guia criar conversa. View View View

Próxima etapa

Confira também