İletileri iptal etme

Temsilciniz, gönderilmiş ancak henüz teslim edilmemiş bir mesajı iptal edebilir. Teslim edilmeyen mesajları eski hale gelmeden önce iptal etmeniz önerilir. Zamanlama, temsilcinizin kullanım alanına bağlıdır. Örneğin, bir OTP mesajını on dakika sonra iptal edebilirken bir promosyon mesajını belirli bir geçerlilik bitiş tarihinde iptal edebilirsiniz. İletilerin zamanında teslim edilmesi için, SMS gibi alternatif bir rota üzerinden gönderebilmeniz amacıyla iletileri zamanında iptal ettiğinizden emin olun.

İletileri geri almanın iki yolu vardır:

  • İptal işlemini tetiklemek için iptal isteği gönderin. 200 OK yanıtı, mesajın iptal edildiğini ve kullanıcının sırasından silindiğini onaylar. 404 Bulunamadı yanıtı, ileti teslim edildiği için iptal etme girişiminin başarısız olduğu anlamına gelir.

  • İletiyi uygun zamanda otomatik olarak iptal etmek için ileti geçerlilik bitiş tarihi 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 başlıklı makaleyi inceleyin.

Nadir durumlarda iptal işlemi başarısız olabilir. Örneğin, aracınız RBM platformu iletiyi teslim etme sürecindeyken iletiyi iptal etmeye çalışabilir. İptal işlemi başarısız olursa webhook'unuzda DELIVERED etkinliği olup olmadığını kontrol edin. İleti teslim edilmediyse yeni bir iptal isteği gönderebilir ve ardından iletiyi zamanında teslimat için SMS gibi alternatif bir kanala yönlendirebilirsiniz.

Örnek

Aşağıdaki kod, iptal isteği gönderir. Biçimlendirme ve değer bilgileri için phones.agentMessages.delete konusuna bakın.

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);
});
Bu kod, RBM örnek temsilcisinden alınmıştır.

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();
}
Bu kod, RBM örnek temsilcisinden alınmıştı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, RBM örnek temsilcisinden alınmıştı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, RBM örnek temsilcisinden alınmıştır.