เอเจนต์จะได้รับเหตุการณ์ Webhook จากแพลตฟอร์ม 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"
}ผู้ใช้แตะการดำเนินการที่แนะนำ
เมื่อผู้ใช้แตะการดำเนินการที่แนะนำ ตัวแทนของคุณจะได้รับเหตุการณ์ที่มีข้อมูลการรายงานผล Conversion ของการดำเนินการ
{
"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 จะส่งคีย์เวิร์ดเฉพาะประเทศ (เช่น "STOP") ไปยังตัวแทน และ แพลตฟอร์ม RBM จะส่งเหตุการณ์
UNSUBSCRIBEไปยังเว็บฮุกระบบจะกำหนดคีย์เวิร์ดตามรหัสประเทศแบบ 2 ตัวอักษรของหมายเลขโทรศัพท์ของผู้ใช้ ตารางต่อไปนี้แสดงคีย์เวิร์ดสำหรับแต่ละประเทศที่รองรับ
ประเทศ (รหัสประเทศ) คีย์เวิร์ดเลิกติดตาม สหรัฐอเมริกา (US), อินเดีย (IN), สหราชอาณาจักร (GB), เยอรมนี (DE) หยุด สเปน (ES), เม็กซิโก (MX) BAJA ฝรั่งเศส (FR) หยุด บราซิล (BR) parar หลังจากที่ผู้ใช้ยกเลิกการสมัครรับข้อความแล้ว การสนทนาจะยังคงอยู่ในกล่องจดหมาย เว้นแต่จะมีการรายงานว่าเป็นสแปม ในกรณีนี้ ระบบจะย้ายการสนทนาไปยังโฟลเดอร์สแปมและข้อความที่ถูกบล็อก
Google จะตรวจสอบรูปแบบข้อความหลังจากที่ผู้ใช้ยกเลิกการสมัครรับอีเมลเพื่อระบุการละเมิดนโยบายและกฎทางธุรกิจ
กฎทางธุรกิจ
- ในฐานะพาร์ทเนอร์ RBM ที่จัดการการสนทนานี้ คุณมีหน้าที่ ปฏิบัติตามคำขอของผู้ใช้ในการยกเลิกการติดตาม
- หากยกเลิกการสมัครรับอีเมลภายในชุดข้อความไม่ได้ คุณ ต้องส่งข้อความรับทราบพร้อมลิงก์โดยตรงไปยัง เว็บไซต์หรือแอปที่ผู้ใช้จัดการค่ากำหนดการสมัครรับอีเมลได้ทันที
- หลังจากที่ผู้ใช้ยกเลิกการสมัครรับข้อมูลแล้ว จะห้ามส่งข้อความที่ไม่จำเป็น
- แต่จะยังอนุญาตให้ส่งข้อความที่จำเป็นได้ ซึ่งรวมถึง
- การตรวจสอบสิทธิ์ เช่น รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว (OTP)
- การแจ้งเตือนเกี่ยวกับบริการที่เฉพาะเจาะจงซึ่งผู้ใช้ได้ขอและ ยินยอม
- การยืนยันคำขอยกเลิกการสมัครรับอีเมลของผู้ใช้ พร้อมข้อมูลสำหรับ จัดการค่ากําหนดการสื่อสารเพิ่มเติม
ตัวอย่าง
หากผู้ใช้ยกเลิกการสมัครรับข้อความจากตัวแทนสายการบินที่มี Use Case เป็นการใช้งานหลายอย่าง คุณต้องหยุดส่งข้อความการตลาด อย่างไรก็ตาม คุณสามารถส่งข้อมูลอัปเดตเที่ยวบินได้ หากผู้ใช้ให้ความยินยอมอย่างชัดแจ้งในการรับข้อมูลอัปเดตสำหรับเที่ยวบินนั้นๆ
เหตุผลในการยกเลิกการสมัครรับข้อมูล
เมื่อผู้ใช้ยกเลิกการติดตามเอเจนต์ของคุณ ผู้ใช้จะเลือกเหตุผลจากตัวเลือกต่อไปนี้ได้
- สแปม
- ไม่เคยลงชื่อสมัครใช้
- มีข้อความมากเกินไป
- ไม่สนใจเป็นสมาชิกแล้ว
- อื่นๆ
เหตุผลในการยกเลิกการสมัครรับข้อมูลจะแสดงในภาพรวมข้อมูลวิเคราะห์เพื่อช่วยให้พาร์ทเนอร์ เข้าใจสาเหตุที่ผู้ใช้ยกเลิกการสมัครรับข้อมูล
ผู้ใช้สมัครรับข้อมูลการสนทนาอีกครั้ง
เหตุการณ์นี้บ่งชี้ว่าผู้ใช้ต้องการรับข้อความจากตัวแทนของคุณอีกครั้ง รวมถึงเนื้อหาที่ไม่จำเป็น เช่น โปรโมชัน ผู้ใช้สามารถทริกเกอร์เหตุการณ์นี้ได้โดยการสมัครรับข้อมูลการสนทนาที่ยกเลิกการสมัครรับข้อมูลไปก่อนหน้านี้ใน Google Messages อีกครั้ง
ตัวอย่างเพย์โหลด JSON มีดังนี้
{
"senderPhoneNumber": "PHONE_NUMBER",
"eventType": "SUBSCRIBE",
"eventId": "EVENT_ID",
"agentId": "AGENT_ID"
}วิธีการทำงานของการสมัครใช้บริการอีกครั้ง
- ตัวเลือกสมัครรับข้อมูลซึ่งมีให้ใช้งานจากทั้งเมนูแชทและลิงก์ในแชท ช่วยให้ผู้ใช้สมัครรับข้อมูลการสนทนาที่เคยยกเลิกการสมัครไปแล้ว ได้อีกครั้ง
การเลือกติดตามจะทําให้เกิดการกระทํา 2 อย่างพร้อมกัน ได้แก่ Google Messages จะส่งคีย์เวิร์ดเฉพาะประเทศ (เช่น "START") ไปยังตัวแทน และ แพลตฟอร์ม RBM จะส่งเหตุการณ์ SUBSCRIBE ไปยังเว็บฮุก ระบบจะกำหนดคีย์เวิร์ดที่เฉพาะเจาะจงตามรหัสประเทศแบบ 2 ตัวอักษรของหมายเลขโทรศัพท์ของผู้ใช้ ตารางต่อไปนี้แสดงคีย์เวิร์ดสำหรับแต่ละประเทศที่รองรับ
ประเทศ (รหัสประเทศ) คีย์เวิร์ดการติดตาม สหรัฐอเมริกา (US), อินเดีย (IN), สหราชอาณาจักร (GB), เยอรมนี (DE) เริ่ม สเปน (ES), เม็กซิโก (MX) ALTA ฝรั่งเศส (FR) Démarrer บราซิล (BR) começar
กฎทางธุรกิจ
- ในฐานะพาร์ทเนอร์ RBM ที่จัดการการสนทนานี้ คุณมีหน้าที่ปฏิบัติตามคำขอของผู้ใช้ในการสมัครรับข้อมูลอีกครั้ง
- การสมัครรับข้อความอีกครั้งจะมีผลกับข้อความทุกประเภท รวมถึงเนื้อหาที่ไม่จำเป็น เช่น โปรโมชัน
- หากผู้ใช้ส่งข้อความถึงธุรกิจหลังจากยกเลิกการสมัครรับข้อความ ระบบจะถือว่าเป็นการขอสมัครรับข้อความอีกครั้ง
- หากผู้ใช้สมัครรับข้อความอีกครั้งนอกช่องทางการรับส่งข้อความ (เช่น ในเว็บไซต์ของคุณ) คุณในฐานะพาร์ทเนอร์ RBM มีหน้าที่ต้องอัปเดตสถานะของผู้ใช้และส่งข้อความต่อตามนั้น
เหตุการณ์ของแพลตฟอร์ม
แพลตฟอร์ม RBM จะส่งเหตุการณ์ของแพลตฟอร์มเพื่อแจ้งให้ตัวแทนทราบเกี่ยวกับการเปลี่ยนแปลงสถานะการเปิดตัวของตัวแทนหรือข้อความหมดอายุ
สถานะการเปิดใช้งานของตัวแทนมีการเปลี่ยนแปลง
แพลตฟอร์ม RBM จะส่งAgentLaunchEvent
สำหรับการเปลี่ยนแปลงทุกครั้งในสถานะการเปิดตัวของตัวแทน เช่น เมื่อสถานะของเอเจนต์เปลี่ยนจาก PENDING เป็น LAUNCHED ระบบจะส่งเหตุการณ์เป็น
ข้อความ Pub/Sub หากต้องการแยกความแตกต่างจากเหตุการณ์อื่นๆ ให้ตรวจสอบmessage.attributes.typeเส้นทางสำหรับค่า agent_launch_event
การกำหนดค่าเว็บฮุค
คุณสามารถใช้เว็บฮุคระดับพาร์ทเนอร์หรือระดับตัวแทนเพื่อรับการแจ้งเตือนเหล่านี้
ข้อกำหนดเบื้องต้น
- กำหนดค่าเว็บฮุคสำหรับการรับส่งข้อความ 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 |
ส่งเพื่อตรวจสอบ |
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ที่ Webhook - หากส่งข้อความไม่สำเร็จ ให้ใช้ API การเพิกถอนเพื่อส่งคำขอเพิกถอน
หากข้อความมีความเร่งด่วน เช่น OTP หรือการแจ้งเตือนการฉ้อโกง ทางที่ดีควร ส่งข้อความผ่านช่องทางอื่น เช่น SMS แม้ว่าการดำเนินการนี้จะส่งผลให้ ผู้ใช้ได้รับข้อความซ้ำก็ตาม