Ihr Agent kann eine Nachricht widerrufen, die gesendet, aber noch nicht zugestellt wurde. Es empfiehlt sich, nicht zugestellte Nachrichten zu widerrufen, bevor sie veraltet sind. Der Zeitpunkt hängt vom Anwendungsfall Ihres Agenten ab. Sie können beispielsweise eine OTP-Nachricht nach zehn Minuten widerrufen, eine Werbenachricht jedoch an einem bestimmten Ablaufdatum. Damit Nachrichten rechtzeitig zugestellt werden, müssen Sie sie rechtzeitig widerrufen, damit Sie sie über eine alternative Route wie SMS senden können.
Es gibt zwei Möglichkeiten, eine Nachricht zu widerrufen:
Senden Sie eine Widerrufsanfrage um den Widerruf auszulösen. Die Antwort „200 OK“ bestätigt, dass die Nachricht widerrufen und aus der Warteschlange des Nutzers gelöscht wurde. Die Antwort „404 Not Found“ bedeutet, dass der Widerrufsversuch fehlgeschlagen ist, weil die Nachricht zugestellt wurde.
Legen Sie ein Ablaufdatum für die Nachricht fest um sie automatisch zum entsprechenden Zeitpunkt zu widerrufen. Die RBM-Plattform benachrichtigt Ihren Agenten, wenn die Nachricht abgelaufen ist, und bestätigt, ob sie widerrufen wurde. Weitere Informationen finden Sie unter Vom Server generierte Ereignisse.
In seltenen Fällen kann der Widerruf fehlschlagen. Beispielsweise kann Ihr Agent versuchen, eine Nachricht zu widerrufen, während die RBM-Plattform sie gerade zustellt. Wenn
der Widerruf fehlschlägt, suchen Sie in Ihrem Webhook nach einem DELIVERED Ereignis. Wenn die Nachricht nicht zugestellt wurde, können Sie eine neue
Widerrufsanfrage
senden und die Nachricht dann über einen alternativen Kanal wie SMS zustellen, damit sie rechtzeitig ankommt.
Beispiel
Mit dem folgenden Code wird eine Widerrufsanfrage gesendet. Informationen zur Formatierung und zu Wert
informationen finden Sie unter
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");