Отзыв сообщений

Ваш агент может отозвать сообщение, которое было отправлено, но еще не доставлено. Лучше всего отзывать недоставленные сообщения до того, как они устареют. Время зависит от варианта использования вашего агента. Например, вы можете отозвать одноразовое сообщение через десять минут, но отозвать рекламное сообщение в определенный срок действия. Для своевременной доставки сообщений обязательно вовремя отзывайте сообщения, чтобы можно было отправить их альтернативным маршрутом, например SMS.

Отозвать сообщение можно двумя способами:

  • Отправьте запрос на отзыв , чтобы инициировать отзыв. Когда платформа RBM получает запрос на отзыв, она возвращает 200 OK. Ответ 200 OK не подтверждает, было ли сообщение отозвано. Если отзыв прошел успешно, платформа RBM прекращает попытки доставить сообщение, и оно удаляется из очереди пользователя.

  • Установите срок действия сообщения , чтобы автоматически отозвать сообщение в подходящее время. Платформа RBM уведомляет вашего агента об истечении срока действия сообщения и подтверждает, было ли оно успешно отозвано. Дополнительные сведения см. в разделе События, генерируемые сервером .

В редких случаях отзыв может не удаться. Например, ваш агент может попытаться отозвать сообщение, пока платформа RBM находится в процессе его доставки. Если отзыв не удался, проверьте наличие события DELIVERED в своем веб-перехватчике. Если сообщение не было доставлено, вы можете отправить новый запрос на отзыв , а затем направить сообщение на альтернативный канал, например SMS, чтобы обеспечить своевременную доставку.

Пример

Следующий код отправляет запрос на отзыв. Информацию о форматировании и значениях см. в разделе phones.agentMessages.delete .

КУЛЬ

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);
});
Этот код представляет собой отрывок из примера агента RBM .

Джава

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();
}
Этот код представляет собой отрывок из примера агента RBM .

Питон

# 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)
Этот код представляет собой отрывок из примера агента RBM .

С#

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");
Этот код представляет собой отрывок из примера агента RBM .