Formatos de evento

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Esta seção descreve o formato dos eventos que seu app recebe do Google Chat.

Campos de evento

Quando seu app recebe um evento do Google Chat, ele inclui um corpo da solicitação: é o payload JSON que representa o evento. Esse payload contém elementos comuns a todos os tipos de evento, bem como elementos específicos ao tipo de evento. O diagrama a seguir mostra os campos que podem estar presentes no payload:

Campos comuns de evento

Os campos comuns são sempre fornecidos no payload de todos os eventos, independentemente do tipo.

Campo Tipo Descrição
type String O tipo de evento recebido pelo app.
eventTime String É o carimbo de data/hora (formatado de acordo com a RFC 3339) indicando quando o evento foi enviado.

Campos de eventos específicos do tipo

Outros campos podem estar presentes no payload da solicitação, se eles forem aplicáveis ao tipo de evento.

Campo Tipo Descrição Tipo de evento
message A mensagem A mensagem relacionada ao evento. Mensagem adicionada ao espaço.
space Espaço O espaço relacionado ao evento. Mensagem adicionada ao espaço, removida do espaço.
user Usuário O usuário relacionado ao evento. Mensagem adicionada ao espaço, removida do espaço.
thread Conversa A conversa a que uma mensagem pertence. Apenas eventos de mensagem.

Tipos de evento

Esta seção descreve os tipos de eventos que seu app pode receber, com exemplos de cada um.

MESSAGE

Esse evento representa uma mensagem enviada ao app.

Os detalhes da mensagem são armazenados como campos no campo message. Comportamento da resposta: publica uma mensagem na mesma conversa da mensagem original do usuário.

Um exemplo de payload:

{
  "type": "MESSAGE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "displayName": "Customer Support Superstars",
    "spaceType": "SPACE"
  },
  "message": {
    "name": "spaces/AAAAAAAAAAA/messages/CCCCCCCCCCC",
    "sender": {
      "name": "users/12345678901234567890",
      "displayName": "Izumi",
      "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
      "email": "izumi@example.com"
    },
    "createTime": "2017-03-02T19:02:59.910959Z",
    "text": "@TestBot Create ticket.",
    "argumentText": " Create ticket.",
    "thread": {
      "name": "spaces/AAAAAAAAAAA/threads/BBBBBBBBBBB"
    },
    "annotations": [
      {
        "length": 8,
        "startIndex": 0,
        "userMention": {
          "type": "MENTION",
          "user": {
            "avatarUrl": "https://.../avatar.png",
            "displayName": "TestBot",
            "name": "users/1234567890987654321",
            "type": "BOT"
          }
        },
        "type": "USER_MENTION"
      }
    ],
    "attachment": [
      {
        "name": "spaces/5o6pDgAAAAE/messages/Ohu1LlUVcS8.Ohu1LlUVcS8/attachments/AATUf-Iz7d8kySEdRRZd-dznqBk3",
        "content_name": "solar.png",
        "content_type": "image/png",
        "drive_data_ref": {
          "drive_file_id": "H1HqaqRuH2Pfd_TOa1fF2_ltwDlV_yKRrr"
        },
        "source": "DRIVE_FILE"
      }
    ]
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Izumi",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "izumi@example.com"
  }
}

ADDED_TO_SPACE

Esse evento indica que o app foi adicionado a um espaço. Os apps geralmente respondem a esse evento postando algum tipo de mensagem de boas-vindas em uma nova linha de execução no espaço.

O exemplo de JSON a seguir mostra o corpo da solicitação de um evento ADDED_TO_SPACE quando um usuário adiciona um app de chat a um espaço:

{
  "type": "ADDED_TO_SPACE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "displayName": "Customer Support Superstars",
    "spaceType": "SPACE",
    "adminInstalled": "false"
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Izumi",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "izumi@example.com"
  }
}

Instalado pelos administradores do Google Workspace

O evento ADDED_TO_SPACE também pode indicar que um administrador do Google Workspace instalou seu app de chat para um usuário da organização.

Os administradores só podem instalar um app de chat para mensagens diretas entre o app e o usuário. O app instalado é exibido no painel de mensagens diretas dos usuários. Os usuários não podem desinstalar apps instalados pelo administrador. Para saber mais sobre os apps de chat instalados pelos administradores, consulte a documentação da Ajuda do administrador do Google Workspace, Instalar apps do Marketplace no seu domínio.

O exemplo de JSON a seguir mostra o corpo da solicitação de um evento ADDED_TO_SPACE quando um administrador do Google Workspace instala um app do Chat para um usuário. Como o app foi instalado por um administrador, adminInstalled está definido como true:

{
  "type": "ADDED_TO_SPACE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "displayName": "Customer Support Superstars",
    "spaceType": "DIRECT_MESSAGE",
    "adminInstalled": "true"
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Izumi",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "izumi@example.com"
  }
}

REMOVED_FROM_SPACE

Esse evento indica que o app foi removido de um espaço. Os apps não respondem a esse evento porque já foram removidos.

O exemplo de JSON a seguir mostra o corpo da solicitação para um evento REMOVED_FROM_SPACE quando um usuário remove um app de um espaço:

{
  "type": "REMOVED_FROM_SPACE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "spaceType": "SPACE",
    "adminInstalled": "false"
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Izumi,
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "izumi@example.com"
  }
}

Desinstalado pelos administradores do Google Workspace

O evento REMOVED_FROM_SPACE também pode indicar que um administrador do Google Workspace desinstalou o app Chat para um usuário da organização. Depois de desinstalado, o app não aparece mais no painel de mensagens diretas do usuário.

Se um usuário tiver instalado o app antes do administrador, o app permanecerá instalado para o usuário. Nesse caso, como o app ainda está instalado, ele não recebe um evento REMOVED_FROM_SPACE.

O exemplo de JSON a seguir mostra o corpo da solicitação de um evento REMOVED_FROM_SPACE quando um administrador do Google Workspace desinstala um app do Chat para um usuário. Como o app foi desinstalado por um administrador, o adminInstalled é definido como true:

{
  "type": "REMOVED_FROM_SPACE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "spaceType": "DIRECT_MESSAGE",
    "adminInstalled": "true"
  },
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Izumi,
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "izumi@example.com"
  }
}