Revoca messaggi

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);
});
Questo codice è un estratto di un agente campione 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();
}
Questo codice è un estratto di un agente campione 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)
Questo codice è un estratto di un agente campione 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");
Questo codice è un estratto di un agente campione RBM.