ตัวแทนสามารถเพิกถอนข้อความที่ส่งแล้วแต่ยังไม่ได้นำส่ง คุณควรเพิกถอนข้อความที่นำส่งไม่สำเร็จก่อนที่ข้อความจะหมดอายุ ระยะเวลาจะขึ้นอยู่กับกรณีการใช้งานของเอเจนต์ เช่น คุณอาจเพิกถอนข้อความ OTP หลังจากผ่านไป 10 นาที แต่เพิกถอนข้อความโปรโมตในวันที่หมดอายุที่เฉพาะเจาะจง หากต้องการให้ส่งข้อความได้ทันเวลา โปรดเพิกถอนข้อความให้ทันเวลาที่คุณจะส่งข้อความผ่านเส้นทางอื่น เช่น SMS
การเพิกถอนข้อความทำได้ 2 วิธีดังนี้
ส่งคำขอเพิกถอน เพื่อทริกเกอร์การเพิกถอน การตอบกลับ 200 OK ยืนยันว่าข้อความถูกเพิกถอนและลบออกจากคิวของผู้ใช้แล้ว การตอบกลับ 404 Not Found หมายความว่า ความพยายามในการเพิกถอนล้มเหลวเนื่องจากมีการนำส่งข้อความแล้ว
ตั้งค่าข้อความหมดอายุ เพื่อเพิกถอนข้อความโดยอัตโนมัติในเวลาที่เหมาะสม แพลตฟอร์ม RBM จะแจ้งให้ตัวแทนทราบเมื่อข้อความหมดอายุและยืนยัน ว่าเพิกถอนสำเร็จหรือไม่ ดูข้อมูลเพิ่มเติมได้ที่เหตุการณ์ที่เซิร์ฟเวอร์สร้างขึ้น
การเพิกถอนอาจล้มเหลวในบางกรณีที่เกิดขึ้นไม่บ่อยนัก เช่น ตัวแทนอาจพยายามเพิกถอนข้อความในขณะที่แพลตฟอร์ม RBM กำลังนำส่งข้อความ หากการเพิกถอนล้มเหลว ให้ตรวจสอบเหตุการณ์ DELIVERED
ที่เว็บฮุก หากข้อความยังไม่ได้รับการนำส่ง คุณสามารถส่งคำขอเพิกถอนใหม่
และกำหนดเส้นทางข้อความไปยังช่องทางอื่น เช่น SMS เพื่อให้มีการนำส่งได้ทันท่วงที
ตัวอย่าง
โค้ดต่อไปนี้จะส่งคำขอเพิกถอน ดูข้อมูลการจัดรูปแบบและค่าได้ที่
phones.agentMessages.delete
cURL
curl -X DELETE "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages/MESSAGE_ID?agentId=AGENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Stop the message associated with messageId from being delivered rbmApiHelper.revokeMessage('+12223334444', messageId, function(err, response) { console.log(response); });
Java
import com.google.rbm.RbmApiHelper; … try { // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Stop the message associated with messageId from being delivered rbmApiHelper.revokeMessage(messageId, "+12223334444"); } catch(Exception e) { e.printStackTrace(); }
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service # Stop the message associated with message_id from being delivered rbm_service.revoke('+12223334444', message_id)
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Stop the message associated with messageId from being delivered rbmApiHelper.RevokeMessage(messageId, "+12223334444");