이벤트 형식

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 섹션에서는 앱이 Google Chat에서 수신하는 이벤트 형식을 설명합니다.

이벤트 필드

앱이 Google Chat에서 이벤트를 수신하면 이벤트에 요청 본문이 포함됩니다. 이는 이벤트를 나타내는 JSON 페이로드입니다. 이 페이로드에는 모든 이벤트 유형에 공통된 요소와 이벤트 유형에 고유한 요소가 포함되어 있습니다. 다음 다이어그램은 페이로드에 존재할 수 있는 필드를 보여줍니다.

일반 이벤트 필드

공통 필드는 유형에 관계없이 항상 모든 이벤트의 페이로드에 제공됩니다.

필드 유형 설명
type 문자열 앱이 수신하는 이벤트의 유형입니다.
eventTime 문자열 RFC 3339에 따라 형식이 지정된 타임스탬프로, 이벤트가 전달된 시점을 나타냅니다.

유형별 이벤트 필드

이벤트 유형에 적용 가능한 추가 필드가 요청 페이로드에 있을 수 있습니다.

필드 유형 설명 이벤트 유형
message 메시지 이벤트와 관련된 메시지입니다. 메시지가 스페이스에 추가되었습니다.
space 우주 이벤트와 관련된 스페이스입니다. 메시지가 스페이스에 추가되었습니다. 스페이스에서 삭제되었습니다.
user 사용자 이벤트와 관련된 사용자입니다. 메시지가 스페이스에 추가되었습니다. 스페이스에서 삭제되었습니다.
thread 대화목록 메시지가 속한 대화목록입니다. 메시지 이벤트만

이벤트 유형

이 섹션에서는 앱이 수신할 수 있는 이벤트 유형을 각 유형의 예시와 함께 설명합니다.

MESSAGE

이 이벤트는 앱으로 전송된 메시지를 나타냅니다.

메시지 세부정보는 message 필드 내에 필드로 저장됩니다. 응답 동작: 원래 사용자 메시지와 동일한 대화목록에 메시지를 게시합니다.

페이로드 예시:

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

이 이벤트는 앱이 스페이스에 추가되었음을 나타냅니다. 앱은 일반적으로 스페이스의 새 스레드에 일종의 환영 메시지를 게시하여 이 이벤트에 응답합니다.

다음 JSON 예는 사용자가 스페이스에 Chat 앱을 추가할 때 ADDED_TO_SPACE 이벤트의 요청 본문을 보여줍니다.

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

Google Workspace 관리자가 설치함

ADDED_TO_SPACE 이벤트는 Google Workspace 관리자가 조직 내 사용자의 채팅 앱을 설치했음을 나타낼 수도 있습니다.

관리자는 앱과 사용자 간의 채팅 메시지에만 채팅 앱을 설치할 수 있습니다. 설치된 앱이 사용자의 채팅 메시지 패널에 표시됩니다. 사용자는 관리자가 설치한 앱을 제거할 수 없습니다. 관리자가 설치한 Chat 앱에 대한 자세한 내용은 Google Workspace 관리자 도움말의 도메인에 Marketplace 앱 설치하기를 참고하세요.

다음 JSON 예시에서는 Google Workspace 관리자가 사용자의 채팅 앱을 설치할 때 ADDED_TO_SPACE 이벤트의 요청 본문을 보여줍니다. 관리자가 앱을 설치했으므로 adminInstalledtrue로 설정됩니다.

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

이 이벤트는 앱이 스페이스에서 삭제되었음을 나타냅니다. 앱이 이미 삭제되었으므로 이 이벤트에 응답하지 않습니다.

다음 JSON 예는 사용자가 스페이스에서 앱을 삭제할 때 REMOVED_FROM_SPACE 이벤트의 요청 본문을 보여줍니다.

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

Google Workspace 관리자가 제거함

REMOVED_FROM_SPACE 이벤트는 Google Workspace 관리자가 조직 내 사용자의 채팅 앱을 제거했음을 나타낼 수도 있습니다. 제거하면 앱이 사용자의 채팅 메시지 패널에 더 이상 표시되지 않습니다.

사용자가 관리자보다 먼저 앱을 설치했다면 앱은 사용자에게 설치된 상태로 유지됩니다. 이 경우 앱이 여전히 설치되어 있으므로 앱은 REMOVED_FROM_SPACE 이벤트를 수신하지 않습니다.

다음 JSON 예는 Google Workspace 관리자가 사용자의 채팅 앱을 제거할 때 발생하는 REMOVED_FROM_SPACE 이벤트의 요청 본문을 보여줍니다. 관리자가 앱을 제거했으므로 adminInstalledtrue로 설정됩니다.

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