L'agente può revocare un messaggio che è stato inviato ma non ancora consegnato. È consigliabile revocare i messaggi non consegnati prima che diventino obsoleti. La tempistica dipende dal caso d'uso dell'agente. Ad esempio, potresti revocare un messaggio OTP dopo dieci minuti, ma revocare un messaggio promozionale in una data di scadenza specifica. Per la consegna tempestiva dei messaggi, assicurati di revocarli in tempo per inviarli tramite un percorso alternativo come gli SMS.
Esistono due modi per revocare un messaggio:
Invia una richiesta di revoca per attivarla. La risposta 200 OK conferma che il messaggio è stato revocato ed eliminato dalla coda dell'utente. Una risposta 404 Not Found indica che il tentativo di revoca non è riuscito perché il messaggio è stato recapitato.
Imposta la scadenza di un messaggio per revocarlo automaticamente al momento opportuno. La piattaforma RBM notifica all'agente la scadenza del messaggio e conferma se è stato revocato correttamente. Per saperne di più, consulta la sezione Eventi generati dal server.
In rari casi, la revoca potrebbe non riuscire. Ad esempio, il tuo agente potrebbe tentare di
revocare un messaggio mentre la piattaforma RBM è in fase di consegna. Se
la revoca non va a buon fine, controlla la presenza di un evento DELIVERED
nel webhook. Se il messaggio non è stato consegnato, puoi inviare una nuova
richiesta di revoca
e poi indirizzare il messaggio a un canale alternativo come gli SMS per una consegna tempestiva.
Esempio
Il seguente codice invia una richiesta di revoca. Per informazioni sulla formattazione e sui valori, vedi 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");