Agen Anda dapat mencabut pesan yang telah dikirim tetapi belum terkirim. Sebaiknya cabut 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 dicabut dan dihapus dari antrean pengguna. Respons 404 Not Found berarti upaya pencabutan gagal karena pesan telah terkirim.
Tetapkan masa berlaku pesan untuk mencabut pesan secara otomatis pada waktu yang tepat. Platform RBM akan memberi tahu agen Anda saat pesan telah habis masa berlakunya dan mengonfirmasi apakah pesan berhasil dicabut atau tidak. Lihat Peristiwa yang dibuat server untuk mengetahui informasi selengkapnya.
Pencabutan dapat gagal pada kesempatan yang jarang terjadi. Misalnya, agen Anda dapat mencoba mencabut pesan saat platform RBM sedang dalam proses mengirimkannya. Jika
pencabutan gagal, periksa peristiwa DELIVERED event
di webhook Anda. Jika pesan belum terkirim, Anda dapat mengirim permintaan pencabutan baru
lalu merutekan pesan ke saluran alternatif seperti SMS untuk pengiriman tepat waktu.
Contoh
Kode berikut mengirim permintaan pencabutan. Untuk pemformatan dan nilai
informasi, 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");