Unieważnij wiadomości

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 DELIVEREDzdarzenie. 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);
});
Ten kod to fragment 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 to fragment 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 to fragment 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 to fragment przykładowego agenta RBM.