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

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