Mencabut pesan

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);
});
Kode ini adalah kutipan dari agen contoh 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();
}
Kode ini adalah kutipan dari agen contoh 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 contoh 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 contoh RBM.