Twój agent może cofnąć wysłaną, ale jeszcze niedostarczoną wiadomość. Najlepiej cofnąć niedostarczone wiadomości, zanim się zdezaktualizują. Czas zależy od przypadku użycia agenta. Możesz na przykład cofnąć wiadomość z kodem jednorazowym po 10 minutach, ale cofnąć wiadomość promocyjną w określonej dacie ważności. Aby wiadomość została dostarczona na czas, cofnij ją, zanim będziesz mieć czas na wysłanie jej inną drogą, np. SMS-em.
Wiadomość możesz cofnąć na 2 sposoby:
Wyślij prośbę o cofnięcie aby wywołać cofnięcie. Odpowiedź 200 OK potwierdza, że wiadomość została cofnięta i usunięta z kolejki użytkownika. Odpowiedź 404 Not Found oznacza, że próba cofnięcia nie powiodła się, ponieważ wiadomość została dostarczona.
Ustaw datę ważności wiadomości aby automatycznie cofnąć wiadomość w odpowiednim czasie. Gdy wiadomość wygaśnie, platforma RBM powiadomi Twojego agenta i potwierdzi, czy wiadomość została cofnięta. Więcej informacji znajdziesz w artykule Zdarzenia generowane przez serwer.
W rzadkich przypadkach cofnięcie może się nie udać. Twój agent może na przykład próbować cofnąć wiadomość, gdy platforma RBM jest w trakcie jej dostarczania. Jeśli
cofnięcie się nie powiedzie, sprawdź, czy w webhooku występuje zdarzenie DELIVERED. Jeśli wiadomość nie została dostarczona, możesz wysłać nową
prośbę o cofnięcie
a następnie przekierować wiadomość do innego kanału, np. SMS-a, aby dostarczyć ją na czas.
Przykład
Poniższy kod wysyła prośbę o cofnięcie. Informacje o formatowaniu i wartości
znajdziesz w artykule
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");