Esta página descreve os eventos do Chat que um app do Chat pode assinar usando a API Google Workspace Events. Depois de decidir quais tipos de eventos você precisa, crie uma assinatura para começar a receber eventos do Chat.
Além de assinar eventos, também é possível consultar eventos chamando a API Google Chat. A chamada da API Chat permite recuperar eventos periodicamente ou acompanhar eventos que você pode ter perdido de uma assinatura devido a uma interrupção. Para saber mais sobre as maneiras de receber e responder a eventos do Chat, consulte Trabalhar com eventos do Chat na documentação do Chat.
Eventos do Chat aceitos
As assinaturas do Google Workspace permitem receber eventos sobre os seguintes tipos de mudanças no Chat:
- Mensagens novas, atualizadas ou excluídas messages no espaço.
- Reações novas ou removidas de uma mensagem.
- Participantes novos, atualizados ou removidos membros no espaço.
- Mudanças no espaço que você assinou, como um nome ou descrição atualizados.
Recursos que podem ser monitorados para eventos
Para receber eventos, especifique um recurso do Chat a ser monitorado, chamado de recurso de destino da assinatura.
A API Google Workspace Events oferece suporte aos seguintes recursos de destino do Chat:
| Recurso de destino | Formato | Limitações |
|---|---|---|
| Espaço |
em que SPACE é o ID no
nome do recurso do recurso |
O usuário ou app do Chat que autoriza a assinatura precisa ser um participante do espaço pela conta do Google Workspace ou do Google. Oferece suporte a: |
| Todos os espaços de um usuário |
|
A assinatura só recebe eventos dos espaços em que o usuário é um participante pela conta do Google Workspace ou do Google. Oferece suporte apenas à autenticação de usuários. |
| Usuário |
em que USER é o ID no
nome do recurso do recurso |
A assinatura só recebe eventos sobre o usuário que autorizou a assinatura. Um usuário não pode autorizar uma assinatura em nome de outros usuários. Oferece suporte apenas à autenticação de usuários. |
Tipos de eventos para criar assinaturas
Ao criar uma assinatura, use o
eventTypes[]
campo para especificar os tipos de eventos que você quer receber. Os tipos de eventos são
formatados de acordo com a especificação do CloudEvents, como
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.
Por exemplo, para receber eventos sobre usuários que entram em um espaço do Chat, especifique o espaço como o recurso de destino e o tipo de evento como google.workspace.chat.membership.v1.created. Para receber eventos sobre um determinado usuário que entra em qualquer espaço, especifique o usuário como o recurso de destino e o tipo de evento como google.workspace.chat.membership.v1.created. Para saber mais sobre
como os eventos funcionam, consulte Estrutura dos eventos do Google Workspace
events.
A tabela a seguir mostra quais tipos de eventos são aceitos para assinaturas de espaços e assinaturas de usuários. Para saber mais sobre exceções sobre o que aciona um evento, consulte Limitações.
| Tipo de evento | Formato | Dados do recurso | ||
|---|---|---|---|---|
| Assinaturas de espaços | ||||
| Uma mensagem é postada. |
|
|
||
| Uma mensagem é atualizada. |
|
|
||
| Uma mensagem é excluída. |
|
|
||
| Uma reação é criada. |
|
|
||
| Uma reação é excluída. |
|
|
||
| Um participante é adicionado ao espaço. |
|
|
||
| Um participante é atualizado no espaço. |
|
|
||
| Um participante é removido do espaço. |
|
|
||
| O espaço é atualizado. |
|
|
||
| O espaço é excluído. |
|
|
||
| Assinaturas de usuários | ||||
| O usuário se torna um participante de um espaço.
Nem todos os novos participantes acionam eventos. Para mais detalhes, consulte Limitações |
|
|
||
| A participação do usuário em um espaço é atualizada. |
|
|
||
| O usuário é removido como participante direto de um espaço. |
|
|
||
Tipos de eventos em lote (somente saída)
Além de receber os tipos de eventos que você assina, o app do Chat também pode receber eventos em lote. Um evento em lote representa muitos eventos do mesmo tipo que ocorrem em um curto período. O payload de um evento em lote contém uma lista de todos os recursos alterados.
Por exemplo, se um usuário adicionar 20 usuários a um espaço ao mesmo tempo, o app do Chat poderá receber um evento em lote (google.workspace.chat.membership.v1.batchCreated). O payload do evento contém uma lista de todos os novos recursos Membership que foram criados quando o usuário adicionou os participantes ao espaço.
Você recebe um evento em lote para qualquer tipo de evento que assinar. Portanto, não é necessário especificar eventos em lote ao criar uma assinatura. Por exemplo, se você assinar novas reações (google.workspace.chat.reaction.v1.created), o app do Chat será configurado automaticamente para receber eventos de reação em lote (google.workspace.chat.reaction.v1.batchCreated).
A tabela a seguir mostra os possíveis eventos em lote para uma assinatura:
| Tipo de evento em lote | Formato |
|---|---|
| Várias mensagens são postadas. |
|
| Várias mensagens são atualizadas. |
|
| Várias mensagens são excluídas. |
|
| Várias reações são criadas. |
|
| Várias reações são excluídas. |
|
| Vários participantes são adicionados ao espaço assinado ou o usuário assinado foi adicionado a vários espaços. |
|
| Várias participações são atualizadas no espaço assinado ou para o usuário assinado. |
|
| Vários participantes são removidos do espaço assinado ou o usuário assinado foi removido de vários espaços. |
|
| O espaço tem várias atualizações. |
|
Dados de eventos
Esta seção descreve os dados de eventos e exemplos de payloads para eventos no Chat.
Quando a assinatura do Google Workspace recebe um evento de
Chat, o
data
campo contém o payload do evento. Esse payload tem informações sobre o recurso do Google Workspace que foi alterado. Por exemplo, se você
assinou eventos de participação em um espaço, o payload desses eventos
contém informações sobre o
spaces.membership
recurso que foi alterado.
Dados de recursos no payload do evento
Ao criar uma assinatura, você pode especificar se quer que o payload inclua detalhes sobre o recurso ou apenas o nome dele. Por exemplo, se você quiser receber eventos sobre participantes em um espaço do Chat, especifique quais campos de um recurso de participação você quer receber no payload do evento.
A tabela a seguir mostra exemplos de payloads JSON para uma assinatura do espaço do Chat spaces/AAAABBBBBB. Para cada evento que a assinatura recebe, o payload aparece no campo data do evento:
| Exemplo | Tipo de evento | Payload JSON |
|---|---|---|
Um usuário posta uma mensagem no espaço dizendo "Hello world". |
|
Inclui dados de recursos:
{
"message":
{
"name": "spaces/Exclui dados de recursos:
{
"message":
{
"name": "spaces/ |
| Um usuário se torna um administrador do espaço. |
|
Inclui dados de recursos:
{
"membership":
{
"name": "spaces/Exclui dados de recursos:
{
"membership":
{
"name": "spaces/ |
| Um usuário atualiza a descrição do espaço para "Equipe de vendas da Cymbal Labs". | google.workspace.chat.space.v1.updated |
Inclui dados de recursos:
{
"space":
{
"name": "spaces/Exclui dados de recursos:
{
"space":
{
"name": "spaces/ |
| Dois usuários do Chat foram adicionados ao espaço ao mesmo tempo. | google.workspace.chat.membership.v1.batchCreated |
Inclui dados de recursos:
{
"memberships": [
{
"membership": {
"name": "spaces/Exclui dados de recursos:
{
"memberships": [
{
"membership": {
"name": "spaces/ |
| Um usuário reage a uma mensagem com o emoji 😊. | google.workspace.chat.reaction.v1.created |
Inclui dados de recursos:
{
"reaction":
{
"name": "spaces/Exclui dados de recursos:
{
"reaction":
{
"name": "spaces/ |
| Os usuários reagem a uma mensagem com os emojis 😊 e 😸. | google.workspace.chat.reaction.v1.batchCreated |
Inclui dados de recursos:
{
"reactions": [
{
"reaction": {
"name": "spaces/Exclui dados de recursos:
{
"reactions": [
{
"reaction": {
"name": "spaces/ |
Limitações
-
Para assinaturas de usuários, eventos sobre novos participantes em mensagens diretas ou chats em grupo sem nome (
google.workspace.chat.membership.v1.created), só são acionados após a primeira mensagem ser postada. - Para receber eventos de participação, o usuário ou app do Chat precisa ser um participante direto do espaço. Se eles foram adicionados, atualizados ou removidos indiretamente de um espaço por um Grupo do Google, a assinatura não vai receber esses eventos de participação. Para entender como as participações do Grupo do Google funcionam, consulte Adicionar um Grupo do Google a um espaço.
Temas relacionados
- Estrutura dos eventos do Google Workspace
- Escolher escopos do OAuth
- Criar uma assinatura para receber eventos do Chat