Unieważnij wiadomości

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);
});
Ten kod jest fragmentem przykładowego agenta RBM.

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();
}
Ten kod jest fragmentem przykładowego agenta RBM.

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)
Ten kod jest fragmentem przykładowego agenta RBM.

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");
Ten kod jest fragmentem przykładowego agenta RBM.