Os webhooks de entrada permitem enviar mensagens assíncronas para o Google Chat de aplicativos que não são do Chat. Por exemplo, é possível configurar um aplicativo de monitoramento para notificar a equipe de plantão no Google Chat quando um servidor estiver inativo.
Veja como enviar, atualizar ou excluir uma mensagem de forma assíncrona em um espaço do Chat com um app de chat em Criar, ler, atualizar e excluir mensagens.
Pré-requisitos
Para executar o exemplo neste guia, você precisa do seguinte:
Python
- Python 3.10.7 ou posterior.
- Acesso à Internet e a um navegador da Web.
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um espaço do Google Chat.
A biblioteca
httplib2
. Se necessário, execute o seguinte comando da interface de linha de comando (CLI) para instalar a biblioteca usando o pip:pip install httplib2
Node.js
- Node.js e npm instalados.
- Acesso à Internet e a um navegador da Web.
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um espaço do Google Chat.
Apps Script
- Acesso à Internet e a um navegador da Web.
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um espaço do Google Chat.
Java
- Java 11 ou mais recente
- Apache Maven (em inglês)
- Acesso à Internet e a um navegador da Web.
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um espaço do Google Chat.
Criar um webhook
Para criar um webhook, registre-o no espaço do Google Chat em que você quer receber mensagens e escreva um script que envie mensagens.
Etapa 1: registrar o webhook de entrada
- Em um navegador da Web, abra o Google Chat.
- Acesse o espaço ao qual você quer adicionar um webhook.
- Na parte de cima, ao lado do título do espaço, clique na seta para baixo > Apps e integrações.
- Clique em Gerenciar webhooks.
- Se esse espaço já tiver outros webhooks, clique em Adicionar outro. Caso contrário, pule esta etapa.
- Em Nome, digite "Webhook quickstart".
- Em URL do avatar, insira
https://developers.google.com/chat/images/chat-product-icon.png
. - Clique em SALVAR.
- Para copiar o URL completo do webhook, clique em Copiar.
- Clique fora da caixa para fechar a caixa de diálogo "Webhooks de entrada".
Etapa 2: gravar o script do webhook
O script de webhook de exemplo posta uma mensagem no espaço em que o webhook é registrado enviando uma solicitação create message para o URL do webhook. A API Google Chat responde com uma instância do Message
.
Escolha uma linguagem abaixo para instruções específicas sobre como criar o script do webhook:
Python
No diretório de trabalho, crie um arquivo chamado
quickstart.py
.Em
quickstart.py
, copie e cole o seguinte código:Substitua o valor da variável
url
pelo URL do webhook que você copiou na Etapa 1: registre o webhook de entrada.
Node.js
No diretório de trabalho, crie um arquivo chamado
index.js
.Em
index.js
, copie e cole o seguinte código:Substitua o valor da variável
webhookURL
pelo URL do webhook que você copiou na Etapa 1: registre o webhook de entrada.
Apps Script
Acesse a página do Apps Script.
Clique em New Project.
Copie e cole o seguinte código:
Substitua o valor da variável
url
pelo URL do webhook que você copiou na Etapa 1: registre o webhook de entrada.
Java
No diretório de trabalho, crie um arquivo chamado
pom.xml
.Em
pom.xml
, copie e cole o seguinte:No diretório de trabalho, crie a estrutura de diretório
src/main/java
.No diretório
src/main/java
, crie um arquivo chamadoApp.java
.Em
App.java
, copie e cole o seguinte código:Substitua o valor da variável
URL
pelo URL do webhook que você copiou na Etapa 1: registre o webhook de entrada.
Etapa 3: executar o script do webhook
Para executar o exemplo, execute o seguinte comando no seu diretório de trabalho na CLI:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Clique em Executar.
Java
mvn compile exec:java -Dexec.mainClass=App
Quando você executa a amostra de código, o webhook envia uma mensagem para o espaço em que você a registrou.
Iniciar ou responder a uma conversa
Você pode iniciar uma conversa ou responder a uma mensagem adicionando o parâmetro threadKey
ao URL do webhook. Cada threadKey
é exclusivo para o app que o define. Se dois apps ou webhooks do Chat diferentes definirem o mesmo threadKey
, duas linhas de execução diferentes serão iniciadas.
Iniciar uma conversa
Para postar a primeira mensagem de uma linha de execução com um webhook, anexe o parâmetro threadKey
ao URL do webhook. Defina a threadKey
como uma string arbitrária, mas lembre-se dela, porque você precisará especificá-la novamente para postar uma resposta à linha de execução.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING
Responder a uma conversa
Para enviar uma mensagem a uma linha de execução de mensagem existente, anexe o parâmetro threadKey
ao URL do webhook, definido como o valor usado para iniciar a linha de execução. Por exemplo, o envio de uma mensagem para o seguinte URL posta uma resposta na conversa em que threadKey
é MY-THREAD
:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD
Limites e considerações
Ao configurar webhooks, considere estes limites e considerações:
Cada webhook só funciona no espaço do Chat em que está registrado.
Não é possível publicar webhooks no Google Workspace Marketplace.
Os webhooks não são conversacionais. Eles não podem responder ou receber mensagens de usuários ou eventos do Google Chat.
Se apenas unidades organizacionais (UOs) no seu domínio tiverem apps de chat ativados, os webhooks de entrada retornarão o seguinte erro:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Os webhooks de entrada funcionam em mensagens diretas, mas apenas quando todos os usuários têm os apps de chat ativados.
Como o recurso
Gerenciar webhooks está disponível apenas em um navegador da Web, os webhooks precisam ser configurados no app Chat para a Web. Não é possível configurar os webhooks no app Chat para dispositivos móveis.