إلغاء الرسائل

يمكن لوكيلك إبطال رسالة تم إرسالها ولكن لم يتم تسليمها بعد. من الأفضل إبطال الرسائل التي لم يتم تسليمها قبل أن تصبح قديمة. يعتمد التوقيت على حالة استخدام الوكيل. على سبيل المثال، يمكنك إبطال رسالة كلمة المرور لمرة واحدة بعد عشر دقائق، ولكن يمكنك إبطال رسالة ترويجية في تاريخ انتهاء صلاحية محدّد. لضمان تسليم الرسائل في الوقت المناسب، احرص على إبطال الرسائل في الوقت المناسب لإرسالها عبر مسار بديل، مثل الرسائل القصيرة.

هناك طريقتان لإبطال رسالة:

  • إرسال طلب إلغاء لتفعيل عملية الإلغاء يؤكّد الردّ 200 OK أنّه تم إلغاء الرسالة وحذفها من قائمة انتظار المستخدم. تعني الاستجابة 404 Not Found أنّ محاولة الإبطال قد فشلت لأنّه تم تسليم الرسالة.

  • ضبط تاريخ انتهاء صلاحية الرسالة لإبطالها تلقائيًا في الوقت المناسب تُعلم منصة RBM الوكيل بانتهاء صلاحية الرسالة وتؤكّد ما إذا تم إبطالها بنجاح أم لا. اطّلِع على مقالة الأحداث التي ينشئها الخادم لمزيد من المعلومات.

قد يتعذّر إبطال الوصول في حالات نادرة. على سبيل المثال، قد يحاول برنامجك الآلي إبطال رسالة بينما تكون منصة RBM بصدد تسليمها. في حال تعذُّر الإبطال، ابحث عن حدث DELIVERED في خطاف الويب. إذا لم يتم تسليم الرسالة، يمكنك إرسال طلب إبطال جديد ثم توجيه الرسالة إلى قناة بديلة، مثل الرسائل القصيرة، لضمان تسليمها في الوقت المناسب.

مثال

يرسل الرمز التالي طلب إبطال. للحصول على معلومات حول التنسيق والقيمة، يُرجى الاطّلاع على 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);
});
هذا الرمز هو مقتطف من وكيل نموذجي في RBM.

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();
}
هذا الرمز هو مقتطف من وكيل نموذجي في RBM.

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)
هذا الرمز هو مقتطف من وكيل نموذجي في RBM.

#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");
هذا الرمز هو مقتطف من وكيل نموذجي في RBM.