หน้านี้อธิบายประเภทเหตุการณ์การโต้ตอบที่แอป Google Chat สามารถรับจาก Google Chat
หากต้องการกำหนดค่าแอป Chat ให้รับเหตุการณ์การโต้ตอบ โปรดดูหัวข้อรับและตอบกลับการโต้ตอบกับแอป Chat
รูปแบบของเหตุการณ์การโต้ตอบ
ผู้ใช้จะโต้ตอบกับแอปใน Chat ได้หลายวิธี สำหรับการโต้ตอบแต่ละประเภท Google Chat จะส่งเหตุการณ์การโต้ตอบประเภทต่างๆ ดังนี้
- ข้อความ: ผู้ใช้ส่งข้อความ ในแอป Chat หรือเรียกแอป Chat ของคุณในพื้นที่ทำงาน
- เพิ่มในพื้นที่ทำงาน: ผู้ใช้เพิ่มแอป Chat ของคุณในพื้นที่ทำงาน
- นำออกจากพื้นที่ทำงาน: ผู้ใช้นำ แอป Chat ของคุณออกจากพื้นที่ทำงาน
- การ์ดที่คลิก: ผู้ใช้คลิกการ์ดแบบอินเทอร์แอกทีฟหรือกล่องโต้ตอบที่แอป Chat ส่ง
ทุกครั้งที่ผู้ใช้โต้ตอบกับแอป Chat ของคุณ Google Chat จะส่งเหตุการณ์การโต้ตอบพร้อมเนื้อหาคำขอ ซึ่งเป็นเพย์โหลด JSON ที่แสดงการโต้ตอบ เพย์โหลดเหตุการณ์นี้มีองค์ประกอบที่เหมือนกับเหตุการณ์การโต้ตอบทุกประเภท รวมถึงองค์ประกอบที่มีไว้สำหรับเหตุการณ์นั้นๆ โดยเฉพาะ
ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องต่างๆ ในเหตุการณ์การโต้ตอบได้ที่เอกสารอ้างอิง Event
ของ Google Chat API
ฟิลด์ที่ใช้ร่วมกัน
จะมีช่องต่อไปนี้อยู่ในเพย์โหลดของเหตุการณ์การโต้ตอบเสมอ
ฟิลด์ | คำอธิบาย |
---|---|
type |
ประเภทของเหตุการณ์ที่แอป Chat ได้รับ เช่น MESSAGE หรือ ADDED_TO_SPACE |
eventTime |
การประทับเวลาที่ระบุเวลาที่ส่งเหตุการณ์ |
common |
แสดงข้อมูลเกี่ยวกับไคลเอ็นต์ของผู้ใช้ เช่น ภาษาหรือแพลตฟอร์ม |
ช่องตามประเภทเหตุการณ์การโต้ตอบ
เพย์โหลดอาจมีช่องเพิ่มเติมต่อไปนี้ ทั้งนี้ขึ้นอยู่กับประเภทเหตุการณ์
ฟิลด์ | คำอธิบาย | ประเภทเหตุการณ์ |
---|---|---|
message |
ข้อความที่เกี่ยวข้องกับเหตุการณ์ | MESSAGE , ADDED_TO_SPACE , CARD_CLICKED |
space |
พื้นที่ที่เกี่ยวข้องกับกิจกรรม | MESSAGE , ADDED_TO_SPACE , REMOVED_FROM_SPACE , CARD_CLICKED |
user |
ผู้ใช้ที่เกี่ยวข้องกับเหตุการณ์ ผู้ใช้จะเป็นบุคคลเสมอ (ไม่ใช่แอป Chat) | MESSAGE , ADDED_TO_SPACE , REMOVED_FROM_SPACE , CARD_CLICKED |
action |
ฟังก์ชันที่ผู้ใช้เรียกใช้เมื่อคลิกการ์ดหรือกล่องโต้ตอบแบบอินเทอร์แอกทีฟ | CARD_CLICKED |
ตัวอย่างเพย์โหลดของเหตุการณ์
ส่วนนี้จะอธิบายถึงสิ่งที่ทำให้เกิดเหตุการณ์การโต้ตอบและแสดงตัวอย่างเพย์โหลด JSON สำหรับเหตุการณ์แต่ละประเภทต่อไปนี้
- ข้อความ (
MESSAGE
) - เพิ่มไปยังพื้นที่ทำงานแล้ว (
ADDED_TO_SPACE
) - นำออกจากพื้นที่ทำงานแล้ว (
REMOVED_FROM_SPACE
) - บัตรที่คลิก (
CARD_CLICKED
)
ข้อความ
เหตุการณ์การโต้ตอบนี้จะแสดงเมื่อผู้ใช้ส่งข้อความไปยังแอป Chat เช่น
- ข้อความในพื้นที่ข้อความส่วนตัว (DM) ที่มีแอป Chat
- ข้อความในพื้นที่ทำงานที่มีบุคคลหลายคนที่มีบุคคล @พูดถึงแอป Chat หรือใช้คำสั่งเครื่องหมายทับอย่างใดอย่างหนึ่ง
- หากคุณกำหนดค่าตัวอย่างลิงก์สำหรับแอป Chat แล้ว ผู้ใช้จะโพสต์ข้อความที่มีลิงก์ที่ตรงกับรูปแบบ URL ที่กำหนดค่าไว้
ตัวอย่าง JSON ต่อไปนี้แสดงเหตุการณ์การโต้ตอบ MESSAGE
ที่ผู้ใช้
@พูดถึงแอป Chat ในพื้นที่ทำงานที่มีหลายคน
{
"type": "MESSAGE",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"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": {
"seconds": 1691187386,
"nanos": 954319000
},
"text": "@TestBot Create ticket.",
"argumentText": " Create ticket.",
"thread": {
"name": "spaces/AAAAAAAAAAA/threads/BBBBBBBBBBB",
"threadKey": "custom-thread-ID"
},
"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"
}
}
เพิ่มไปยังพื้นที่ทำงานแล้ว
เหตุการณ์การโต้ตอบนี้บ่งบอกว่ามีการเพิ่ม แอป Chat ของคุณในพื้นที่ทำงาน โดยทั่วไปแอปจะตอบกลับกิจกรรมการโต้ตอบนี้ด้วยการโพสต์ข้อความต้อนรับบางประเภทในชุดข้อความใหม่ในพื้นที่ทำงาน
ตัวอย่าง JSON ต่อไปนี้แสดงเนื้อหาคำขอสำหรับเหตุการณ์การโต้ตอบ ADDED_TO_SPACE
เมื่อผู้ใช้เพิ่มแอป Chat ไปยังพื้นที่ทำงาน
{
"type": "ADDED_TO_SPACE",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"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 ของคุณให้ผู้ใช้ในองค์กรแล้ว
ผู้ดูแลระบบติดตั้งได้เฉพาะแอป Chat สำหรับข้อความส่วนตัวระหว่างแอป Chat และผู้ใช้เท่านั้น แอปที่ติดตั้งจะปรากฏในแผงข้อความส่วนตัวของผู้ใช้ เมื่อผู้ดูแลระบบติดตั้งแอปใน Chat ผู้ใช้จะถอนการติดตั้งแอปเหล่านั้นไม่ได้ หากต้องการดูข้อมูลเกี่ยวกับแอปใน Chat ที่ผู้ดูแลระบบติดตั้ง โปรดดูเอกสารประกอบของความช่วยเหลือสำหรับผู้ดูแลระบบ Google Workspace ในหัวข้อ ติดตั้งแอปใน Marketplace ลงในโดเมน
ตัวอย่าง JSON ต่อไปนี้แสดงเนื้อหาคำขอสำหรับเหตุการณ์การโต้ตอบ ADDED_TO_SPACE
เมื่อผู้ดูแลระบบ Google Workspace ติดตั้งแอป Chat ให้ผู้ใช้ เนื่องจากผู้ดูแลระบบติดตั้งแอป Chat แล้ว
adminInstalled
จึงตั้งค่าเป็น true
ดังนี้
{
"type": "ADDED_TO_SPACE",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"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"
}
}
นำออกจากพื้นที่ทำงานแล้ว
เหตุการณ์การโต้ตอบนี้บ่งบอกว่ามีการนำแอป Chat ออกจากพื้นที่ทำงาน แอปแชทไม่ตอบกลับด้วยข้อความของกิจกรรมนี้เนื่องจากได้ถูกนำออกไปแล้ว
ตัวอย่าง JSON ต่อไปนี้แสดงเนื้อหาคำขอสำหรับเหตุการณ์การโต้ตอบ REMOVED_FROM_SPACE
เมื่อผู้ใช้นำแอป Chat ออกจากพื้นที่ทำงาน
{
"type": "REMOVED_FROM_SPACE",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"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 ได้ถอนการติดตั้งแอป Chat ของคุณให้กับผู้ใช้ในองค์กรแล้ว เมื่อถอนการติดตั้งแล้ว แอป Chat จะไม่ปรากฏในแผงข้อความส่วนตัวของผู้ใช้อีกต่อไป
หากผู้ใช้ติดตั้งแอป Chat ก่อนผู้ดูแลระบบ แอป Chat จะยังคงติดตั้งให้ผู้ใช้รายนั้น ในกรณีนี้ เนื่องจากยังคงมีการติดตั้งแอป Chat อยู่ แอป Chat จึงไม่ได้รับเหตุการณ์การโต้ตอบ REMOVED_FROM_SPACE
ตัวอย่าง JSON ต่อไปนี้แสดงเนื้อหาคำขอสำหรับกิจกรรมการโต้ตอบ REMOVED_FROM_SPACE
เมื่อผู้ดูแลระบบ Google Workspace ถอนการติดตั้งแอป Chat สำหรับผู้ใช้ เนื่องจากผู้ดูแลระบบถอนการติดตั้งแอป Chat แล้ว
adminInstalled
จึงตั้งค่าเป็น true
:
{
"type": "REMOVED_FROM_SPACE",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"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"
}
}
คลิกการ์ดแล้ว
เหตุการณ์การโต้ตอบนี้บ่งบอกว่าผู้ใช้คลิกปุ่มในข้อความหรือกล่องโต้ตอบของการ์ด
หากต้องการรับเหตุการณ์การโต้ตอบ ปุ่มจะต้องทริกเกอร์การโต้ตอบอื่นกับแอป Chat ตัวอย่างเช่น แอป Chat จะไม่ได้รับเหตุการณ์การโต้ตอบ CARD_CLICKED
หากผู้ใช้คลิกปุ่มที่เปิดลิงก์ไปยังเว็บไซต์ แต่ได้รับเหตุการณ์การโต้ตอบในตัวอย่างต่อไปนี้
- ผู้ใช้คลิกปุ่ม
Send feedback
บนการ์ด ซึ่งจะเปิดกล่องโต้ตอบให้ผู้ใช้ป้อนข้อมูล - ผู้ใช้คลิกปุ่ม
Submit
หลังจากป้อนข้อมูลลงในการ์ดหรือกล่องโต้ตอบ
ตัวอย่าง JSON ต่อไปนี้แสดงเนื้อหาคำขอสำหรับเหตุการณ์การโต้ตอบ CARD_CLICKED
เมื่อผู้ใช้คลิกปุ่มในข้อความการ์ดที่กำหนดตั๋วสนับสนุนขาเข้า
{
"type": "CARD_CLICKED",
"eventTime": {
"seconds": 1691187414,
"nanos": 93489000
},
"common": {
"userLocale": "en",
"hostApp": "CHAT",
"invokedFunction": "doAssignTicket",
"timeZone": {
"offset": -25200000,
"id": "America/Los_Angeles"
}
},
"action": {
"actionMethodName": "doAssignTicket"
},
"message": {
"cards": [
{
"header": {
"title": "Incoming support ticket."
},
"sections": [
{
"widgets": [
{
"textParagraph": {
"text": "Incoming support ticket #12345 is unassigned and needs your attention."
}
},
{
"buttons": [
{
"textButton": {
"onClick": {
"action": {
"actionMethodName": "doAssignTicket"
}
},
"text": "Assign to me"
}
}
]
}
]
}
]
}
],
"sender": {
"avatarUrl": "https://www.example.com/images/chat-app-icon.png",
"displayName": "Support Chat app",
"name": "users/98765432109876543210",
"type": "BOT"
},
"createTime": {
"seconds": 1691187386,
"nanos": 954319000
},
"retentionSettings": {
"state": "PERMANENT"
},
"name": "spaces/AAAAAAAAAAA/messages/CCCCCCCCCCC",
"thread": {
"retentionSettings": {
"state": "PERMANENT"
},
"name": "spaces/AAAAAAAAAAA/threads/BBBBBBBBBBB"
},
"messageHistoryState": "HISTORY_ON",
"space": {
"spaceThreadingState": "GROUPED_MESSAGES",
"spaceType": "SPACE",
"displayName": "Customer Support Superstars",
"name": "spaces/AAAAAAAAAAA",
"spaceHistoryState": "HISTORY_ON",
"type": "ROOM",
"threaded": true
}
},
"user": {
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"displayName": "Izumi",
"name": "users/12345678901234567890",
"type": "HUMAN",
"email": "izumi@example.com",
"domainId": "ABCDEFG"
},
"space": {
"spaceThreadingState": "GROUPED_MESSAGES",
"spaceType": "SPACE",
"displayName": "Customer Support Superstars",
"name": "spaces/AAAAAAAAAAA",
"spaceHistoryState": "HISTORY_ON",
"type": "ROOM",
"threaded": true
}
}
การคลิกการ์ดสําหรับกล่องโต้ตอบ
เมื่อผู้ใช้โต้ตอบกับกล่องโต้ตอบ เพย์โหลดสำหรับเหตุการณ์การโต้ตอบ CARD_CLICKED
จะมีช่องเพิ่มเติมต่อไปนี้
isDialogEvent
: ตั้งค่าเป็นtrue
สำหรับเหตุการณ์การโต้ตอบที่มีกล่องโต้ตอบDialogEventType
: ประเภทของการโต้ตอบกับกล่องโต้ตอบ ซึ่งรวมถึงกรณีที่ผู้ใช้เปิด ส่ง หรือยกเลิกกล่องโต้ตอบ
ตัวอย่าง JSON ต่อไปนี้แสดงส่วนหนึ่งของเนื้อหาคำขอสำหรับเหตุการณ์การโต้ตอบ CARD_CLICKED
ในตัวอย่างนี้ ผู้ใช้ได้คลิกปุ่ม
ในกล่องโต้ตอบที่ส่งข้อมูลไปยังแอป Chat
{
"type": "CARD_CLICKED",
...
"isDialogEvent": true,
"dialogEventType": "SUBMIT_DIALOG",
}
หัวข้อที่เกี่ยวข้อง
หากต้องการดูวิธีประมวลผลเพย์โหลดของเหตุการณ์การโต้ตอบและแสดงผลการตอบกลับ โปรดดูคำแนะนำต่อไปนี้
- สร้างข้อความการ์ด
- สร้าง SMS
- เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ
- ลิงก์แสดงตัวอย่าง
- อ่านอินพุตข้อมูลแบบฟอร์มจากผู้ใช้ในการ์ด
- ตั้งค่าคำสั่งเครื่องหมายทับ