ตัวแทนสามารถเพิกถอนข้อความที่ส่งแล้วแต่ยังไม่ได้ส่งได้ เราขอแนะนำให้เพิกถอนข้อความที่ยังไม่ได้ส่งก่อนที่ข้อความเหล่านั้นจะไม่ได้รับอัปเดต ระยะเวลาจะขึ้นอยู่กับ กรณีการใช้งานของตัวแทน เช่น คุณอาจเพิกถอนข้อความ OTP หลังจากผ่านไป 10 นาที แต่เพิกถอนข้อความโปรโมชันในวันที่กำหนดหมดอายุ หากต้องการส่งข้อความอย่างทันท่วงที โปรดเพิกถอนข้อความให้ทันเวลาเพื่อส่งโดยใช้เส้นทางอื่นอย่างเช่น SMS
การเพิกถอนข้อความทำได้ 2 วิธีดังนี้
ส่งคำขอเพิกถอน เพื่อทริกเกอร์การเพิกถอน เมื่อแพลตฟอร์ม RBM ได้รับคำขอเพิกถอน แพลตฟอร์มจะแสดงค่า 200 OK การตอบกลับ 200 OK ไม่ได้ยืนยันว่าข้อความถูกเพิกถอนหรือไม่ หากการเพิกถอนสำเร็จ แพลตฟอร์ม RBM จะหยุดพยายามส่งข้อความ และข้อความนั้นจะถูกลบออกจากคิวของผู้ใช้
กำหนดการหมดอายุของข้อความ เพื่อเพิกถอนข้อความโดยอัตโนมัติในเวลาที่เหมาะสม แพลตฟอร์ม RBM จะแจ้งให้ตัวแทนของคุณทราบเมื่อข้อความหมดอายุ และจะยืนยันว่าเพิกถอนสำเร็จหรือไม่ ดูเหตุการณ์ที่เซิร์ฟเวอร์สร้างขึ้นสำหรับข้อมูลเพิ่มเติม
การเพิกถอนอาจล้มเหลวในบางกรณีที่เกิดขึ้นไม่บ่อย เช่น ตัวแทนอาจพยายามเพิกถอนข้อความในขณะที่แพลตฟอร์ม RBM อยู่ระหว่างการนำส่ง หากเพิกถอนไม่สำเร็จ ให้ตรวจสอบเหตุการณ์ DELIVERED
ที่เว็บฮุค หากยังไม่มีการส่งข้อความ คุณสามารถส่งคำขอเพิกถอนใหม่ จากนั้นกำหนดเส้นทางข้อความไปยังช่องทางอื่น เช่น SMS เพื่อให้มีการส่งได้ตรงเวลา
ตัวอย่าง
โค้ดต่อไปนี้จะส่งคำขอเพิกถอน ดูข้อมูลการจัดรูปแบบและค่าได้ที่ phones.agentMessages.delete
cURL
curl -X DELETE "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages/MESSAGE_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('../libs/rbm_api_helper'); // Stop the message associated with messageId from being delivered rbmApiHelper.revokeMessage('+12223334444', messageId, function(err, response) { console.log(response); });โค้ดนี้ข้อความที่ตัดตอนมาจากตัวแทนตัวอย่าง RBM
Java
import com.google.rbm.samples.lib.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(); }โค้ดนี้ข้อความที่ตัดตอนมาจากตัวแทนตัวอย่าง RBM
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)โค้ดนี้ข้อความที่ตัดตอนมาจากตัวแทนตัวอย่าง RBM
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");โค้ดนี้ข้อความที่ตัดตอนมาจากตัวแทนตัวอย่าง RBM