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

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