Trabaja con eventos de Google Chat

En esta página, se explica cómo las apps de Google Chat pueden recibir eventos en Google Chat y responder a ellos.

Un evento de Google Chat representa una actividad o un cambio en Chat, como un mensaje nuevo en un espacio. Tu app de Chat puede usar eventos para comprender lo que sucedió y tomar medidas o responder de manera significativa para tus usuarios.

Estos son algunos ejemplos de cómo puedes usar los eventos:

  • Supervisa y responde mensajes nuevos en un espacio, por ejemplo, verificando palabras o frases clave.
  • Envía un mensaje de bienvenida a los usuarios a medida que se unan al espacio para explicar los lineamientos del espacio o compartir sugerencias sobre cómo usar la app de Chat de manera eficaz.
  • Haz un seguimiento de la actividad de Chat y analízala. Por ejemplo, para enviar un informe mensual sobre los miembros nuevos o los mensajes que obtienen la mayor cantidad de reacciones o respuestas.
  • Comunícate en todas las plataformas de mensajería. Por ejemplo, los usuarios pueden enviar y recibir mensajes de usuarios en una plataforma de mensajería diferente sin salir de Chat.

Cómo funcionan los eventos

Cuando sucede algo en Google Chat, se crea, actualiza o borra un recurso de la API de Google Chat. Chat usa eventos para entregar información a tu app de Chat sobre el tipo de actividad que se produjo y el recurso de la API de Chat afectado.

Ejemplo de cómo un mensaje publicado en un espacio de Google Chat activa un evento.
Figura 1. Un usuario publica un mensaje en un espacio de Chat, lo que crea un recurso Message. Luego, Chat crea un evento que contiene datos sobre el mensaje nuevo.

Chat clasifica los eventos por tipo. Los tipos de eventos te ayudan a filtrar y recibir solo el tipo de información que necesitas y te permiten controlar actividades similares de la misma manera.

En la siguiente tabla, se muestra cómo una actividad en Chat afecta a un recurso de la API de Chat relacionado y el tipo de evento que recibe tu app de Chat:

Actividad Recurso de la API de Chat Tipo de evento
Un usuario publica un mensaje en un espacio de Chat Se crea un recurso Message. Mensaje nuevo
Un usuario se convierte en administrador del espacio. Se actualiza un recurso Membership. Membresía actualizada
Un usuario reacciona a un mensaje. Se crea un recurso Reaction. Reacción nueva
Un usuario abandona un espacio. Se borra un recurso Membership. Membresía borrada

Recibe eventos de Google Chat

Para recibir eventos, la app de Chat puede realizar cualquiera de las siguientes acciones:

  • Suscríbete a eventos con la API de Google Workspace Events para recibir eventos a medida que ocurren.
  • Llama a la API de Chat para consultar eventos recientes.

En la siguiente tabla, se explican la diferencia y los motivos para consultar o suscribirse a eventos:

Suscríbete a eventos Consulta de eventos
Casos de uso
  • Procesa eventos o responde a ellos en tiempo real.
  • Supervisa la actividad de las membresías de los usuarios y descubre nuevos espacios para supervisar.
  • Procesa eventos o responde a ellos de forma periódica o mediante un activador.
  • Recupera eventos perdidos de una suscripción (debido a interrupciones o suscripciones inactivas).
API API de Google Workspace Events Chat API
Fuente de los eventos Espacios y usuarios Solo espacios
Eventos admitidos
  • Mensajes
  • Membresías
  • Reacciones
  • Espacio

Si deseas obtener una lista de los tipos de eventos admitidos, consulta Tipos de eventos para crear suscripciones en la documentación de la API de Google Workspace Events.
  • Mensajes
  • Membresías
  • Reacciones
  • Espacio

Para obtener una lista de los tipos de eventos admitidos, consulta el recurso spaceEvents en la documentación de referencia de la API de Chat.
Formato del evento Un mensaje de Google Cloud Pub/Sub con el formato indicado en la especificación de CloudEvent. Para obtener más información, consulta Estructura de eventos de Google Workspace. Un recurso de la API de Chat ( spaces.spaceEvent)
Datos de eventos String codificada en base64 con o sin datos de recursos. Para ver ejemplos de cargas útiles, consulta Datos de eventos. Carga útil de JSON que contiene datos de recursos. Algunos tipos de eventos solo incluyen ciertos campos de recursos. Para ver ejemplos de cargas útiles, consulta la documentación de referencia.

Ejemplo: Consulta eventos sobre las membresías de un espacio o suscríbete a ellos

En este ejemplo, una app de Chat desea recibir información sobre los cambios en los miembros de un espacio de Chat. En el espacio, ocurre la siguiente actividad de membresía:

  • Un usuario se une al espacio, lo que crea un recurso Membership y activa un evento de miembro nuevo.
  • Un usuario se convierte en administrador del espacio, lo que actualiza el recurso Membership para el usuario y activa un evento de miembro actualizado.
  • Un usuario abandona el espacio, lo que borra el recurso Membership para el usuario y activa un evento de eliminación de un miembro.

Suscríbete a eventos de membresía

Para recibir eventos en tiempo real, la app de Chat llama al método subscriptions.create() de la API de Google Workspace Events para suscribirse al espacio para todos los tipos de eventos de membresía. Después de crear la suscripción, la app de Chat puede comenzar a recibir eventos de membresía.

App de Chat que se suscribe a eventos con la API de Google Workspace Events.
Figura 2: Una app de Chat recibe eventos de membresía a través de una suscripción mediante la API de Google Workspace Events.

En la figura 2, la app de Chat tiene una suscripción activa al espacio, por lo que recibe un evento cada vez que cambia una membresía del espacio. Luego, la app de Chat puede procesar o responder en tiempo real a cualquiera de las actividades, como publicar un mensaje de bienvenida privado para el miembro que se unió al espacio.

Para obtener más información sobre cómo crear suscripciones con la API de Google Workspace Events, consulta la documentación de la API de Google Workspace Events.

Consulta sobre los eventos de membresía recientes

En lugar de recibir los eventos de membresía a medida que ocurren, una app de Chat puede llamar a la API de Chat para enumerar los eventos del espacio recientes relacionados con la actividad de membresías.

App de Chat que consulta eventos por medio de la
        API de Chat
Figura 3: Una app de Chat recibe eventos de membresía recientes a través de consultas sobre eventos del espacio con la API de Chat.

En la Figura 3, una app de Chat llama al método spaces.spaceEvents.list() de la API de Chat después de que se realizan todas las actividades de membresía y filtra la consulta según los eventos de membresía nuevos, actualizados y borrados. La API de Chat muestra una lista de recursos spaceEvent que representan cada uno de los cambios de membresía. Luego, la app de Chat puede procesar o responder según la actividad reciente, como la publicación de un mensaje semanal con un resumen de la actividad de membresía del espacio en los últimos 7 días.

Para consultar eventos con la API de Chat, consulta Crea una lista de eventos de un espacio de Google Chat.

Limitaciones

  • En el caso de las suscripciones a usuarios, los eventos sobre miembros nuevos en mensajes directos o chats en grupo sin nombre (google.workspace.chat.membership.v1.created) solo se activan después de que se publica el primer mensaje.
  • Para recibir eventos de membresía, el usuario debe ser un miembro directo del espacio. Si un usuario se agregó, actualizó o quitó de forma indirecta en un espacio a través de un Grupo de Google, la suscripción no recibirá esos eventos de membresía. Para comprender cómo funcionan las membresías del Grupo de Google, consulta Agrega un Grupo de Google a un espacio.