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); });
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(); }
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)
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");