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, você pode revogar uma mensagem de senha única após dez minutos, mas revogar uma mensagem promocional em uma data de validade específica. Para entregar as mensagens a tempo, revogue-as com antecedência para que você possa enviá-las por uma rota alternativa, como SMS.

Há duas maneiras de revogar uma mensagem:

  • Envie um pedido de revogação para acionar a revogação. A resposta "200 OK" confirma que a mensagem foi revogada e excluída da fila do usuário. Uma resposta "404 Not Found" significa que a tentativa de revogação falhou porque a mensagem foi entregue.

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

A revogação pode falhar em ocasiões raras. Por exemplo, seu agente pode tentar revogar uma mensagem enquanto a plataforma RBM está no processo de entrega. 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 que ela seja entregue a tempo.

Exemplo

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