Ihr Agent kann eine Nachricht widerrufen, die gesendet, aber noch nicht zugestellt wurde. Es ist am besten, nicht zugestellte Nachrichten zu widerrufen, bevor sie veralten. Der Zeitpunkt hängt vom Anwendungsfall Ihres Agenten ab. So können Sie beispielsweise eine OTP-Nachricht nach zehn Minuten widerrufen, eine Werbenachricht jedoch erst an einem bestimmten Ablaufdatum. Damit Nachrichten rechtzeitig zugestellt werden, müssen Sie sie rechtzeitig widerrufen, damit Sie sie über einen alternativen Weg wie SMS senden können.
Es gibt zwei Möglichkeiten, eine Nachricht zurückzurufen:
Senden Sie einen Antrag auf Widerruf, um den Widerruf auszulösen. Die Antwort „200 OK“ bestätigt, dass die Nachricht widerrufen und aus der Warteschlange des Nutzers gelöscht wurde. Eine „404 Not Found“-Antwort bedeutet, dass der Versuch, die Nachricht zurückzurufen, fehlgeschlagen ist, weil die Nachricht zugestellt wurde.
Legen Sie ein Ablaufdatum für die Nachricht fest, damit die Nachricht zum richtigen Zeitpunkt automatisch widerrufen wird. Die RBM-Plattform benachrichtigt Ihren Kundenservicemitarbeiter, wenn die Nachricht abgelaufen ist, und bestätigt, ob sie erfolgreich widerrufen wurde. Weitere Informationen finden Sie unter Servergenerierte Ereignisse.
In seltenen Fällen kann der Widerruf fehlschlagen. Ihr Agent versucht beispielsweise, eine Nachricht zurückzurufen, während sie von der RBM-Plattform gerade zugestellt wird. 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 zur rechtzeitigen Zustellung an einen alternativen Kanal wie SMS weiterleiten.
Beispiel
Mit dem folgenden Code wird eine Widerrufsanfrage gesendet. Informationen zur Formatierung und zu Werten 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");