En esta página, se describen los eventos de Chat a los que se puede suscribir una app de Chat con la API de Google Workspace Events. Después de decidir qué tipos de eventos necesitas, crea una suscripción para comenzar a recibir eventos de Chat.
Además de suscribirte a los eventos, también puedes consultarlos llamando a la API de Google Chat. Llamar a la API de Chat te permite recuperar eventos de forma periódica o ponerte al día con los eventos que podrías haberte perdido de una suscripción debido a una interrupción. Para conocer las formas en que puedes recibir y responder eventos de Chat, consulta Trabaja con eventos de Chat en la documentación de Chat.
Eventos de Chat admitidos
Las suscripciones a Google Workspace te permiten recibir eventos sobre los siguientes tipos de cambios en Chat:
- Mensajes nuevos, actualizados o borrados en el espacio.
- Reacciones nuevas a un mensaje o reacciones que se quitaron de un mensaje
- Miembros nuevos, actualizados o que se quitaron del espacio.
- Cambios en el espacio al que te suscribiste, como una actualización del nombre o la descripción del espacio.
- Cambios en la disponibilidad del usuario
- Cambios en el spaceReadState o threadReadState del usuario.
Recursos que puedes supervisar para detectar eventos
Para recibir eventos, debes especificar un recurso de Chat que se supervisará, que se denomina recurso objetivo de la suscripción.
La API de Google Workspace Events admite los siguientes recursos de destino para Chat:
| Recurso objetivo | Formato | Limitaciones |
|---|---|---|
| Espacio |
donde SPACE es el ID en el
nombre del recurso del recurso |
El usuario o la app de Chat que autoriza la suscripción debe ser miembro del espacio a través de su Cuenta de Google o de Google Workspace. Admite lo siguiente: |
| Todos los espacios de un usuario |
|
La suscripción solo recibe eventos de los espacios en los que el usuario es miembro a través de su Cuenta de Google o de Google Workspace. Solo admite la autenticación de usuarios. |
| Usuario |
donde USER es el ID en el
nombre del recurso del recurso |
La suscripción solo recibe eventos sobre el usuario que autorizó la suscripción. Un usuario no puede autorizar una suscripción en nombre de otros usuarios. Solo admite la autenticación de usuarios. |
| Cliente |
donde CUSTOMER es el ID de cliente. También puedes usar el alias |
La suscripción recibe eventos para todos los espacios y usuarios que administra el dominio del cliente. Solo admite la autenticación de apps con aprobación del administrador. |
Tipos de eventos para crear suscripciones
Cuando crees una suscripción, usa el campo
eventTypes[]
para especificar qué tipos de eventos quieres recibir. Los tipos de eventos tienen el formato
según la especificación de CloudEvents, como
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.
Por ejemplo, para recibir eventos sobre los usuarios que se unen a un espacio de Chat,
especifica el espacio como el recurso objetivo y el tipo de evento como
google.workspace.chat.membership.v1.created. Para recibir eventos sobre un usuario determinado
que se une a cualquier espacio, especifica el usuario como el recurso objetivo y el
tipo de evento como google.workspace.chat.membership.v1.created. Para obtener más información sobre
cómo funcionan los eventos, consulta Estructura de los eventos de Google Workspace.
En la siguiente tabla, se muestran los tipos de eventos que se admiten para las suscripciones a espacios y a usuarios. Para obtener información sobre las excepciones que activan un evento, consulta Limitaciones.
| Tipo de evento | Formato | Datos de recursos | ||
|---|---|---|---|---|
| Suscripciones a espacios | ||||
| Se publica un mensaje. |
|
|
||
| Se actualiza un mensaje. |
|
|
||
| Se borra un mensaje. |
|
|
||
| Se crea una reacción. |
|
|
||
| Se borra una reacción. |
|
|
||
| Se agrega un miembro al espacio. |
|
|
||
| Se actualiza un miembro en el espacio. |
|
|
||
| Se quita un miembro del espacio. |
|
|
||
| Se actualiza el espacio. |
|
|
||
| Se borra el espacio. |
|
|
||
| Suscripciones para usuarios | ||||
| El usuario se convierte en miembro de un espacio.
No todos los miembros nuevos activan eventos. Para obtener más información, consulta Limitaciones. |
|
|
||
| Se actualiza la membresía del usuario a un espacio. |
|
|
||
| Se quita al usuario como miembro directo de un espacio. |
|
|
||
| Se actualiza el estado de lectura del espacio del usuario. |
|
|
||
| Se actualiza el estado de lectura del hilo del usuario. |
|
|
||
| Suscripciones para clientes | ||||
| Se produce un evento en cualquier espacio, mensaje, reacción, membresía o estado de lectura de un usuario dentro de tu organización de Google Workspace. |
Admite todos los tipos de eventos que se indican para las suscripciones de espacios y usuarios. |
Depende del tipo de evento (por ejemplo, |
||
Tipos de eventos por lotes (solo salida)
Además de recibir los tipos de eventos a los que te suscribas, tu app de Chat también podría recibir eventos por lotes. Un evento por lotes es un evento que representa muchos eventos del mismo tipo que ocurren en un período breve. La carga útil de un evento por lotes contiene una lista de todos los recursos modificados.
Por ejemplo, si un usuario agrega 20 usuarios a un espacio al mismo tiempo, tu app de Chat podría recibir un evento por lotes (google.workspace.chat.membership.v1.batchCreated). La carga útil del evento contiene una lista de todos los recursos Membership nuevos que se crearon cuando el usuario agregó los miembros al espacio.
Recibirás un evento por lotes para cualquier tipo de evento al que te suscribas, por lo que
no es necesario que especifiques eventos por lotes cuando crees una suscripción. Por
ejemplo, si te suscribes a reacciones nuevas
(google.workspace.chat.reaction.v1.created), tu
app de Chat se configura automáticamente para recibir eventos de reacción
por lotes (google.workspace.chat.reaction.v1.batchCreated).
En la siguiente tabla, se muestran los posibles eventos por lotes para una suscripción:
| Tipo de evento por lotes | Formato |
|---|---|
| Se publican varios mensajes. |
|
| Se actualizaron varios mensajes. |
|
| Se borraron varios mensajes. |
|
| Se crean varias reacciones. |
|
| Se borran varias reacciones. |
|
| Se agregan varios miembros al espacio suscrito o se agrega al usuario suscrito a varios espacios. |
|
| Se actualizan varias membresías en el espacio suscrito o para el usuario suscrito. |
|
| Se quitan varios miembros del espacio suscrito o se quita al usuario suscrito de varios espacios. |
|
| El espacio tiene varias actualizaciones. |
|
| Se actualizan varios estados de lectura de espacios para el usuario suscrito. |
|
| Se actualizan varios estados de lectura de conversaciones para el usuario suscrito. |
|
Datos de eventos
En esta sección, se describen los datos de eventos y las cargas útiles de ejemplo para los eventos en Chat.
Cuando tu suscripción a Google Workspace recibe un evento de
Chat, el campo
data
contiene la carga útil del evento. Esta carga útil tiene información sobre el
recurso de Google Workspace que cambió. Por ejemplo, si te suscribiste a eventos de membresía en un espacio, la carga útil de estos eventos contiene información sobre el recurso spaces.membership que cambió.
Datos de recursos en la carga útil del evento
Cuando creas una suscripción, puedes especificar si deseas que la carga útil incluya detalles sobre el recurso o solo el nombre del recurso. Por ejemplo, si quieres recibir eventos sobre los miembros de un espacio de Chat, especifica qué campos de un recurso de membresía quieres recibir en la carga útil del evento.
En la siguiente tabla, se proporcionan ejemplos de cargas útiles de JSON para una suscripción al
espacio de Chat spaces/AAAABBBBBB. Para cada evento que recibe la
suscripción, la carga útil aparece en el campo data del evento:
| Ejemplo | Tipo de evento | Carga útil de tipo JSON |
|---|---|---|
Un usuario publica un mensaje en el espacio que dice "Hello world". |
|
Incluye datos de recursos:
{
"message":
{
"name": "spaces/Excluye los datos de los recursos:
{
"message":
{
"name": "spaces/ |
| Un usuario se convierte en administrador del espacio. |
|
Incluye datos de recursos:
{
"membership":
{
"name": "spaces/Excluye los datos de los recursos:
{
"membership":
{
"name": "spaces/ |
| Un usuario actualiza la descripción del espacio a "Equipo de ventas de Cymbal Labs". | google.workspace.chat.space.v1.updated |
Incluye datos de recursos:
{
"space":
{
"name": "spaces/Excluye los datos de los recursos:
{
"space":
{
"name": "spaces/ |
| Se agregaron dos usuarios de Chat al espacio al mismo tiempo. | google.workspace.chat.membership.v1.batchCreated |
Incluye datos de recursos:
{
"memberships": [
{
"membership": {
"name": "spaces/Excluye los datos de los recursos:
{
"memberships": [
{
"membership": {
"name": "spaces/ |
| Un usuario reacciona a un mensaje con el emoji 😊. | google.workspace.chat.reaction.v1.created |
Incluye datos de recursos:
{
"reaction":
{
"name": "spaces/Excluye los datos de los recursos:
{
"reaction":
{
"name": "spaces/ |
| Los usuarios reaccionan a un mensaje con los emojis 😊 y 😸. | google.workspace.chat.reaction.v1.batchCreated |
Incluye datos de recursos:
{
"reactions": [
{
"reaction": {
"name": "spaces/Excluye los datos de los recursos:
{
"reactions": [
{
"reaction": {
"name": "spaces/ |
| Un usuario visita un espacio no leído, lo que actualiza su estado de lectura. | google.workspace.chat.spaceReadState.v1.updated |
Incluye datos de recursos:
{
"spaceReadState": {
"name": "users/Excluye los datos de los recursos:
{
"spaceReadState": {
"name": "users/ |
| Un usuario lee un mensaje en un hilo, lo que actualiza el estado de lectura del hilo. | google.workspace.chat.threadReadState.v1.updated |
Incluye datos de recursos:
{
"threadReadState": {
"name": "users/Excluye los datos de los recursos:
{
"threadReadState": {
"name": "users/ |
| Un usuario pasa a estar disponible en Chat. | google.workspace.chat.availability.v1.updated |
Incluye datos de recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "ACTIVE"
}
}
Excluye los datos de los recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
| Un usuario se vuelve inactivo en Chat. | google.workspace.chat.availability.v1.updated |
Incluye datos de recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "IDLE",
}
}
Excluye los datos de los recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
Un usuario establece su disponibilidad en Away en Chat. |
google.workspace.chat.availability.v1.updated |
Incluye datos de recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "AWAY",
}
}
Excluye los datos de los recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
Un usuario establece su disponibilidad en Do not disturb en Chat. |
google.workspace.chat.availability.v1.updated |
Incluye datos de recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "DO_NOT_DISTURB",
"doNotDisturbMetadata": {
"expirationTime": "2026-03-24T18:36:31.337Z"
}
}
}
Excluye los datos de los recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
| Un usuario establece un estado personalizado en Chat. | google.workspace.chat.availability.v1.updated |
Incluye datos de recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "ACTIVE",
"customStatus": {
"text": "Be right back",
"emoji": {
"unicode": "👟"
},
"expireTime": "2026-03-24T18:38:05.583655Z"
}
}
}
Excluye los datos de los recursos:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
Limitaciones y comportamientos de entrega
Limitaciones generales
- Para recibir eventos de membresía, el usuario o la app de Chat deben ser miembros directos del espacio. Si se agregaron, actualizaron o quitaron de forma indirecta de un espacio a través de un Grupo de Google, la suscripción no recibe esos eventos de membresía. Para comprender cómo funcionan las membresías de los Grupos de Google, consulta Agrega un Grupo de Google a un espacio.
Suscripciones del usuario
-
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.
Suscripciones de clientes
Para las suscripciones de clientes, se aplican las siguientes limitaciones:
- La organización de Google Workspace debe tener al menos una licencia de SKU de Enterprise.
- Una app de Chat solo puede crear una suscripción de cliente para una organización de Google Workspace determinada. Una organización de Google Workspace puede tener hasta cinco suscripciones de clientes en total (creadas por diferentes apps de Chat).
En el caso de las suscripciones de clientes, la entrega de eventos sigue estas reglas generales:
- Eventos de espacio: Se entregan solo si el evento ocurre en un espacio administrado por tu organización de Google Workspace.
- Eventos de usuario: Se entregan solo si el evento se produce para un usuario que pertenece a tu organización de Google Workspace.
La única excepción a estas reglas son los eventos de membresía. Tu suscripción puede recibir eventos de membresía de los espacios administrados por tu organización y de los espacios administrados por organizaciones externas, pero la forma en que se entregan depende de qué organización administre el espacio:
Espacios administrados por tu organización de Google Workspace
Si se produce un cambio de membresía en un espacio administrado por la organización de Google Workspace, se entrega como un evento de espacio.
El nombre del recurso de un evento de espacio usa el siguiente formato:
spaces/{spaceId}/spaceEvents/{spaceEventId}
Espacios administrados por organizaciones externas
Si cambia la membresía de un usuario administrado por tu organización de Google Workspace en un espacio administrado por una organización externa (por ejemplo, un espacio externo con nombre o un mensaje directo creado por un usuario externo), tu suscripción recibe este evento como un evento de usuario.
El nombre del recurso de un evento de usuario usa el siguiente formato:
users/{userId}/userEvents/{userEventId}
Temas relacionados
- Estructura de los eventos de Google Workspace
- Elige los permisos de OAuth
- Crea una suscripción para recibir eventos de Chat.