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"
}
}