ตัวแทนจะได้รับเหตุการณ์เว็บฮุคจากแพลตฟอร์ม RBM ซึ่งจะแจ้งให้คุณทราบทั้งการโต้ตอบของผู้ใช้และการอัปเดตระดับแพลตฟอร์ม
เหตุการณ์เหล่านี้จะจัดหมวดหมู่ตามแหล่งที่มา ดังนี้
- เหตุการณ์ผู้ใช้: การแจ้งเตือนที่ส่งจากอุปกรณ์ของผู้ใช้ไปยัง ตัวแทนของคุณ ซึ่งเป็นการส่งสัญญาณการโต้ตอบกับตัวแทน
- เหตุการณ์แพลตฟอร์ม: การแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงสถานะการเปิดตัวของตัวแทน และการหมดอายุของข้อความที่ส่งโดยแพลตฟอร์ม RBM
ดูรายละเอียดเกี่ยวกับเหตุการณ์สถานะที่ตัวแทนส่งไปยังอุปกรณ์ของผู้ใช้ได้ที่ หัวข้อส่งเหตุการณ์
ดูรายละเอียดเกี่ยวกับวิธีจัดการข้อความของผู้ใช้ เช่น ข้อความ ไฟล์ ตำแหน่ง และอื่นๆ ได้ที่หัวข้อ รับข้อความ
เหตุการณ์ผู้ใช้
เหตุการณ์ผู้ใช้เป็นการแจ้งเตือนจากอุปกรณ์ของผู้ใช้ที่รายงานสถานะข้อความ หรือการเปลี่ยนแปลงการสมัครใช้บริการ (เช่น ผู้ใช้ ยกเลิกการสมัครใช้บริการ หรือ สมัครใช้บริการอีกครั้ง ใน Google Messages)
ดูตัวเลือกการจัดรูปแบบและค่าทั้งหมดได้ที่ข้อมูลอ้างอิง UserEvent
ผู้ใช้ได้รับข้อความจากตัวแทน
เหตุการณ์นี้บ่งชี้ว่าระบบได้ส่งข้อความไปยังอุปกรณ์ของผู้ใช้เรียบร้อยแล้ว
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "DELIVERED",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}ผู้ใช้อ่านข้อความจากตัวแทน
เหตุการณ์นี้บ่งชี้ว่าผู้ใช้ได้เปิดหรือรับทราบข้อความแล้ว
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "READ",
"eventId": "EVENT_ID",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID"
}ผู้ใช้เริ่มพิมพ์
เหตุการณ์นี้บ่งชี้ว่าผู้ใช้กำลังพิมพ์คำตอบ
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "IS_TYPING",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}ผู้ใช้แตะการดำเนินการที่แนะนำ
เมื่อผู้ใช้แตะการดำเนินการที่แนะนำ ตัวแทนจะได้รับเหตุการณ์ที่มีข้อมูลการส่งคืนของการดำเนินการ
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID",
"suggestionResponse": {
"postbackData": "postback_1234"
}
}ผู้ใช้ยกเลิกการสมัครรับข้อมูลจากการสนทนา
เหตุการณ์นี้บ่งชี้ว่าผู้ใช้ได้ยกเลิกการสมัครรับข้อความที่ไม่จำเป็น เช่น โปรโมชัน จากตัวแทนและธุรกิจที่ตัวแทนเป็นตัวแทน ผู้ใช้จะเรียกเหตุการณ์นี้ให้แสดงโดยการยกเลิกการสมัครรับข้อมูลจากการสนทนา RBM ใน Google Messages
ตัวอย่างเพย์โหลด JSON
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "UNSUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}วิธียกเลิกการสมัครรับข้อมูล
- ตัวเลือกยกเลิกการสมัครรับข้อมูล จะพร้อมใช้งานในเมนูแชทเสมอ สำหรับตัวแทนที่ใช้ได้หลายครั้งและตัวแทนโปรโมชัน ตัวเลือกนี้จะปรากฏในแชทโดยตรงหลังจากมีข้อความที่ยังไม่อ่านจำนวนหนึ่ง (กฎเฉพาะจะแตกต่างกันไปในแต่ละประเทศ)
การเลือกยกเลิกการสมัครรับข้อมูล จะทริกเกอร์การดำเนินการ 2 อย่างพร้อมกัน ได้แก่ Google Messages จะส่งคีย์เวิร์ดเฉพาะประเทศ (เช่น "หยุด") ไปยังตัวแทน และแพลตฟอร์ม RBM จะส่งเหตุการณ์
UNSUBSCRIBEไปยังเว็บฮุคระบบจะกำหนดคีย์เวิร์ดตามรหัสประเทศแบบ 2 ตัวอักษรของหมายเลขโทรศัพท์ของผู้ใช้ ตารางต่อไปนี้แสดงคีย์เวิร์ดสำหรับแต่ละประเทศที่รองรับ
ประเทศ (รหัสประเทศ) คีย์เวิร์ดยกเลิกการสมัครรับข้อมูล สหรัฐอเมริกา (US), อินเดีย (IN), สหราชอาณาจักร (GB), เยอรมนี (DE), เนเธอร์แลนด์ (NL) หยุด สเปน (ES), เม็กซิโก (MX) BAJA ฝรั่งเศส (FR) STOP บราซิล (BR) parar หลังจากที่ผู้ใช้ยกเลิกการสมัครรับข้อมูลแล้ว การสนทนาจะยังคงอยู่ในกล่องจดหมายของผู้ใช้ เว้นแต่จะมีการรายงานว่าเป็นการส่งข้อความที่ไม่พึงประสงค์ ในกรณีนี้ การสนทนาจะย้ายไปที่โฟลเดอร์การส่งข้อความที่ไม่พึงประสงค์และถูกบล็อก
Google จะตรวจสอบรูปแบบข้อความหลังจากที่ผู้ใช้ยกเลิกการสมัครรับข้อมูลเพื่อระบุการละเมิดนโยบายและกฎของธุรกิจ
กฎของธุรกิจ
- ในฐานะพาร์ทเนอร์ RBM ที่จัดการการสนทนานี้ คุณมีหน้าที่ต้องปฏิบัติตามคำขอของผู้ใช้ในการยกเลิกการสมัครรับข้อมูล
- หากยกเลิกการสมัครรับข้อมูลภายในเธรดข้อความไม่ได้ คุณต้องส่งข้อความยืนยันพร้อมลิงก์ที่นำไปยังเว็บไซต์หรือแอปโดยตรง ซึ่งผู้ใช้สามารถจัดการค่ากำหนดการสมัครรับข้อมูลได้ทันที
- หลังจากที่ผู้ใช้ยกเลิกการสมัครรับข้อมูลแล้ว คุณจะส่งข้อความที่ไม่จำเป็นไม่ได้
- แต่ยังคงส่งข้อความที่จำเป็นได้ ซึ่งรวมถึงข้อความต่อไปนี้
- การตรวจสอบสิทธิ์ เช่น รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว (OTP)
- การแจ้งเตือนเกี่ยวกับบริการที่เฉพาะเจาะจงซึ่งผู้ใช้ขอและยินยอม
- การยืนยันคำขอของผู้ใช้ในการยกเลิกการสมัครรับข้อมูล พร้อมข้อมูลเพื่อจัดการค่ากำหนดการสื่อสารเพิ่มเติม
ตัวอย่าง
หากผู้ใช้ยกเลิกการสมัครรับข้อมูลจากตัวแทนของสายการบินที่มีกรณีการใช้งานแบบ ใช้ได้หลายครั้ง คุณต้องหยุดส่งข้อความทางการตลาด อย่างไรก็ตาม คุณสามารถส่งข้อมูลอัปเดตเที่ยวบินได้หากผู้ใช้ให้ความยินยอมอย่างชัดแจ้งในการรับข้อมูลอัปเดตสำหรับเที่ยวบินนั้นๆ
เหตุผลในการยกเลิกการสมัครรับข้อมูล
เมื่อผู้ใช้ยกเลิกการสมัครรับข้อมูลจากตัวแทนของคุณ ผู้ใช้จะเลือกเหตุผลจากตัวเลือกต่อไปนี้ได้
- สแปม
- ไม่เคยลงชื่อสมัครใช้
- มีข้อความมากเกินไป
- ไม่สนใจเป็นสมาชิกแล้ว
- อื่นๆ
เหตุผลในการยกเลิกการสมัครรับข้อมูลจะแสดงในภาพรวมของ Analytics เพื่อช่วยให้พาร์ทเนอร์ เข้าใจว่าทำไมผู้ใช้จึงยกเลิกการสมัครรับข้อมูล
ผู้ใช้สมัครรับข้อมูลจากการสนทนาอีกครั้ง
เหตุการณ์นี้บ่งชี้ว่าผู้ใช้ต้องการรับข้อความจากตัวแทนของคุณอีกครั้ง ซึ่งรวมถึงเนื้อหาที่ไม่จำเป็น เช่น โปรโมชัน ผู้ใช้สามารถเรียกเหตุการณ์นี้ให้แสดงโดยการสมัครรับข้อมูลจากการสนทนาที่เคยยกเลิกการสมัครรับข้อมูลไปแล้วใน Google Messages อีกครั้ง
ตัวอย่างเพย์โหลด JSON
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "SUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}วิธีสมัครรับข้อมูลอีกครั้ง
- ตัวเลือกสมัครรับข้อมูล ซึ่งพร้อมใช้งานจากทั้งเมนูแชทและลิงก์ในแชทจะช่วยให้ผู้ใช้สมัครรับข้อมูลจากการสนทนาที่เคยยกเลิกการสมัครรับข้อมูลไปแล้วอีกครั้งได้
การเลือกสมัครรับข้อมูล จะทริกเกอร์การดำเนินการ 2 อย่างพร้อมกัน ได้แก่ Google Messages จะส่งคีย์เวิร์ดเฉพาะประเทศ (เช่น "เริ่ม") ไปยังตัวแทน และแพลตฟอร์ม RBM จะส่งเหตุการณ์ SUBSCRIBE ไปยังเว็บฮุค ระบบจะกำหนดคีย์เวิร์ดเฉพาะตามรหัสประเทศแบบ 2 ตัวอักษรของหมายเลขโทรศัพท์ของผู้ใช้ ตารางต่อไปนี้แสดงคีย์เวิร์ดสำหรับแต่ละประเทศที่รองรับ
ประเทศ (รหัสประเทศ) คีย์เวิร์ดสมัครรับข้อมูล สหรัฐอเมริกา (US), อินเดีย (IN), สหราชอาณาจักร (GB), เยอรมนี (DE), เนเธอร์แลนด์ (NL) เริ่ม สเปน (ES), เม็กซิโก (MX) ALTA ฝรั่งเศส (FR) Démarrer บราซิล (BR) começar
กฎของธุรกิจ
- ในฐานะพาร์ทเนอร์ RBM ที่จัดการการสนทนานี้ คุณมีหน้าที่ต้องปฏิบัติตามคำขอของผู้ใช้ในการสมัครรับข้อมูลอีกครั้ง
- การสมัครรับข้อมูลอีกครั้งใช้ได้กับข้อความทุกประเภท ซึ่งรวมถึงเนื้อหาที่ไม่จำเป็น เช่น โปรโมชัน
- หากผู้ใช้ส่งข้อความถึงธุรกิจของคุณหลังจากยกเลิกการสมัครรับข้อมูลแล้ว การดำเนินการนี้ถือเป็นคำขอสมัครรับข้อมูลอีกครั้ง
- หากผู้ใช้สมัครรับข้อมูลอีกครั้งนอกแชแนลการรับส่งข้อความ (เช่น ในเว็บไซต์ของคุณ) คุณในฐานะพาร์ทเนอร์ RBM มีหน้าที่ต้องอัปเดตสถานะของผู้ใช้และส่งข้อความต่อตามความเหมาะสม
เหตุการณ์แพลตฟอร์ม
แพลตฟอร์ม RBM จะส่งเหตุการณ์แพลตฟอร์มเพื่อแจ้งให้ตัวแทนทราบเกี่ยวกับการเปลี่ยนแปลงสถานะการเปิดตัวของ ตัวแทนหรือ การหมดอายุของข้อความ
สถานะการเปิดตัวของตัวแทนมีการเปลี่ยนแปลง
แพลตฟอร์ม RBM จะส่ง AgentLaunchEvent สำหรับการเปลี่ยนแปลงสถานะการเปิดตัวของตัวแทนทุกครั้ง เช่น เมื่อสถานะของตัวแทนเปลี่ยนจาก PENDING เป็น LAUNCHED ระบบจะส่งเหตุการณ์เป็นข้อความ Pub/Sub หากต้องการแยกความแตกต่างจากเหตุการณ์อื่นๆ ให้ตรวจสอบเส้นทาง message.attributes.type สำหรับค่า agent_launch_event
การกำหนดค่าเว็บฮุค
คุณสามารถใช้เว็บฮุคระดับพาร์ทเนอร์หรือระดับตัวแทน webhook เพื่อรับการแจ้งเตือนเหล่านี้
ข้อกำหนดเบื้องต้น
- กำหนดค่าเว็บฮุค สำหรับการรับส่งข้อความ RBM (นี่เป็นข้อกำหนดในการ รับข้อความผู้ใช้และเหตุการณ์ผู้ใช้)
- หากต้องการแยกความแตกต่างระหว่าง เหตุการณ์ผู้ใช้ และสถานะการเปิดตัวของตัวแทน
เหตุการณ์ ให้ตรวจสอบเส้นทาง
message.attributes.typeสำหรับค่าagent_launch_event
โครงสร้างเพย์โหลดของเหตุการณ์
ระบบจะส่ง AgentLaunchEvent เป็นข้อความ Pub/Sub ตัวอย่าง
{
"message": {
"attributes": {
"business_id": "rbm-chatbot-id@rbm.goog",
"event_type": "REJECTED",
"product": "RBM",
"project_number": "3338881441851",
"type": "agent_launch_event"
},
"data": "....BASE64-encoded-JSON-with-notification...",
"messageId": "14150481888479752",
"message_id": "14150481888479752",
"publishTime": "2025-03-05T18:50:21.88Z",
"publish_time": "2025-03-05T18:50:21.88Z"
},
"subscription": "projects/rbm-partner-gcp/subscriptions/rbm-sub"
}
ช่อง AgentLaunchEvent.LaunchState ในเพย์โหลดของเหตุการณ์จะระบุ
สถานะการเปิดตัวใหม่ของตัวแทน ค่าที่เป็นไปได้มีดังนี้
| ค่า | สถานะการเปิดตัวของตัวแทน | รายละเอียด |
|---|---|---|
PENDING |
รอดำเนินการ | ระบบได้ส่งคำขอไปยังผู้ให้บริการเพื่อตรวจสอบแล้ว |
LAUNCHED |
เปิดตัวแล้ว | อนุญาตให้ส่งข้อความในผู้ให้บริการรายหนึ่งๆ ได้ |
REJECTED |
ถูกปฏิเสธในผู้ให้บริการรายหนึ่งๆ | เหตุผลที่ถูกปฏิเสธจะระบุไว้ในความคิดเห็น |
SUSPENDED |
ถูกระงับในผู้ให้บริการรายหนึ่งๆ | เหตุผลที่ถูกระงับจะระบุไว้ในความคิดเห็น |
UNLAUNCHED |
ยังไม่ได้เปิดตัว | อนุญาตให้แก้ไขตัวแทนที่ยังไม่ได้เปิดตัวจากผู้ให้บริการทุกราย |
ช่องข้อมูลมีออบเจ็กต์ JSON ที่เข้ารหัสแบบ Base64 พร้อมรายละเอียดสถานะการเปิดตัว ตัวอย่าง JSON ที่ถอดรหัสแล้ว
{
"eventId": "rbm-chatbot-id/0a7ed168-676e-4a56-b422-b23434",
"agentId": "rbm-chatbot-id@rbm.goog",
"botDisplayName": "RBM Welcome Bot 7 - RBM Chatbot name",
"brandId": "bd38fbff-392a-437b-a6f2-7f2e43745b56",
"brandDisplayName": "Chatbots brand",
"regionId": "/v1/regions/fi-rcs",
"oldLaunchState": "PENDING",
"newLaunchState": "REJECTED",
"actingParty": "rbm-support@google.com",
"comment": "Carrier has rejected the launch: policy violation",
"sendTime": "2025-03-05T18:50:19.386436Z"
}
การเปลี่ยนแปลงสถานะการเปิดตัวที่ผู้ให้บริการเป็นผู้ริเริ่ม
การเปลี่ยนแปลงที่อนุญาตเหล่านี้โดยปกติแล้วผู้ให้บริการจะเป็นผู้จัดการในระหว่างกระบวนการตรวจสอบและการบังคับใช้
| สถานะการเปิดตัวเดิม | สถานะการเปิดตัวใหม่ | ทริกเกอร์การทำงาน |
|---|---|---|
PENDING |
LAUNCHED |
อนุมัติคำขอเปิดตัว |
PENDING |
REJECTED |
ปฏิเสธคำขอเปิดตัว |
LAUNCHED |
SUSPENDED |
ระงับด้วยเหตุผลด้านการบังคับใช้/ผู้ดูแลระบบ |
SUSPENDED |
LAUNCHED |
กู้คืนตัวแทนให้มีสถานะใช้งานอยู่ |
SUSPENDED |
UNLAUNCHED |
หยุดใช้งานตัวแทน |
การเปลี่ยนแปลงสถานะการเปิดตัวที่พาร์ทเนอร์เป็นผู้ริเริ่ม
การเปลี่ยนแปลงที่อนุญาตเหล่านี้โดยปกติแล้วพาร์ทเนอร์จะเป็นผู้จัดการ
| สถานะการเปิดตัวเดิม | สถานะการเปิดตัวใหม่ | ทริกเกอร์การทำงาน |
|---|---|---|
UNSPECIFIED |
PENDING |
ส่งเพื่อตรวจสอบ |
PENDING |
UNLAUNCHED |
ยกเลิกคำขอเปิดตัวที่รอดำเนินการ |
UNLAUNCHED |
PENDING |
ส่งเพื่อตรวจสอบ |
REJECTED |
PENDING |
ส่งเพื่อรับการตรวจสอบอีกครั้ง |
ข้อความหมดอายุแล้ว การเพิกถอนสำเร็จ
เหตุการณ์นี้บ่งชี้ว่าเวลาที่ข้อความจะมีอยู่ (TTL) หมดอายุแล้วและระบบเพิกถอนข้อความได้สำเร็จ ซึ่งเป็นทริกเกอร์ที่ดีสำหรับกลยุทธ์การรับส่งข้อความสำรอง
ดูตัวเลือกการจัดรูปแบบและค่าทั้งหมดได้ที่ข้อมูลอ้างอิง ServerEvent
{ "phoneNumber": "[phone number]" , "messageId": "[RCS message ID]", "agentId": [bot ID], "eventType": "TTL_EXPIRATION_REVOKED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
ข้อความหมดอายุแล้ว การเพิกถอนไม่สำเร็จ
เหตุการณ์นี้บ่งชี้ว่า TTL ของข้อความหมดอายุแล้ว แต่ระบบเพิกถอนข้อความไม่สำเร็จ
ดูตัวเลือกการจัดรูปแบบและค่าทั้งหมดได้ที่ข้อมูลอ้างอิง ServerEvent
{ "phoneNumber": "[phone number]", "messageId": "[RCS message ID]", "agentId": "[bot ID]", "eventType": "TTL_EXPIRATION_REVOKE_FAILED", "eventId": "[unique ID]", "sendTime": "[time stamp]" }
ไม่รับประกันการส่งข้อความ
- หากส่งข้อความแล้ว คุณจะได้รับเหตุการณ์
DELIVEREDที่เว็บฮุค - หากส่งข้อความไม่สำเร็จ ให้ใช้ Revoke API เพื่อ ส่งคำขอเพิกถอน
หากข้อความมีความสำคัญต่อเวลา เช่น OTP หรือการแจ้งเตือนการฉ้อโกง คุณควรส่งข้อความผ่านแชแนลอื่น เช่น SMS แม้ว่าการดำเนินการนี้จะส่งผลให้ผู้ใช้ได้รับข้อความซ้ำ