En esta página, se describe cómo configurar un webhook para enviar mensajes asíncronos a un Espacio de Chat con activadores externos Por ejemplo, puedes configurar una aplicación de supervisión para notificar al personal de guardia sobre Chatear cuando un servidor deja de funcionar Para enviar un mensaje síncrono, haz lo siguiente: con una app de Chat, consulta Envía un mensaje.
Con este tipo de arquitectura los usuarios no pueden interactuar con el webhook ni con el servidor aplicación porque la comunicación es unidireccional. Los webhooks no son conversacionales. No pueden responder ni recibir mensajes de los usuarios o Eventos de interacción con la app de Chat. Para responder mensajes, compila una app de Chat en lugar de un webhook.
Si bien un webhook, técnicamente, no es en una app de Chat; los webhooks conectan las aplicaciones mediante Solicitudes HTTP: Esta página se refiere a ella como una app de Chat para simplificación. Cada webhook solo funciona en el espacio de Chat en en el que está registrado. Los webhooks entrantes funcionan en los mensajes directos, pero solo cuando todos los usuarios tienen Apps de chat habilitadas. No puedes publicar webhooks en Google Workspace Marketplace.
En el siguiente diagrama, se muestra la arquitectura de un webhook conectado al Chat:
En el diagrama anterior, una app de Chat tiene las siguientes características: flujo de información:
- La lógica de la app de Chat recibe información del servicios externos de terceros, como un sistema de gestión de proyectos o un de venta de entradas.
- La lógica de la app de Chat se aloja en un servicio que puede enviar mensajes con una URL de webhook a una un espacio de Chat específico.
- Los usuarios pueden recibir mensajes de la app de Chat en ese espacio de Chat específico, pero que no puedan interactuar App de Chat
Requisitos previos
Python
- Una empresa o empresa de Google Workspace con acceso a Google Chat. Tu organización de Google Workspace debe permitir que los usuarios agregar y usar webhooks entrantes.
- Python 3.6 o superior
- La herramienta de administración de paquetes pip
La biblioteca
httplib2
Para instalar la biblioteca, ejecuta el siguiente comando en tu interfaz de línea de comandos:pip install httplib2
Un espacio de Google Chat Para crear uno con la API de Google Chat, consulta Crea un espacio. Para crear una en Chat, sigue estos pasos: visita la Documentación del Centro de ayuda.
Node.js
- Una empresa o empresa de Google Workspace con acceso a Google Chat. Tu organización de Google Workspace debe permitir que los usuarios agregar y usar webhooks entrantes.
- Node.js 14 o versiones posteriores
- La herramienta npm herramienta de administración de paquetes
- Un espacio de Google Chat Para crear uno con la API de Google Chat, consulta Crea un espacio. Para crear una en Chat, sigue estos pasos: visita la Documentación del Centro de ayuda.
Java
- Una empresa o empresa de Google Workspace con acceso a Google Chat. Tu organización de Google Workspace debe permitir que los usuarios agregar y usar webhooks entrantes.
- Java 11 o superior
- La herramienta de administración de paquetes Maven
- Un espacio de Google Chat Para crear uno con la API de Google Chat, consulta Crea un espacio. Para crear una en Chat, sigue estos pasos: visita la Documentación del Centro de ayuda.
Apps Script
- Una empresa o empresa de Google Workspace con acceso a Google Chat. Tu organización de Google Workspace debe permitir que los usuarios agregar y usar webhooks entrantes.
- Crear un proyecto independiente de Apps Script, y activa el Servicio de chat avanzado.
- Un espacio de Google Chat Para crear uno con la API de Google Chat, consulta Crea un espacio. Para crear una en Chat, sigue estos pasos: visita la Documentación del Centro de ayuda.
Crea un webhook
Para crear un webhook, regístralo en el espacio de Chat donde quieras para recibir mensajes y, luego, escribir una secuencia de comandos que los envíe.
Registra el webhook entrante
- En un navegador, abre Chat. Los webhooks no se pueden configurar desde la app de Chat para dispositivos móviles.
- Ve al espacio en el que deseas agregar un webhook.
- Al lado del título del espacio, haz clic en el expande la flecha Más y, luego, haz clic en Aplicaciones y integraciones.
Haz clic en
Agregar webhooks.En el campo Nombre, 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, haz clic en Copiar vínculo
Escribe la secuencia de comandos del webhook
La secuencia de comandos de webhook de ejemplo envía un mensaje al espacio en el que se encuentra
se registra mediante el envío de una solicitud POST
a la URL de webhook. El
La API de Chat responde con una instancia de
Message
Selecciona un lenguaje para aprender a crear una secuencia de comandos de webhook:
Python
En el directorio de trabajo, crea un archivo llamado
quickstart.py
.En
quickstart.py
, pega el siguiente código:Reemplaza el valor de la variable
url
por la URL de webhook que que copiaste cuando registraste el webhook.
Node.js
En el directorio de trabajo, crea un archivo llamado
index.js
.En
index.js
, pega el siguiente código:Reemplaza el valor de la variable
url
por la URL de webhook que que copiaste cuando registraste el webhook.
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
, pega el siguiente código:Reemplaza el valor de la variable
URL
con la URL de webhook que copiaste cuando registraste el webhook.
Apps Script
En un navegador, ve a Apps Script.
Haz clic en New Project.
Pega el siguiente código:
Reemplaza el valor de la variable
url
con la URL de webhook que copiaste cuando registraste el webhook.
Ejecuta la secuencia de comandos del webhook
En la CLI, ejecuta la secuencia de comandos:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Haz clic en Ejecutar.
Cuando ejecutas el código, el webhook envía un mensaje al espacio en el que lo registró.
Iniciar o responder una conversación de mensajes
Especificar
spaces.messages.thread.threadKey
como parte del cuerpo de la solicitud de mensaje. Dependiendo de si estás empezando o responder a un subproceso, usa los siguientes valores parathreadKey
:Si inicias un subproceso, establece
threadKey
en una cadena arbitraria, pero toma nota de este valor para publicar una respuesta en la conversación.Si respondes a un subproceso, especifica el
threadKey
que se estableció cuando se se inició la conversación. Por ejemplo, para publicar una respuesta en la conversación donde la mensaje inicial usadoMY-THREAD
, establecerMY-THREAD
.
Define el comportamiento del subproceso si no se encuentra el
threadKey
especificado:Responde a una conversación o inicia una nueva. Agrega el Parámetro
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
para la URL de webhook. Pasar este parámetro de URL hace que Chat para buscar un subproceso existente usando elthreadKey
especificado. Si hay uno , el mensaje se publica como respuesta a esa conversación. Si no hay ninguno encontrado, el mensaje inicia una nueva conversación correspondiente a esethreadKey
Responde a una conversación o no hagas nada. Agrega el
messageReplyOption=REPLY_MESSAGE_OR_FAIL
a la URL de webhook. Pasar este parámetro de URL hace que Chat para buscar un subproceso existente usando elthreadKey
especificado. Si hay uno , el mensaje se publica como respuesta a esa conversación. Si no hay ninguno no se envía el mensaje.
Para obtener más información, consulta
messageReplyOption
.
La siguiente muestra de código inicia una conversación o responde a ella:
Python
Node.js
Apps Script
Temas relacionados
- Elige una arquitectura de app de Chat
- Envía mensajes con tarjetas
- Cómo darles formato a los mensajes