ביטול הודעות

הנציג שלך יכול לבטל הודעה שנשלחה אבל עדיין לא נמסרה. מומלץ לבטל הודעות שלא נמסרו לפני שיהפכו ללא פעילות. התזמון תלוי בתרחיש לדוגמה של הנציג. לדוגמה, יכול להיות שתבטלו הודעת OTP אחרי 10 דקות, אבל תבטלו אותה עם תאריך תפוגה ספציפי. כדי שההודעות יגיעו בזמן, חשוב לבטל את ההודעות בזמן כדי שהן יישלחו בדרך חלופית כמו SMS.

יש שתי דרכים לבטל הודעה:

  • צריך לשלוח בקשת ביטול כדי להפעיל את הביטול. כשפלטפורמת RBM מקבלת בקשת ביטול, הפלטפורמה מחזירה 200 OK. בתגובה 200 OK לא מאשרים אם ההודעה בוטלה או לא. אם הביטול בוצע בהצלחה, הפלטפורמה של RBM מפסיקה לנסות להעביר את ההודעה, והיא נמחקת מהתור של המשתמש.

  • אפשר להגדיר תאריך תפוגה להודעה כדי לבטל את ההודעה באופן אוטומטי בזמן המתאים. תקבלו הודעה מפלטפורמת RBM כשפג התוקף של ההודעה, ואם היא בוטלה או לא. מידע נוסף מופיע בקטע אירועים שנוצרו על ידי השרת.

במקרים נדירים, הביטול עשוי להיכשל. לדוגמה, יכול להיות שהנציג ינסה לבטל את ההודעה בזמן שפלטפורמת RBM מעבירה אותה. אם הביטול נכשל, צריך לבדוק אם יש אירוע DELIVERED ב-webhook. אם ההודעה לא נמסרה, אפשר לשלוח בקשת ביטול חדשה ולנתב את ההודעה לערוץ חלופי, כמו SMS, כדי לוודא שהיא תישלח בזמן.

דוגמה

הקוד הבא שולח בקשת ביטול. למידע נוסף על הפורמט ועל הערכים: phones.agentMessages.delete.

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);
});
הקוד הזה הוא קטע מתוך סוכן לדוגמה של RBM.

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();
}
הקוד הזה הוא קטע מתוך סוכן לדוגמה של 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.