เอเจนต์จะได้รับเหตุการณ์ 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), เนเธอร์แลนด์ (NL) หยุด สเปน (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 ไปยัง Webhook ระบบจะกำหนดคีย์เวิร์ดที่เฉพาะเจาะจงตามรหัสประเทศแบบ 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
การกำหนดค่าเว็บฮุค
คุณสามารถใช้เว็บฮุคระดับพาร์ทเนอร์หรือระดับตัวแทนเพื่อรับการแจ้งเตือนเหล่านี้
ข้อกำหนดเบื้องต้น
- กำหนดค่าเว็บฮุคสำหรับการรับส่งข้อความ 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 แม้ว่าการดำเนินการนี้จะส่งผลให้ ผู้ใช้ได้รับข้อความซ้ำก็ตาม