מודל החיוב בארה"ב

במסמך הזה מתואר מודל החיוב על תנועת נתונים של RCS לעסקים ברשתות סלולר בארה"ב.

סקירה כללית על סיווגים לחיוב בארה"ב

כל הודעה שנשלחת למספר טלפון בארה"ב או מתקבלת ממנו מסווגת אוטומטית לאחד משלושה סוגים על סמך הפורמט שלה:

  • הודעה עשירה (דו-כיוונית)
  • הודעת מדיה עשירה (דו-כיוונית)
  • קליק על הצעה לפעולה (יוזמת המשתמש)

בסעיפים הבאים מפורטות הדרישות.

הערה לגבי מינוח

כדי לתאר את כיוון תעבורת ההודעות, ספקי סלולר בארה"ב בדרך כלל משתמשים במונחים MT/MO. המונחים האלה תואמים למינוח A2P/P2A שמשמש במסמכי התיעוד של RCS לעסקים:

  • MT (Mobile Terminated) is A2P (Application-to-Person): A message sent by the business.
  • MO (Mobile Originated) is P2A (Person-to-Application): A message or action initiated by the user.

חיוב על אירועים של סוכן לאדם (A2P/MT)

בקטע הזה מוסבר על לוגיקת החיוב של הודעות שנשלחות על ידי סוכן (כלומר, הודעות A2P או MT).

הודעות עשירות (A2P)

הודעה מסווגת כהודעה עשירה אם היא מכילה רק שילוב של הרכיבים הבאים:

לוגיקת החיוב של הודעות מתקדמות

החיוב על הודעה עשירה מבוסס על פלחים.

  • גודל הפלח: פלח אחד = 160 בייטים של טקסט בקידוד UTF-8.
  • חישוב: אורך הטקסט של ההודעה בבייטים בקידוד UTF-8 מחולק ב-160, והתוצאה תמיד מעוגלת כלפי מעלה למספר השלם הקרוב ביותר.
  • החרגות: הטקסט ונתוני הפוסטבק בתשובות או בפעולות המוצעות לא נכללים בספירת הפלח.
  • דוגמה: הודעת טקסט באורך 300 בייט כוללת 2 פלחים (300 חלקי 160 שווה ל-1.875, מעוגל כלפי מעלה ל-2).

ספירת בייטים

חלק מתווי ה-Unicode (כמו אמוג'י או אותיות עם הטעמה) הם מרובי-בייטים, ולכן ספירת הבייטים הכוללת ב-UTF עשויה להיות שונה מספירת התווים.

כדי לבדוק את מספר הבייטים המדויק של הודעה, מקלידים או מדביקים אותה למטה.

הודעות מדיה עשירה (A2P)

הודעה מסווגת כהודעת מדיה עשירה אם היא מכילה לפחות אחד מהרכיבים הבאים:

לוגיקת החיוב של הודעות מדיה עשירה

הודעה עם מדיה עשירה מחויבת כאירוע יחיד בתעריף קבוע.

  • החיוב זהה ללא קשר לאורך הטקסט, למספר הכרטיסים או לגודל קובץ המדיה.
  • הפילוח לא רלוונטי.

דוגמאות לתגובות מה-API מסוג A2P

בדוגמאות האלה מוצג השדה richMessageClassification בתגובה לקריאה מוצלחת ל-RBM API עבור הודעות שנשלחו על ידי הסוכן.

דוגמה לתגובה של API עבור RICH_MESSAGE

{
  "name": "...",
  "sendTime": "2025-05-22T20:03:35.474764Z",
  "contentMessage": {
     ...
  },
  "richMessageClassification": {
    "classificationType": "RICH_MESSAGE",
    "segmentCount": 5
  }
}

דוגמה לתגובה של API עבור RICH_MEDIA_MESSAGE

{
  "name": "...",
  "sendTime": "2025-05-22T20:03:35.474764Z",
  "contentMessage": {
     ...
  },
  "richMessageClassification": {
    "classificationType": "RICH_MEDIA_MESSAGE"
  }
}

חיוב על אירועים של שיחות מאדם לסוכן (P2A/MO)

בקטע הזה מוסבר על חיוב על הודעות ופעולות שמתחילות על ידי משתמש (כלומר, הודעות P2A או MO).

הודעות עשירות (P2A)

הודעת משתמש מסווגת כהודעה עשירה אם היא מכילה רק טקסט. המשוב הזה כולל טקסט חופשי וטקסט שנוצר אחרי שלוחצים על תשובה מוצעת. (ההצעות לתשובות עשויות לכלול מזהה של נתוני פוסטבק במטען הייעודי של ההודעה).

לוגיקת החיוב: החיוב מבוסס על פלחים. פרטים על חישוב מספר הפלחים זמינים במאמר לוגיקת החיוב של הודעות עשירות.

הודעות מדיה עשירה (P2A)

הודעה מסווגת כהודעת מדיה עשירה אם היא מכילה קובץ שהועלה (תמונה, סרטון, אודיו).

לוגיקת החיוב: החיוב הוא על אירוע יחיד בתעריף קבוע. הפילוח לא חל.

קליקים על הצעה לפעולה

הקשה של משתמש על הצעה לפעולה יוצרת אירוע אחד לחיוב שנקרא 'קליק על הצעה לפעולה'. (ההצעות לפעולות עשויות לכלול מזהה של נתוני שליחה בחזרה (postback) במטען הייעודי (payload) של ההודעה).

לוגיקת חיוב: המערכת יוצרת אירוע אחד לחיוב לכל קליק.

מקרה מיוחד: שיתוף מיקום

השימוש במיקום משותף הוא ייחודי בכך שהוא יוצר שני אירועים נפרדים לחיוב של P2A:

דוגמאות לתשובות לפעולות מאתר אחר (webhook) מסוג P2A

בדוגמאות האלה מוצג השדה richMessageClassification ב-webhook שנשלח לסוכן עבור אירועים שהמשתמש יזם.

דוגמה ל-webhook של RICH_MESSAGE שנשלח על ידי משתמש

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2025-05-22T20:03:35.474764Z",
  "text": "Hello, world!",
  "richMessageClassification": {
    "classificationType": "RICH_MESSAGE",
    "segmentCount": 1
  }
}

דוגמה ל-webhook של RICH_MEDIA_MESSAGE שנשלח על ידי משתמש

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "sendTime": "2025-05-22T20:03:35.474764Z",
  "userFile": "...",
  "payload": "...",
  "richMessageClassification": {
    "classificationType": "RICH_MEDIA_MESSAGE"
  }
}

דוגמה ל-webhook של SUGGESTED_ACTION_CLICK

{
    "agentId": "...",
    "senderPhoneNumber": "...",
    "messageId": "...",
    "sendTime": "...",
    "suggestionResponse": {
        "text": "Click here",
        "postbackData": "...",
        "type": "ACTION"
    },
    "richMessageClassification": {
        "classificationType": "SUGGESTED_ACTION_CLICK"
    }
}

דוגמה ל-webhook להודעת מיקום

זהו האירוע השני לחיוב בתהליך שיתוף המיקום, שנשלח אחרי שהמשתמש משתף את המיקום שלו מהמפה.

{
    "agentId": "...",
    "senderPhoneNumber": "...",
    "messageId": "...",
    "sendTime": "...",
    "location": {
      "latitude": 37.422000,
      "longitude": -122.084056
    },
    "richMessageClassification": {
        "classificationType": "RICH_MESSAGE",
        "segmentCount": 1
    }
}

הערות טכניות והערות לגבי הטמעה

  • פלחים משמשים למטרות חיוב בלבד: הודעות ארוכות מועברות כיחידה אחת למכשיר של המשתמש. מספר הפלחים הוא חישוב וירטואלי למטרות חיוב, והוא לא משפיע על האופן שבו ההודעות מועברות או מוצגות למשתמש.
  • סיווג אוטומטי: סיווג ההודעה מתבצע באופן אוטומטי לחלוטין על סמך תוכן ההודעה, ואי אפשר לשנות אותו באופן ידני.
  • השקה: מודל החיוב בארה"ב הופעל בפלטפורמת RCS for Business ב-15 ביולי 2025. החל מהתאריך הזה, הדוחות של Google ותגובות ה-API ישקפו את הסיווגים החדשים.