Revogar mensagens

Seu agente pode revogar uma mensagem que foi enviada, mas ainda não foi entregue. É melhor revogar as mensagens não entregues antes que elas fiquem desatualizadas. O tempo depende do caso de uso do seu agente. Por exemplo, é possível revogar uma mensagem de OTP após 10 minutos, mas revogar uma mensagem promocional em uma data de validade específica. Para entrega de mensagens no prazo, revogue as mensagens a tempo de enviá-las 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 ou não revogada. Se a revogação for bem-sucedida, a plataforma RBM interromperá a tentativa de entregar a mensagem e ela será excluída da fila do usuário.

  • Defina a expiração da mensagem para revogar automaticamente a mensagem no momento apropriado. A plataforma RBM notifica seu agente quando a mensagem expira e confirma se ela foi ou não revogada. Consulte Eventos gerados pelo servidor para mais informações.

Em algumas ocasiões raras, a revogação pode falhar. Por exemplo, o agente pode tentar revogar uma mensagem enquanto ela é entregue pela plataforma RBM. Se a revogação falhar, verifique se há um evento DELIVERED no webhook. Se a mensagem não tiver sido entregue, envie uma nova solicitação de revogação e, em seguida, encaminhe a mensagem para um canal alternativo, como o SMS, para garantir a entrega dentro do 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" \
-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('../libs/rbm_api_helper');

// Stop the message associated with messageId from being delivered
rbmApiHelper.revokeMessage('+12223334444', messageId, function(err, response) {
   console.log(response);
});
Esse código é um trecho de um agente de amostra do RBM.

Java

import com.google.rbm.samples.lib.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();
}
Esse código é um trecho de um agente de amostra 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)
Esse código é um trecho de um agente de amostra 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");
Esse código é um trecho de um agente de amostra do RBM.