Nachrichten widerrufen

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