İletileri iptal etme

Temsilciniz, gönderilmiş ancak henüz teslim edilmemiş bir mesajı iptal edebilir. Teslim edilmeyen mesajları, geçerlilik süresi dolmadan iptal etmeniz önerilir. Zamanlama, temsilcinizin kullanım alanına bağlıdır. Örneğin, bir tek kullanımlık şifre mesajını on dakika sonra iptal edebilir, ancak promosyon mesajını belirli bir son kullanma tarihinde iptal edebilirsiniz. İletilerin zamanında teslim edilmesi için SMS gibi alternatif bir yolla gönderebilmeniz amacıyla iletileri zamanında iptal ettiğinizden emin olun.

Bir iletiyi iptal etmenin iki yolu vardır:

  • İptal işlemini başlatmak için iptal isteği gönderin. RBM platformu bir iptal isteği aldığında 200 OK yanıtı döndürür. 200 OK yanıtı, mesajın iptal edilip edilmediğini onaylamaz. İptal başarılı olursa RBM platformu iletiyi teslim etmeye çalışmayı durdurur ve ileti kullanıcının kuyruğundan silinir.

  • İletiyi uygun zamanda otomatik olarak iptal etmek için ileti için 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.

Revocation işlemi nadiren başarısız olabilir. Örneğin, müşteri temsilciniz RBM platformu iletiyi gönderirken iletiyi iptal etmeye çalışabilir. İptal başarısız olursa webhook'unuzda DELIVERED etkinliği olup olmadığını kontrol edin. Mesaj teslim edilmediyse yeni bir geri alma isteği gönderebilir ve ardından mesajın zamanında teslim edilmesini sağlamak 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 bölümüne 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ış bir alıntı.

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ış bir alıntı.

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ış bir alıntı.

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ış bir alıntı.