İletileri iptal etme

Temsilciniz gönderilmiş ancak henüz teslim edilmemiş bir mesajı iptal edebilir. Teslim edilmemiş iletileri eski haline gelmeden önce iptal etmek en iyisidir. Bu süre, temsilcinizin kullanım alanına bağlıdır. Örneğin, bir OTP mesajını on dakika sonra iptal ederken tanıtım mesajını belirli bir son kullanma tarihinde iptal edebilirsiniz. Zamanında mesaj teslimi için, SMS gibi alternatif bir yöntemle mesaj gönderebilmek amacıyla mesajları zamanında iptal ettiğinizden emin olun.

Bir iletiyi iptal etmenin iki yolu vardır:

  • İptal işlemini tetiklemek için iptal isteği gönderin. RBM platformu bir iptal isteği aldığında, 200 OK döndürür. 200 OK yanıtı iletinin iptal edilip edilmediğini onaylamaz. İptal işlemi başarılı olursa RBM platformu mesajı teslim etmeyi durdurur ve mesaj kullanıcının sırasından silinir.

  • İletiyi uygun zamanda otomatik olarak iptal etmek için iletinin geçerlilik süresini belirleyin. RBM platformu, mesajın süresi dolduğunda temsilcinizi bilgilendirir ve mesajın başarıyla iptal edilip edilmediğini onaylar. Daha fazla bilgi için Sunucu tarafından oluşturulan etkinlikler konusuna bakın.

İptal işlemi nadiren başarısız olabilir. Örneğin, temsilciniz RBM platformu iletiyi teslim etme sürecindeyken mesajı iptal etmeye çalışabilir. İptal işlemi başarısız olursa webhook'unuzda bir DELIVERED etkinliği olup olmadığını kontrol edin. Mesaj elinize ulaşmadıysa yeni bir iptal isteği gönderebilir ve zamanında teslim edilebilmesi için mesajı SMS gibi alternatif bir kanala yönlendirebilirsiniz.

Örnek

Aşağıdaki kod bir iptal isteği gönderir. Biçimlendirme ve değer bilgileri için phones.agentMessages.delete bölümüne bakın.

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);
});
Bu kod, bir RBM örnek aracısından alıntıdır.

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();
}
Bu kod, bir RBM örnek aracısından alıntıdır.

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)
Bu kod, bir RBM örnek aracısından alıntıdır.

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");
Bu kod, bir RBM örnek aracısından alıntıdır.