เพิกถอนข้อความ

ตัวแทนของคุณเพิกถอนข้อความที่ส่งไปแล้วแต่ยังไม่ได้ส่งได้ ควรเพิกถอนข้อความที่ยังไม่ได้ส่งก่อนที่ข้อความจะหมดอายุ ระยะเวลาจะขึ้นอยู่กับกรณีการใช้งานของตัวแทน เช่น คุณอาจเพิกถอนข้อความ OTP หลังจากผ่านไป 10 นาที แต่เพิกถอนข้อความโปรโมชันในวันที่หมดอายุที่เฉพาะเจาะจง เพื่อให้ข้อความส่งถึงผู้รับได้ทันเวลา โปรดเพิกถอนข้อความให้ทันเวลาเพื่อให้คุณส่งข้อความผ่านเส้นทางอื่น เช่น SMS ได้

คุณเพิกถอนข้อความได้ 2 วิธีดังนี้

  • ส่งคำขอเพิกถอน เพื่อทริกเกอร์การเพิกถอน การตอบกลับ 200 OK จะยืนยันว่าข้อความถูกเพิกถอนและลบออกจากคิวของผู้ใช้แล้ว การตอบกลับ 404 Not Found หมายความว่าการพยายามเพิกถอนไม่สำเร็จเนื่องจากข้อความถูกส่งไปแล้ว

  • ตั้งค่าการหมดอายุของข้อความ เพื่อเพิกถอนข้อความโดยอัตโนมัติตามเวลาที่เหมาะสม แพลตฟอร์ม RBM จะแจ้งให้ตัวแทนของคุณทราบเมื่อข้อความหมดอายุและยืนยันว่าเพิกถอนข้อความสำเร็จหรือไม่ ดูข้อมูลเพิ่มเติมได้ที่เหตุการณ์ที่เซิร์ฟเวอร์สร้างขึ้น

การเพิกถอนอาจไม่สำเร็จในบางกรณี เช่น ตัวแทนของคุณอาจพยายามเพิกถอนข้อความในขณะที่แพลตฟอร์ม RBM กำลังส่งข้อความ หาก การเพิกถอนไม่สำเร็จ ให้ตรวจสอบเหตุการณ์ DELIVERED event ที่เว็บฮุก หากข้อความยังไม่ได้ส่ง คุณสามารถส่งคำขอเพิกถอนใหม่ แล้วกำหนดเส้นทางข้อความไปยังช่องทางอื่น เช่น 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);
});
โค้ดนี้เป็นส่วนหนึ่งของตัวแทนตัวอย่าง RBM

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();
}
โค้ดนี้เป็นส่วนหนึ่งของตัวแทนตัวอย่าง 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