Los webhooks entrantes te permiten enviar mensajes asíncronos a Google Chat desde aplicaciones que no son de Chat. Por ejemplo, puedes configurar una aplicación de supervisión para notificar al personal de guardia en Google Chat cuando un servidor falle.
Para enviar, actualizar o borrar un mensaje de forma asíncrona en un espacio de Chat con una app de Chat, consulta Crea, lee, actualiza y borra mensajes.
Requisitos previos
Para ejecutar el ejemplo de esta guía, necesitas lo siguiente:
Python
- Python 3.10.7 o superior.
- Acceso a Internet y un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio de Google Chat existente
La biblioteca
httplib2
Si es necesario, ejecuta el siguiente comando de la interfaz de línea de comandos (CLI) para instalar la biblioteca con pip:pip install httplib2
Node.js
- Se instalaron Node.js y npm.
- Acceso a Internet y un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio de Google Chat existente
Apps Script
- Acceso a Internet y un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio de Google Chat existente
Java
- Java 11 o superior.
- Apache Maven
- Acceso a Internet y un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio de Google Chat existente
Crea un webhook
Para crear un webhook, regístralo en el espacio de Google Chat en el que quieres recibir mensajes y, luego, escribe una secuencia de comandos que envíe mensajes.
Paso 1: Registra el webhook entrante
- Abre Google Chat.
- Abre el espacio en el que deseas agregar un webhook.
- Junto al título del espacio, haz clic en la flecha para expandir más y, luego, en Integraciones y apps.
- Haz clic en Agregar webhooks.
- En el campo Name, ingresa
Quickstart Webhook
. - En el campo URL del avatar, ingresa
https://developers.google.com/chat/images/chat-product-icon.png
. - Haz clic en Guardar.
- Para copiar la URL del webhook, haz clic en Más y, luego, en Copiar vínculo.
Paso 2: Escribe la secuencia de comandos del webhook
La secuencia de comandos del webhook de ejemplo publica un mensaje en el espacio en el que está registrado el webhook mediante la PUBLICACIÓN de una solicitud de creación de mensaje en la URL de webhook. La API de Google Chat responde con una instancia de Message
.
Elige uno de los siguientes lenguajes para obtener instrucciones específicas sobre cómo crear la secuencia de comandos del webhook:
Python
En el directorio de trabajo, crea un archivo llamado
quickstart.py
.En
quickstart.py
, copia y pega el siguiente código:Reemplaza el valor de la variable
url
por la URL de webhook que copiaste en el Paso 1: Registra el webhook entrante.
Node.js
En el directorio de trabajo, crea un archivo llamado
index.js
.En
index.js
, copia y pega el siguiente código:Reemplaza el valor de la variable
webhookURL
por la URL de webhook que copiaste en el Paso 1: Registra el webhook entrante.
Apps Script
Ve a la página Apps Script.
Haz clic en New Project.
Copia y pega el siguiente código:
Reemplaza el valor de la variable
url
por la URL de webhook que copiaste en el Paso 1: Registra el webhook entrante.
Java
En el directorio de trabajo, crea un archivo llamado
pom.xml
.En
pom.xml
, copia y pega lo siguiente:En tu directorio de trabajo, crea la siguiente estructura de directorio
src/main/java
.En el directorio
src/main/java
, crea un archivo llamadoApp.java
.En
App.java
, copia y pega el siguiente código:Reemplaza el valor de la variable
URL
por la URL de webhook que copiaste en el Paso 1: Registra el webhook entrante.
Paso 3: Ejecuta la secuencia de comandos del webhook
Ejecuta el siguiente comando desde el directorio de trabajo en la CLI para ejecutar la muestra:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Haga clic en Ejecutar
Java
mvn compile exec:java -Dexec.mainClass=App
Cuando ejecutas el código de muestra, el webhook envía un mensaje al espacio en el que lo registraste.
Iniciar o responder una conversación de mensajes
Puedes iniciar una conversación de mensajes o responder una si agregas el parámetro threadKey
a la URL de webhook. Cada threadKey
es único para la app que lo configura. Si dos apps de Chat o webhooks diferentes configuran el mismo threadKey
, se inician dos subprocesos diferentes.
Cómo iniciar una conversación de mensajes
Para publicar el primer mensaje de un subproceso con un webhook, agrega los parámetros threadKey
y messageReplyOption
a la URL de webhook. Configura threadKey
como una string arbitraria, pero recuerda qué es. Deberás volver a especificarla para publicar una respuesta en la conversación.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Cómo responder a una conversación de mensajes
Para enviar un mensaje a una conversación de mensajes existente, agrega los parámetros threadKey
y messageReplyOption
a la URL de webhook con el valor utilizado para iniciar la conversación. Por ejemplo, si envías un mensaje a la siguiente URL, se publica una respuesta a la conversación, donde threadKey
es MY-THREAD
y messageReplyOption
es REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Límites y consideraciones
Cuando configures webhooks, ten en cuenta estos límites y consideraciones:
Cada webhook solo funciona en el espacio de Chat en el que está registrado.
No puedes publicar webhooks en Google Workspace Marketplace.
Los webhooks no son conversacionales. No pueden responder ni recibir mensajes de los usuarios ni de los eventos de interacción de la app de Chat.
Si solo las unidades organizativas (UO) de tu dominio tienen apps de chat habilitadas, los webhooks entrantes mostrarán el siguiente error:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Los webhooks entrantes funcionan en los mensajes directos, pero solo cuando todos los usuarios tienen habilitadas las aplicaciones de chat.
Dado que
Administrar webhooks solo está disponible desde un navegador web, los webhooks se deben configurar desde la aplicación web de Chat. Los webhooks no se pueden configurar desde la aplicación de Chat para dispositivos móviles.