Unieważnij wiadomości

Twój agent może unieważnić wiadomość, która została wysłana, ale jeszcze niedostarczona. Najlepiej unieważnić niedostarczone wiadomości, zanim staną się nieaktualne. Czas zależy od konkretnego przypadku użycia agenta. Możesz na przykład anulować wiadomość z hasłem jednorazowym po 10 minutach, a potem anulować ją w określonym terminie. Aby szybko dostarczyć wiadomości, anuluj je na czas, aby móc je wysłać inną metodą, taką jak SMS.

Wiadomość można anulować na 2 sposoby:

  • Wyślij prośbę o unieważnienie, aby aktywować ją. Gdy platforma RBM otrzyma żądanie unieważnienia, zwraca kod 200 OK. Odpowiedź 200 OK nie sprawdza, czy wiadomość została unieważniona. Jeśli odwołanie się powiedzie, platforma RBM przestanie próbować dostarczyć wiadomość i zostanie ona usunięta z kolejki użytkownika.

  • Ustaw datę wygaśnięcia wiadomości, aby automatycznie ją unieważnić w odpowiednim momencie. Platforma RBM powiadamia agenta o wygaśnięciu wiadomości i sprawdza, czy została ona unieważniona. Więcej informacji znajdziesz w artykule Zdarzenia wygenerowane przez serwer.

W rzadkich przypadkach unieważnienie może się nie udać. Na przykład agent może próbować unieważnić wiadomość, gdy platforma RBM jest w trakcie dostarczania. Jeśli się nie uda, sprawdź w webhooku zdarzenie DELIVERED. Jeśli wiadomość nie została dostarczona, możesz wysłać nową prośbę o anulowanie, a następnie przekierować ją na inny kanał, np. SMS, aby zapewnić jej terminowe dostarczenie.

Przykład

Ten kod wysyła żądanie unieważnienia. Informacje o formatowaniu i wartościach znajdziesz tutaj: phones.agentMessages.delete.

cURL

curl -X DELETE "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages/MESSAGE_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('../libs/rbm_api_helper');

// 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.samples.lib.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.