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 se cae un servidor.
Para enviar, actualizar o borrar un mensaje de forma asíncrona en un espacio de Chat con una app de chat, consulta Cómo crear, leer, actualizar y borrar mensajes.
Requisitos previos
Para ejecutar el ejemplo de esta guía, necesitas lo siguiente:
Python
- Python 3.10.7 o una versión posterior
- Acceso a Internet y a un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio existente de Google Chat
La biblioteca
httplib2
. Si es necesario, ejecute 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 a un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio existente de Google Chat
Apps Script
- Acceso a Internet y a un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio existente de Google Chat
Java
- Java 11 o superior
- Apache Maven
- Acceso a Internet y a un navegador web
- Una cuenta de Google Workspace con acceso a Google Chat
- Un espacio existente de Google Chat
Crea un webhook
Para crear un webhook, regístralo en el espacio de Google Chat en el que deseas recibir mensajes y, luego, escribe una secuencia de comandos que envíe los mensajes.
Paso 1: Registra el webhook entrante
- En un navegador web, abre Google Chat.
- Ve al espacio al que deseas agregar un webhook.
- En la parte superior, junto al título del espacio, haz clic en la flecha hacia abajo > Apps e integraciones.
- Haz clic en Administrar webhooks.
- Si este espacio ya tiene otros webhooks, haz clic en Agregar otro. De lo contrario, omite este paso.
- En Nombre, ingresa "quickstart Webhook".
- En Avatar URL, ingresa
https://developers.google.com/chat/images/chat-product-icon.png
. - Haz clic en GUARDAR.
- Para copiar la URL completa de webhook, haz clic en Copiar.
- Haz clic fuera del cuadro para cerrar el diálogo de webhooks entrantes.
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 se registró mediante la publicación de una solicitud create message para crear la URL del webhook. La API de Google Chat responde con una instancia de Message
.
Elige un idioma a continuación para obtener instrucciones específicas sobre cómo crear la secuencia de comandos de webhook:
Python
En tu 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 tu 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.
Copie y pegue 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 tu directorio de trabajo, crea un archivo llamado
pom.xml
.En
pom.xml
, copia y pega lo siguiente:En el 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 la muestra ejecutando el siguiente comando desde el directorio de trabajo en tu CLI:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Haga clic en Ejecutar
Java
mvn compile exec:java -Dexec.mainClass=App
Cuando ejecute el código de muestra, el webhook enviará un mensaje al espacio en el que lo registró.
Cómo iniciar o responder una conversación de mensajes
Puedes iniciar una conversación de mensajes o responder a una agregando el parámetro threadKey
a la URL de webhook. Cada threadKey
es único para la app que lo configura. Si dos apps o webhooks de Chat 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 del webhook. Establece el threadKey
en una string arbitraria, pero recuerda cuál es; deberás volver a especificarlo 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
Responde a una conversación de mensajes
Si deseas enviar un mensaje a una conversación de mensaje existente, agrega los parámetros threadKey
y messageReplyOption
a la URL de webhook configurada en el valor utilizado para iniciar la conversación. Por ejemplo, si se envía un mensaje a la siguiente URL, se publica una respuesta en la conversación en la que 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 los webhooks, ten en cuenta estos límites y consideraciones:
Cada webhook funciona solo 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 usuarios ni eventos de Google Chat.
Si solo las unidades organizativas (UO) seleccionadas de tu dominio tienen apps de chat habilitadas, los webhooks entrantes muestran el siguiente error:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Los webhooks entrantes funcionan en mensajes directos, pero solo cuando todos los usuarios tienen aplicaciones de Chat habilitadas.
Debido a que
Administrar webhooks solo está disponible desde un navegador web, los webhooks se deben configurar desde la app web de Chat. Los webhooks no se pueden configurar desde la app para dispositivos móviles de Chat.