Форматы мероприятий

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

В этом разделе описывается формат событий, которые ваше приложение получает от Google Chat.

Поля событий

Когда ваше приложение получает событие от Google Chat, это событие включает текст запроса : это полезные данные JSON, представляющие событие. Эта полезная нагрузка содержит элементы, общие для всех типов событий, а также элементы, специфичные для типа события. На следующей диаграмме показаны поля, которые могут присутствовать в полезной нагрузке:

Общие поля событий

Общие поля всегда предоставляются в полезной нагрузке всех событий, независимо от их типа.

Поле Тип Описание
type Нить Тип события, которое получает приложение.
eventTime Нить Отметка времени (отформатированная в соответствии с RFC 3339), указывающая, когда событие было отправлено.

Поля событий определенного типа

Дополнительные поля могут присутствовать в полезной нагрузке запроса, если они применимы к типу события.

Поле Тип Описание Тип события
message Сообщение Сообщение, связанное с событием. Сообщение, добавленное в пространство.
space Пространство Пространство, связанное с событием. Сообщение, добавленное в пространство, удалено из пространства.
user Пользователь Пользователь, имеющий отношение к событию. Сообщение, добавленное в пространство, удалено из пространства.
thread Нить Ветка, которой принадлежит сообщение. Только события сообщений.

Типы событий

В этом разделе описаны типы событий, которые может получать ваше приложение, с примерами каждого типа.

ADDED_TO_SPACE

Это событие означает, что ваше приложение было добавлено в пространство. Приложения обычно реагируют на это событие, публикуя какое-то приветственное сообщение в новой теме пространства.

В следующем примере JSON показано тело запроса для события ADDED_TO_SPACE :

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

REMOVED_FROM_SPACE

Это событие означает, что ваше приложение было удалено из пространства. Приложения не реагируют на это событие, потому что они уже удалены.

В следующем примере JSON показано тело запроса для события REMOVED_FROM_SPACE :

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

СООБЩЕНИЕ

Это событие представляет собой сообщение, отправленное приложению.

Детали сообщения хранятся в виде полей внутри поля message . Поведение при ответе: отправляет сообщение в той же ветке, что и исходное сообщение пользователя.

Пример полезной нагрузки:

{
  "type": "MESSAGE",
  "eventTime": "2017-03-02T19:02:59.910959Z",
  "space": {
    "name": "spaces/AAAAAAAAAAA",
    "displayName": "Customer Support Superstars",
    "type": "ROOM"
  },
  "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"
  }
}