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.