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