รับเหตุการณ์

ตัวแทนจะได้รับเหตุการณ์เว็บฮุคจากแพลตฟอร์ม 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 แม้ว่าการดำเนินการนี้จะส่งผลให้ผู้ใช้ได้รับข้อความซ้ำ