ตัวแทนของคุณจะได้รับเหตุการณ์เว็บฮุคจากแพลตฟอร์ม 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 |
หยุดใช้งานตัวแทน |
REJECTED |
LAUNCHED |
อนุมัติคำขอเปิดตัวที่ถูกปฏิเสธก่อนหน้านี้ |
การเปลี่ยนแปลงสถานะการเปิดตัวที่พาร์ทเนอร์เป็นผู้ริเริ่ม
การเปลี่ยนแปลงที่อนุญาตเหล่านี้มักจะจัดการโดยพาร์ทเนอร์
| สถานะการเปิดตัวเดิม | สถานะการเปิดตัวใหม่ | ทริกเกอร์การทำงาน |
|---|---|---|
UNSPECIFIED |
PENDING |
ส่งเพื่อตรวจสอบ |
PENDING |
UNLAUNCHED |
ยกเลิกคำขอเปิดตัวที่รอดำเนินการ |
UNLAUNCHED |
PENDING |
ส่งเพื่อตรวจสอบ |
REJECTED |
PENDING |
ส่งเพื่อรับการตรวจสอบอีกครั้ง |
SUSPENDED |
PENDING |
ส่งเพื่อรับการตรวจสอบอีกครั้ง |
ข้อความหมดอายุแล้ว การเพิกถอนสำเร็จ
เหตุการณ์นี้บ่งชี้ว่าเวลาที่ข้อความจะมีชีวิตอยู่ (TTL) หมดอายุแล้ว และระบบได้เพิกถอนข้อความเรียบร้อยแล้ว นี่เป็นทริกเกอร์ที่ดีสำหรับกลยุทธ์การรับส่งข้อความสำรอง
ดูตัวเลือกการจัดรูปแบบและค่าทั้งหมดได้ที่ข้อมูลอ้างอิง ServerEvent
{
"phoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID",
"eventType": "TTL_EXPIRATION_REVOKED",
"eventId": "EVENT_ID",
"sendTime": "TIMESTAMP"
}ข้อความหมดอายุแล้ว การเพิกถอนไม่สำเร็จ
เหตุการณ์นี้บ่งชี้ว่า TTL ของข้อความหมดอายุแล้ว แต่ระบบเพิกถอนข้อความไม่สำเร็จ
ดูตัวเลือกการจัดรูปแบบและค่าทั้งหมดได้ที่ข้อมูลอ้างอิง ServerEvent
{
"phoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"agentId": "AGENT_ID",
"eventType": "TTL_EXPIRATION_REVOKE_FAILED",
"eventId": "EVENT_ID",
"sendTime": "TIMESTAMP"
}ไม่รับประกันการส่งข้อความ
- หากส่งข้อความแล้ว คุณจะได้รับเหตุการณ์
DELIVEREDที่เว็บฮุค - หากส่งข้อความไม่สำเร็จ ให้ใช้ Revoke API เพื่อ ส่งคำขอเพิกถอน
หากข้อความมีความสำคัญต่อเวลา เช่น OTP หรือการแจ้งเตือนการฉ้อโกง คุณควรส่งข้อความผ่านช่องทางอื่น เช่น SMS แม้ว่าการดำเนินการนี้จะส่งผลให้ผู้ใช้ได้รับข้อความซ้ำ