Esta página descreve como configurar um webhook para enviar mensagens assíncronas a um Espaço do Chat usando gatilhos externos. Por exemplo, é possível configurar um aplicativo de monitoramento para notificar os funcionários de plantão sobre Bata papo quando um servidor ficar inativo. Para enviar uma mensagem síncrona com um app do Chat, consulte Enviar uma mensagem.
Com esse tipo de arquitetura os usuários não podem interagir com o webhook ou com o servidor aplicativo porque a comunicação é unidirecional. Os webhooks não são de conversa. Eles não podem responder ou receber mensagens de usuários ou Eventos de interação com o app do Chat. Para responder às mensagens: criar um app do Chat em vez de um webhook.
Embora não seja tecnicamente um webhook em um app do Chat: os webhooks conectam aplicativos usando Solicitações HTTP. Esta página se refere a ele como um app de chat para simplificação. Cada webhook só funciona no espaço do Chat do em que ele está registrado. Os webhooks de entrada funcionam em mensagens diretas, mas apenas quando todos os usuários têm Apps do Chat ativados. Não é possível publicar webhooks no Google Workspace Marketplace.
O diagrama a seguir mostra a arquitetura de um webhook conectado Chat:
No diagrama anterior, um app do Chat tem o seguinte fluxo de informações:
- A lógica do app do Chat recebe informações serviços externos de terceiros, como um sistema de gerenciamento de projetos ferramenta de venda de ingressos.
- A lógica do app de chat é hospedada em uma nuvem ou que pode enviar mensagens usando um URL de webhook para um espaço específico do Chat.
- Os usuários podem receber mensagens do app do Chat em: esse espaço específico do Chat, mas não conseguem interagir com App Chat.
Pré-requisitos
Python
- Uma empresa Conta do Google Workspace com acesso a Google Chat. Sua organização do Google Workspace precisa permitir que os usuários adicionar e usar webhooks de entrada.
- Python 3.6 ou superior
- a ferramenta de gerenciamento de pacotes PIP;
A biblioteca
httplib2
. Para instalar a biblioteca, execute o seguinte comando na interface de linha de comando:pip install httplib2
Um espaço do Google Chat. Para criar um grupo usando a API Google Chat, consulte Criar um espaço. Para criar uma no Chat: acesse documentação da Central de Ajuda.
Node.js
- Uma empresa Conta do Google Workspace com acesso a Google Chat. Sua organização do Google Workspace precisa permitir que os usuários adicionar e usar webhooks de entrada.
- Node.js 14 ou mais recente
- O npm ferramenta de gerenciamento de pacotes
- Um espaço do Google Chat. Para criar um grupo usando a API Google Chat, consulte Criar um espaço. Para criar uma no Chat: acesse documentação da Central de Ajuda.
Java
- Uma empresa Conta do Google Workspace com acesso a Google Chat. Sua organização do Google Workspace precisa permitir que os usuários adicionar e usar webhooks de entrada.
- Java 11 ou mais recente
- A ferramenta de gerenciamento de pacotes Maven
- Um espaço do Google Chat. Para criar um grupo usando a API Google Chat, consulte Criar um espaço. Para criar uma no Chat: acesse documentação da Central de Ajuda.
Apps Script
- Uma empresa Conta do Google Workspace com acesso a Google Chat. Sua organização do Google Workspace precisa permitir que os usuários adicionar e usar webhooks de entrada.
- Crie um projeto independente do Apps Script, e ative o Serviço avançado de chat.
- Um espaço do Google Chat. Para criar um grupo usando a API Google Chat, consulte Criar um espaço. Para criar uma no Chat: acesse documentação da Central de Ajuda.
Criar um webhook
Para criar um webhook, registre-o no espaço do Chat. para receber mensagens e depois escreva um script que as envie.
Registrar o webhook de entrada
- Em um navegador, abra Chat. Não é possível configurar webhooks no app Chat para dispositivos móveis.
- Acesse o espaço onde você quer adicionar um webhook.
- Ao lado do título do espaço, clique no a seta para expandir mais e depois clique em Aplicativos e integrações.
Clique em
Add webhooks.No campo Nome, use
Quickstart Webhook
.No campo URL do avatar, digite
https://developers.google.com/chat/images/chat-product-icon.png
Clique em Salvar.
Para copiar o URL do webhook, clique em
Mais e clique em Copiar link.
Criar o script do webhook
O script de webhook de exemplo envia uma mensagem para o espaço em que o webhook está
registrada enviando uma solicitação POST
para o URL do webhook. A
A API Chat responde com uma instância
Message
Selecione uma linguagem para saber como criar um script de webhook:
Python
No diretório de trabalho, crie um arquivo chamado
quickstart.py
.Em
quickstart.py
, cole o seguinte código:Substitua o valor da variável
url
pelo URL do webhook que que você copiou ao registrar o webhook.
Node.js
No diretório de trabalho, crie um arquivo chamado
index.js
.Em
index.js
, cole o seguinte código:Substitua o valor da variável
url
pelo URL do webhook que que você copiou ao registrar o webhook.
Java
No diretório de trabalho, crie um arquivo chamado
pom.xml
.Em
pom.xml
, copie e cole o seguinte:No seu diretório de trabalho, crie a seguinte estrutura de diretórios
src/main/java
:No diretório
src/main/java
, crie um arquivo chamadoApp.java
.Em
App.java
, cole o seguinte código:Substitua o valor da variável
URL
pelo URL do webhook que você copiado quando você registrou o webhook.
Apps Script
Em um navegador, acesse Apps Script.
Clique em New Project.
Cole o seguinte código:
Substitua o valor da variável
url
pelo URL do webhook que você copiado quando você registrou o webhook.
Executar o script do webhook
Em uma CLI, execute o script:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Clique em Executar.
Quando você executa o código, o webhook envia uma mensagem para o espaço o registrou.
Iniciar ou responder a uma conversa
Especificar
spaces.messages.thread.threadKey
como parte do corpo da solicitação da mensagem. Dependendo se você está iniciando ou responder a uma conversa, use os seguintes valores parathreadKey
:Ao iniciar uma linha de execução, defina
threadKey
como uma string arbitrária, mas anote esse valor para postar uma resposta na conversa.Ao responder a uma conversa, especifique o
threadKey
que foi definido quando a thread foi iniciado. Por exemplo, para postar uma resposta à conversa em que o a mensagem inicial foi usada comoMY-THREAD
, definaMY-THREAD
.
Defina o comportamento da linha de execução se o
threadKey
especificado não for encontrado:Responda a uma conversa ou inicie uma nova. Adicione o método
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
para o URL do webhook. Transmitir esse parâmetro de URL faz com que o Chat para procurar uma linha de execução existente usando othreadKey
especificado. Se um deles for encontrada, a mensagem será postada como uma resposta a essa conversa. Se nenhum for encontrada, a mensagem inicia uma nova conversa correspondente àthreadKey
:Responder a uma conversa ou não fazer nada. Adicione o método parâmetro
messageReplyOption=REPLY_MESSAGE_OR_FAIL
para o URL do webhook. Transmitir esse parâmetro de URL faz com que o Chat para procurar uma linha de execução existente usando othreadKey
especificado. Se um deles for encontrada, a mensagem será postada como uma resposta a essa conversa. Se nenhum for for encontrada, a mensagem não será enviada.
Para saber mais, consulte
messageReplyOption
.
O exemplo de código a seguir inicia ou responde a uma linha de execução de mensagens: