Revogar mensagens

O agente pode revogar uma mensagem que foi enviada, mas ainda não foi entregue. É melhor revogar mensagens não entregues antes que elas expirem. O tempo depende do caso de uso do seu agente. Por exemplo, você pode revogar uma mensagem de OTP após dez minutos, mas revogar uma mensagem promocional em uma data de validade específica. Para enviar mensagens em tempo hábil, revogue-as a tempo para que elas sejam enviadas por uma rota alternativa, como SMS.

Há duas maneiras de revogar uma mensagem:

  • Envie uma solicitação de revogação para acionar a revogação. Quando a plataforma RBM recebe uma solicitação de revogação, ela retorna 200 OK. A resposta 200 OK não confirma se a mensagem foi revogada ou não. Se a revogação for bem-sucedida, a plataforma RBM vai parar de tentar entregar a mensagem, que será excluída da fila do usuário.

  • Defina uma data de validade para revogar a mensagem automaticamente no momento apropriado. A plataforma RBM notifica seu agente quando a mensagem expira e confirma se ela foi revogada. Consulte Eventos gerados pelo servidor para mais informações.

A revogação pode falhar em casos raros. Por exemplo, seu agente pode tentar revogar uma mensagem enquanto a plataforma RBM está em processo de envio. Se a revogação falhar, verifique se há um evento DELIVERED no seu webhook. Se a mensagem não tiver sido entregue, envie uma nova solicitação de revogação e encaminhe a mensagem para um canal alternativo, como SMS, para garantir a entrega no prazo.

Exemplo

O código a seguir envia uma solicitação de revogação. Para informações sobre formatação e valor, consulte 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);
});
Este código é um trecho de um agente de exemplo do 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();
}
Este código é um trecho de um agente de exemplo do 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)
Este código é um trecho de um agente de exemplo do 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");
Este código é um trecho de um agente de exemplo do RBM.