Nachrichten widerrufen

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);
});
Dieser Code ist ein Auszug aus einem RBM-Beispielagenten.

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();
}
Dieser Code ist ein Auszug aus einem RBM-Beispielagenten.

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)
Dieser Code ist ein Auszug aus einem RBM-Beispielagenten.

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");
Dieser Code ist ein Auszug aus einem RBM-Beispielagenten.