Agen Anda dapat membatalkan pesan yang telah dikirim tetapi belum terkirim. Sebaiknya batalkan pesan yang belum terkirim sebelum pesan tersebut menjadi tidak valid. 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 Anda dapat mengirimkannya melalui rute alternatif seperti SMS.
Ada dua cara untuk mencabut pesan:
Kirim permintaan pencabutan untuk memicu pencabutan. Respons 200 OK mengonfirmasi bahwa pesan telah dibatalkan dan dihapus dari antrean pengguna. Respons 404 Not Found berarti upaya pencabutan telah gagal karena pesan telah dikirim.
Menyetel masa berlaku pesan untuk mencabut pesan secara otomatis pada waktu yang tepat. Platform RBM memberi tahu agen Anda saat pesan telah berakhir dan mengonfirmasi apakah pesan berhasil dicabut atau tidak. Lihat Peristiwa yang dibuat server untuk mengetahui informasi selengkapnya.
Pencabutan akses dapat gagal dalam kasus yang jarang terjadi. Misalnya, agen Anda dapat 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 mengirim
permintaan pencabutan
baru, lalu mengarahkan pesan ke saluran alternatif seperti SMS agar terkirim tepat waktu.
Contoh
Kode berikut mengirim permintaan pencabutan. Untuk mengetahui informasi pemformatan dan nilai, lihat 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");