يمكن للروبوت إبطال رسالة تم إرسالها ولكن لم يتم تسليمها بعد. من الأفضل إبطال الرسائل التي لم يتم تسليمها قبل أن تصبح قديمة. يعتمد التوقيت على حالة استخدام الروبوت. على سبيل المثال، يمكنك إبطال رسالة كلمة المرور لمرة واحدة بعد عشر دقائق، ولكن إبطال رسالة ترويجية في تاريخ انتهاء صلاحية محدّد. لتسليم الرسائل في الوقت المناسب، احرص على إبطال الرسائل في الوقت المناسب لإرسالها عبر مسار بديل، مثل الرسائل القصيرة.
هناك طريقتان لإبطال رسالة:
أرسِل طلب إبطال لتفعيل عملية الإبطال. يؤكّد الردّ "200 OK" أنّه تم إبطال الرسالة وحذفها من قائمة انتظار المستخدم. يعني الردّ "404 Not Found" أنّ محاولة الإبطال قد فشلت لأنّه تم تسليم الرسالة.
اضبط تاريخ انتهاء صلاحية الرسالة لإبطالها تلقائيًا في الوقت المناسب. تُعلم منصة مراسلة المؤسسات من خلال خدمات الاتصالات التفاعلية (RBM) الوكيل عند انتهاء صلاحية الرسالة وتؤكّد ما إذا تم إبطالها بنجاح أم لا. لمزيد من المعلومات، اطّلِع على مقالة الأحداث التي ينشئها الخادم.
قد تفشل عملية الإبطال في حالات نادرة. على سبيل المثال، قد يحاول الوكيل إبطال رسالة بينما تكون منصة مراسلة المؤسسات من خلال خدمات الاتصالات التفاعلية (RBM) بصدد تسليمها. إذا
فشلت عملية الإبطال، ابحث عن حدث DELIVERED
في عنوان URL الخاص بمستلم طلبات الويب. إذا لم يتم تسليم الرسالة، يمكنك إرسال طلب إبطال جديد ثم توجيه الرسالة إلى قناة بديلة، مثل الرسائل القصيرة، لتسليمها في الوقت المناسب.
مثال
يرسل الرمز التالي طلب إبطال. للحصول على معلومات عن التنسيق والقيم
، اطّلِع على
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); });
جافا
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(); }
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)
#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");