Mencabut pesan

Agen Anda dapat mencabut pesan yang sudah dikirim, tetapi belum sampai. Sebaiknya cabut pesan yang tidak terkirim sebelum menjadi tidak berlaku. Waktunya bergantung pada kasus penggunaan agen Anda. Misalnya, Anda dapat mencabut pesan OTP setelah sepuluh menit, tetapi mencabut pesan promosi pada tanggal habis masa berlaku tertentu. Untuk pengiriman pesan tepat waktu, pastikan untuk mencabut pesan tepat waktu agar dapat dikirim melalui rute alternatif seperti SMS.

Ada dua cara untuk mencabut pesan:

  • Kirim permintaan pencabutan untuk memicu pencabutan. Saat platform RBM menerima permintaan pencabutan, platform akan menampilkan 200 OK. Respons 200 OK tidak mengonfirmasi apakah pesan telah dicabut atau tidak. Jika pencabutan berhasil, platform RBM akan berhenti mencoba mengirim pesan, dan pesan tersebut akan dihapus dari antrean pengguna.

  • Menetapkan masa berlaku pesan untuk otomatis mencabut pesan pada waktu yang tepat. Platform RBM memberi tahu agen Anda saat masa berlaku pesan telah berakhir dan mengonfirmasi apakah pesan berhasil dicabut atau tidak. Lihat Peristiwa yang dihasilkan server untuk informasi selengkapnya.

Pencabutan bisa gagal pada kesempatan tertentu. Misalnya, agen Anda mungkin mencoba mencabut pesan saat platform RBM sedang dalam proses mengirimkannya. Jika pencabutan gagal, periksa peristiwa DELIVERED di webhook Anda. Jika pesan belum terkirim, Anda dapat mengirimkan permintaan pencabutan baru, lalu merutekan pesan ke saluran alternatif seperti SMS untuk memastikan pengiriman tepat waktu.

Contoh

Kode berikut mengirim permintaan pencabutan. Untuk informasi format dan nilai, lihat 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);
});
Kode ini adalah kutipan dari agen sampel 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();
}
Kode ini adalah kutipan dari agen sampel 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)
Kode ini adalah kutipan dari agen sampel 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");
Kode ini adalah kutipan dari agen sampel RBM.