このドキュメントでは、米国の携帯通信会社における RCS for Business トラフィックの課金モデルについて説明します。
- 標準の課金モデル(米国以外のトラフィックの場合)については、お支払いに関するよくある質問をご覧ください。
- レポートについては、請求レポートとアクティビティ ログのガイドをご覧ください。
米国の請求分類の概要
米国の電話番号との間で送受信されるすべてのメッセージは、形式に基づいて次の 3 つのタイプに自動的に分類されます。
- リッチ メッセージ(双方向)
- リッチメディア メッセージ(双方向)
- 推奨アクションのクリック(ユーザー開始)
詳細な仕様については、以下のセクションを参照してください。
用語に関する注意事項
メッセージ トラフィックの方向を説明するために、米国の携帯通信会社は通常、MT/MO という用語を使用します。これらの用語は、RCS for Business のドキュメント全体で使用されている A2P/P2A 用語に対応しています。
- MT(Mobile Terminated)は A2P(Application-to-Person): ビジネスから送信されるメッセージ。
- MO(Mobile Originated)は P2A(Person-to-Application): ユーザーが開始したメッセージまたはアクション。
エージェントから個人(A2P/MT)へのイベントの課金
このセクションでは、エージェントから送信されたメッセージ(A2P メッセージまたは MT メッセージ)の課金ロジックについて説明します。
リッチ メッセージ(A2P)
メッセージがリッチ メッセージとして分類されるのは、次の要素の組み合わせのみが含まれている場合です。
- テキスト
- 返信文の候補
- 次のタイプの提案のみ:
- 電話番号をダイヤルする
- WebView ではなく標準ブラウザで URL を開く
リッチ メッセージの課金ロジック
リッチ メッセージはセグメントに基づいて課金されます。
- セグメント サイズ: 1 セグメント = 160 バイトの UTF-8 エンコード テキスト。
- 計算: メッセージのテキストの UTF-8 バイト長の合計を 160 で割り、常に最も近い整数に切り上げます。
- 除外: 提案された返信またはアクション内のテキストとポストバック データは、セグメント数に含まれません。
- 例: 300 バイトのテキスト メッセージには 2 つのセグメントがあります(300 / 160 = 1.875、切り上げて 2)。
バイト数
一部の Unicode 文字(絵文字やアクセント付き文字など)はマルチバイトであるため、UTF バイトの合計数は文字数と異なる場合があります。
メッセージの正確なバイト数を確認するには、以下のテキスト ボックスにメッセージを入力または貼り付けます。
リッチメディア メッセージ(A2P)
次のいずれかを少なくとも 1 つ含むメッセージは、リッチメディア メッセージとして分類されます。
- リッチカードまたはカルーセル(メディアなしでも可)
- メディア ファイルの添付ファイル(画像、動画、音声)
- 電話番号をダイヤルする、またはブラウザで URL を開く以外の提案アクション。以下が含まれます。
リッチメディア メッセージの課金ロジック
リッチメディア メッセージは、単一の定額イベントとして課金されます。
- テキストの長さ、カードの数、メディア ファイルのサイズに関係なく、請求額は同じです。
- セグメンテーションは適用されません。
A2P API レスポンスの例
これらの例は、エージェントが送信したメッセージに対する RBM API 呼び出しの成功レスポンスの richMessageClassification フィールドを示しています。
RICH_MESSAGE の API レスポンスの例
{
"name": "...",
"sendTime": "2025-05-22T20:03:35.474764Z",
"contentMessage": {
...
},
"richMessageClassification": {
"classificationType": "RICH_MESSAGE",
"segmentCount": 5
}
}
RICH_MEDIA_MESSAGE の API レスポンスの例
{
"name": "...",
"sendTime": "2025-05-22T20:03:35.474764Z",
"contentMessage": {
...
},
"richMessageClassification": {
"classificationType": "RICH_MEDIA_MESSAGE"
}
}
Person-to-Agent(P2A/MO)イベントの請求
このセクションでは、ユーザーが開始したメッセージとアクション(P2A メッセージまたは MO メッセージ)の課金について説明します。
リッチ メッセージ(P2A)
ユーザー メッセージにテキストのみが含まれている場合、そのメッセージはリッチ メッセージとして分類されます。これには、自由形式のテキストと、返信候補をタップした結果として得られるテキストの両方が含まれます。(返信の候補には、メッセージ ペイロードにポストバック データ識別子が含まれる場合があります)。
課金ロジック: セグメントに基づいて課金されます。セグメント数の計算の詳細については、リッチ メッセージの課金ロジックをご覧ください。
リッチメディア メッセージ(P2A)
アップロードされたファイル(画像、動画、音声)が含まれている場合、メッセージはリッチメディア メッセージとして分類されます。
課金ロジック: 単一の定額イベントとして課金されます。セグメンテーションは適用されません。
推奨アクションのクリック数
ユーザーが提案されたアクションをタップすると、提案されたアクションのクリックという課金対象イベントが 1 つ生成されます。(提案されたアクションには、メッセージ ペイロードにポストバック データ識別子が含まれている場合があります)。
課金ロジック: クリックごとに 1 つの課金対象イベントを生成します。
特殊なケース: 位置情報を共有する
位置情報の共有は、2 つの別々の P2A 課金対象イベントを生成するという点で、他とは異なります。
推奨アクションのクリック: ユーザーが [位置情報を共有] の推奨アクションをタップすると、推奨アクションのクリック イベントが 1 つ生成されます。
位置情報メッセージ: ユーザーが地図インターフェースから位置情報を選択すると、位置情報の座標を含むメッセージがエージェントに送信されます。この MO メッセージは、セグメント数が 1 のリッチ メッセージ イベントを生成します。
P2A Webhook レスポンスの例
次の例は、ユーザーが開始したイベントに対してエージェントに送信される Webhook の richMessageClassification フィールドを示しています。
ユーザーが送信した RICH_MESSAGE の Webhook の例
{
"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
}
}
ユーザーが送信した RICH_MEDIA_MESSAGE の Webhook の例
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2025-05-22T20:03:35.474764Z",
"userFile": "...",
"payload": "...",
"richMessageClassification": {
"classificationType": "RICH_MEDIA_MESSAGE"
}
}
SUGGESTED_ACTION_CLICK の Webhook の例
{
"agentId": "...",
"senderPhoneNumber": "...",
"messageId": "...",
"sendTime": "...",
"suggestionResponse": {
"text": "Click here",
"postbackData": "...",
"type": "ACTION"
},
"richMessageClassification": {
"classificationType": "SUGGESTED_ACTION_CLICK"
}
}
位置情報メッセージの Webhook の例
これは、位置情報の共有フローの 2 番目の課金対象イベントで、ユーザーが地図から位置情報を共有した後に送信されます。
{
"agentId": "...",
"senderPhoneNumber": "...",
"messageId": "...",
"sendTime": "...",
"location": {
"latitude": 37.422000,
"longitude": -122.084056
},
"richMessageClassification": {
"classificationType": "RICH_MESSAGE",
"segmentCount": 1
}
}
技術と実装に関する注意事項
- セグメントは請求目的でのみ使用されます: 長いメッセージは 1 つの単位としてユーザーのデバイスに配信されます。セグメント数は、課金目的の仮想計算です。メッセージの配信方法やユーザーへの表示方法には影響しません。
- 自動分類: メッセージの分類はメッセージの内容に基づいて完全に自動で行われ、手動でオーバーライドすることはできません。
- ロールアウト: 米国の課金モデルは、2025 年 7 月 15 日に RCS for Business プラットフォーム全体で有効になりました。この日以降、Google のレポートと API レスポンスには新しい分類が反映されます。