Pracownik może cofnąć wiadomość, która została wysłana, ale nie została jeszcze dostarczona. Najlepiej jest cofnąć niedostarczone wiadomości, zanim staną się nieaktualne. Czas trwania zależy od przypadku użycia agenta. Na przykład wiadomość z kodem OTP możesz wycofać po 10 minutach, a wiadomość promocyjną – w określonym dniu wygaśnięcia. Aby wiadomości były dostarczane na czas, pamiętaj o wycofywaniu ich z wyprzedzeniem, tak aby można było wysłać je alternatywną metodą, np. SMS-em.
Wiadomość możesz cofnąć na 2 sposoby:
Wyślij prośbę o unieważnienie, aby je zainicjować. Odpowiedź 200 OK potwierdza, że wiadomość została wycofana i usunięta z kolejki użytkownika. Odpowiedź 404 Not Found oznacza, że próba wycofania nie powiodła się, ponieważ wiadomość została dostarczona.
Ustaw datę ważności wiadomości, aby automatycznie cofnąć wiadomość we właściwym czasie. Platforma RBM powiadamia agenta o wygaśnięciu wiadomości i potwierdza, czy została ona wycofana. Więcej informacji znajdziesz w sekcji Zdarzenia generowane przez serwer.
W rzadkich przypadkach unieważnienie może się nie udać. Na przykład agent może spróbować wycofać wiadomość, gdy platforma RBM jest w trakcie jej dostarczania. Jeśli wycofanie się nie powiedzie, sprawdź, czy w webhooku występuje DELIVERED
zdarzenie. Jeśli wiadomość nie została dostarczona, możesz wysłać nową prośbę o wycofanie, a następnie przekierować wiadomość do innego kanału, np. SMS-a, aby ją dostarczyć na czas.
Przykład
Poniższy kod wysyła żądanie unieważnienia. Informacje o formatowaniu i wartościach znajdziesz w sekcji 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");