Para impedir a troca de contexto quando os usuários compartilham um link no Google Chat, o app do Chat pode visualizar o link anexando um card à mensagem com mais informações e que permita que as pessoas realizem ações diretamente no Google Chat.
Por exemplo, imagine um espaço do Google Chat com todos os agentes de atendimento ao cliente de uma empresa e um app do Chat chamado Case-y. Com frequência, os agentes compartilham links para casos de atendimento ao cliente no espaço do Chat e, toda vez que o fazem, os colegas precisam abrir o link do caso para ver detalhes como responsável, status e assunto. Da mesma forma, se alguém quiser assumir a propriedade de um caso ou mudar o status, precisará abrir o link.
Com a visualização de links, o app Chat residente do espaço, Case-y, anexe um card com o usuário atribuído, o status e o assunto sempre que alguém compartilhar um link de caso. Os botões no card permitem que os agentes assumam a propriedade do caso e mudem o status diretamente no stream do chat.
Como funciona a visualização de links
Quando alguém adiciona um link à mensagem, aparece um ícone informando que um app de chat pode visualizar o link.
Depois de enviar a mensagem, o link é enviado para o app do Chat, que gera e anexa o cartão à mensagem do usuário.
Além do link, o card fornece informações adicionais sobre o link, incluindo elementos interativos, como botões. O app do Chat pode atualizar o card anexado em resposta a interações do usuário, como cliques em botões.
Se alguém não quiser que o app do Chat acesse a prévia do link anexando um card à mensagem, ele pode impedir a visualização clicando em
no ícone de visualização. Os usuários podem excluir o card anexado a qualquer momento clicando em Remover visualização.Configurar visualizações de links
Registre links específicos, como example.com
, support.example.com
e support.example.com/cases/
, como padrões de URL na página de configuração do app do Chat no console do Google Cloud para que o app do Chat possa visualizá-los.
- Abra o Console do Google Cloud.
- Ao lado de "Google Cloud", clique na seta para baixo e abra o projeto do app do Chat.
- No campo de pesquisa, digite
Google Chat API
e clique em API Google Chat. - Clique em Gerenciar > Configuração.
- Em Visualizações de link, adicione ou edite um padrão de URL.
- Para configurar visualizações de link para um novo padrão de URL, clique em Adicionar padrão de URL.
- Para editar a configuração de um padrão de URL, clique na seta para baixo .
No campo Padrão do host, digite o domínio do padrão de URL. O app do Chat vai visualizar os links para este domínio.
Para ver os links de visualização do app do Chat em um subdomínio específico, como
subdomain.example.com
, inclua o subdomínio.Para acessar os links de visualização do app do Chat no domínio inteiro, especifique um caractere curinga com um asterisco (*) como o subdomínio. Por exemplo,
*.example.com
corresponde asubdomain.example.com
eany.number.of.subdomains.example.com
.No campo Prefixo do caminho, digite um caminho para anexar ao domínio do padrão do host.
Para corresponder a todos os URLs no domínio do padrão de host, deixe Prefixo do caminho vazio.
Por exemplo, se o padrão do host for
support.example.com
, insiracases/
para corresponder a URLs em casos hospedados emsupport.example.com/cases/
.Clique em Concluído.
Clique em Salvar.
Agora, sempre que alguém incluir um link que corresponda a um padrão de URL de visualização de link a uma mensagem em um espaço do Chat que inclui seu app do Chat, o app exibirá o link.
Visualizar um link
Depois que você configura a visualização de um determinado link, o app do Chat pode reconhecer e visualizar o link anexando mais informações a ele.
Nos espaços do Chat que incluem o
app do Chat, quando a mensagem de alguém contém um link que
corresponde a um padrão do URL de visualização, o app do Chat
recebe um
evento de interação MESSAGE
. O payload JSON do evento de interação contém o campo matchedUrl
:
JSON
message {
. . . // other message attributes redacted
"matchedUrl": {
"url": "https://support.example.com/cases/case123"
},
. . . // other message attributes redacted
}
Ao verificar a presença do campo matchedUrl
no payload do evento
MESSAGE
, o app do Chat pode adicionar informações à
mensagem com o link visualizado. O app do Chat pode
responder com uma mensagem de texto simples ou anexar um cartão.
Responder com uma mensagem de texto
Para respostas simples, seu app do Chat pode visualizar um link respondendo com uma mensagem de texto simples a um link. Esse exemplo anexa uma mensagem que repete o URL do link que corresponde a um padrão de URL de visualização de links.
Node.js
Apps Script
Anexar um cartão
Para anexar um card a um link visualizado,
retorne um
ActionResponse
do tipo UPDATE_USER_MESSAGE_CARDS
. Este exemplo anexa um cartão simples.
Node.js
Apps Script
Atualizar um cartão
Para atualizar o card anexado a um link visualizado, retorne um
ActionResponse
do tipo UPDATE_USER_MESSAGE_CARDS
. Os apps de chat só podem atualizar
cards que exibem links como resposta a um
evento de interação com o app do Chat.
Os apps de chat não podem atualizar esses cards chamando a API Chat
de forma assíncrona.
A visualização de links não suporta o retorno de um ActionResponse
do tipo UPDATE_MESSAGE
. Como o UPDATE_MESSAGE
atualiza a mensagem inteira em vez de apenas o card, ele só funcionará se o app do Chat tiver criado a mensagem original. Com esse recurso, um card é anexado a uma mensagem criada pelo usuário. Por isso, o app do Chat não tem permissão para atualizar a mensagem.
Para garantir que uma função atualize cards criados pelo usuário e pelo app no stream do Chat, defina dinamicamente o ActionResponse
com base no fato de o app do Chat ou um usuário ter criado a mensagem.
- Se um usuário tiver criado a mensagem, defina
ActionResponse
comoUPDATE_USER_MESSAGE_CARDS
. - Se um app do Chat tiver criado a mensagem, defina
ActionResponse
comoUPDATE_MESSAGE
.
Há duas maneiras de fazer isso: especificar e verificar uma actionMethodName
personalizada como parte da propriedade onclick
do cartão anexado (que identifica a mensagem como criada pelo usuário) ou verificar se ela foi criada por um usuário.
Opção 1: verificar se há actionMethodName
Para usar actionMethodName
para processar corretamente CARD_CLICKED
eventos de interação em cards visualizados, defina um actionMethodName
personalizado como parte da propriedade onclick
do card anexado:
JSON
. . . // Preview card details
{
"textButton": {
"text": "ASSIGN TO ME",
"onClick": {
// actionMethodName identifies the button to help determine the
// appropriate ActionResponse.
"action": {
"actionMethodName": "assign",
}
}
}
}
. . . // Preview card details
Com a "actionMethodName": "assign"
identificando o botão como parte de uma visualização de link, é possível retornar dinamicamente o ActionResponse
correto, verificando se há um actionMethodName
correspondente:
Node.js
Apps Script
Opção 2: verificar o tipo de remetente
Verifique se message.sender.type
é HUMAN
ou BOT
. Se for HUMAN
, defina ActionResponse
como UPDATE_USER_MESSAGE_CARDS
. Caso contrário, defina ActionResponse
como UPDATE_MESSAGE
. Veja como fazer isso:
Node.js
Apps Script
Um motivo comum para atualizar um card é em resposta ao clique em um botão. Lembre-se do botão Atribuir a mim da seção anterior, Anexar um cartão. O exemplo completo a seguir atualiza o card informando que foi atribuído a "Você" depois que o usuário clicar em Atribuir a mim. O exemplo define ActionResponse
dinamicamente, verificando o tipo de remetente.
Exemplo completo: caso do app do Chat de atendimento ao cliente
Confira o código completo do Case-y, um app do Chat que mostra links para casos compartilhados em um espaço do Chat em que os agentes de atendimento ao cliente colaboram.
Node.js
Apps Script
Limites e considerações
Ao configurar visualizações de links no app do Chat, observe estes limites e considerações:
- Cada app de chat oferece suporte a visualizações de links em até cinco padrões de URL.
- Os apps de chat exibem um link por mensagem. Se uma única mensagem incluir vários links que podem ser visualizados, somente o primeiro deles será visualizado.
- Os apps de chat só exibem links que começam com
https://
. Portanto, ohttps://support.example.com/cases/
visualiza, mas osupport.example.com/cases/
não. - A menos que a mensagem inclua outras informações enviadas ao app do Chat, como um comando de barra, somente o URL do link será enviado ao app do Chat pelas visualizações de link.
- Os cards anexados aos links visualizados só são compatíveis com um
ActionResponse
do tipoUPDATE_USER_MESSAGE_CARDS
e apenas em resposta a um evento de interação com o app do Chat. As visualizações de link não são compatíveis comUPDATE_MESSAGE
ou solicitações assíncronas para atualizar cards anexados a um link visualizado usando a API Chat. Para saber mais, consulte Atualizar um cartão.
Depurar visualizações de links
Ao implementar as visualizações de links, talvez seja necessário depurar o app do Chat lendo os registros do app. Para ler os registros, acesse o Navegador de Registros no console do Google Cloud.