이 섹션에서는 앱이 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
이벤트의 요청 본문을 보여줍니다. 관리자가 앱을 설치했으므로 adminInstalled
는 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
이 이벤트는 앱이 스페이스에서 삭제되었음을 나타냅니다. 앱이 이미 삭제되었으므로 이 이벤트에 응답하지 않습니다.
다음 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
이벤트의 요청 본문을 보여줍니다. 관리자가 앱을 제거했으므로 adminInstalled
는 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"
}
}