View a markdown version of this page

RCS メッセージイベント - AWS エンドユーザーメッセージング SMS

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

RCS メッセージイベント

AWSエンドユーザーメッセージングで RCS メッセージを送信すると、RCS プラットフォームはメッセージライフサイクルの変更、受信者とのやり取り、システムレベルの結果をレポートするイベントを生成します。これらのイベントは、従来の SMS 配信受信よりも豊富なシグナルを提供するため、メッセージが配信、読み取り、期限切れ、または SMS または MMS にフォールバックされたかどうかをリアルタイムで確認できます。

アウトバウンドステータスイベント (配信、読み取り、有効期限、フォールバック) は、設定セットイベントの送信先を介して配信されます。インバウンドインタラクションイベント (タイプインジケータと提案タップ) は、RCS エージェントで設定した双方向 Amazon SNS トピックに配信されます。イベント送信先を設定するには、「」を参照してくださいAWS エンドユーザーメッセージング SMS のイベント送信先

これらのイベントを生成するメッセージの詳細については、「」を参照してくださいリッチ RCS メッセージを送信する

RCS イベントの共通フィールド

配信ステータスイベント、読み取り受信、インバウンドインタラクションイベントを含むすべての RCS イベントには、RCS エージェントを識別する次のフィールドが含まれます。

rcsBusinessId

メッセージを送受信した RCS エージェントのプラットフォーム識別子。

agentIsoCountryCode

RCS エージェントが登録されている国の ISO 国コード。例: USまたは CA

これらのフィールドは、すべての RCS イベントに存在します。これらは SMS または MMS イベントには含まれません。

配信ステータスイベント

配信ステータスイベントは、アウトバウンド RCS メッセージのライフサイクル状態を示します。これらのイベントを使用して、配信の確認、フォールバックロジックのトリガー、またはコンテンツ違反のオペレーションチームに警告します。

各アウトバウンドステータスイベントには、 RCS_DELIVERED (および関連する RCS ステータスイベントタイプ) eventType の と、次のいずれかの値を保持する messageStatus フィールドがあります。

DELIVERED

メッセージは受信者のデバイスに到達しました。このイベントを使用して、保留中のフォールバックタイマーをキャンセルします。

PENDING

RCS プラットフォームはメッセージを受け入れましたが、まだ配信していません。このイベントを受け取ったら、フォールバックタイマーを開始します。

UNDELIVERABLE

プラットフォームはメッセージを永続的に配信できません (たとえば、受信者のデバイスは RCS をサポートしていません)。SMS または MMS フォールバックをトリガーし、今後のルーティング決定のために電話番号にフラグを付けます。

REJECTED

コンテンツポリシー違反のため、メッセージは拒否されました。オペレーションチームに警告し、メッセージの内容を確認します。

次の例は、配信イベントペイロードを示しています。

{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1781661267660, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.007, "totalCarrierFee": 0.00494, "rcsMetadata": { "billingEventType": "RICH" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }
注記

リッチ RCS メッセージのステータスイベントには、請求メタデータが含まれます。rcsMetadata.billingEventType 値はリッチ RCS メッセージRICH用です。

受信の読み取り

読み取り受信は、受信者がメッセージを開いたか表示したことを示します。読み取り受信を使用してエンゲージメントを追跡し、読み取りレートを測定します。

READ

受信者はメッセージを表示しました。RCS_DELIVERED イベントは常にイベントの前またはRCS_READイベントと一緒に送信されるため、別の配信イベントを処理しなかった場合は、読み取りイベントを受信したときに配信されたメッセージとして扱います。

読み取りイベントは、 を messageStatusに設定RCS_READして eventTypeの を使用しますREAD

{ "eventType": "RCS_READ", "eventVersion": "1.0", "eventTimestamp": 1781661267203, "isFinal": true, "originationPhoneNumber": "rcs-c020de2520714385964ebf7b095c4b60", "destinationPhoneNumber": "+13022640220", "isoCountryCode": "US", "isInternationalSend": false, "messageId": "test-sc1-004", "messageRequestTimestamp": 1781300397157, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "READ", "messageStatusDescription": "Message has been read by recipient", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "US" }

読み取りレートは、READイベント数をDELIVEREDイベント数で割った値に 100 を掛けて計算できます。

タイピングインジケーター

入力インジケータイベントは、参加者がメッセージを作成していることを示します。これらのイベントは両方向に流れます。

  • インバウンド (ユーザーからエージェント): 受信者が返信の作成を開始すると、双方向の Amazon SNS トピックにインバウンド通知が送信されます。には、 typeの を持つ JSON オブジェクトmessageBodyが含まれていますRCS_TYPING。これを使用して、会話ロジックを準備したり、ダッシュボードにステータスを表示したりできます。

  • アウトバウンド (エージェントからユーザー): エージェントがレスポンスを準備していることを受信者に示す、エージェントが開始した入力インジケータは、計画された機能です。AWSエンドユーザーメッセージングのリリースノートで、現在の可用性を確認してください。

次の例は、インバウンド入力通知を示しています。

{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"RCS_TYPING\",\"receivedAt\":\"2026-06-17T17:36:29.937+0000\"}", "inboundMessageId": "12679164820-2026-06-17T17:36:29.937+0000" }
注記

エージェントが開始した入力インジケータとエージェントが開始した読み取り受信は、エージェントが受信者に送信する計画された機能です。AWSエンドユーザーメッセージングのリリースノートで、現在の可用性を確認してください。

TTL の有効期限イベント

メッセージにTimeToLive値を設定し、メッセージが配信される前に TTL が経過すると、RCS プラットフォームはメッセージの取り消し (削除) を試みます。結果は、次のいずれかのイベントを生成します。

TTL_EXPIRATION_REVOKED

期限切れのメッセージは、受信者が表示する前に正常に削除されました。SMS または MMS フォールバックを安全にトリガーして、受信者がコンテンツを受信できるようにします。

TTL_EXPIRATION_REVOKE_FAILED

取り消しが失敗し、メッセージが引き続き受信者に配信される可能性があります。この場合、続行する前にフォールバックメッセージを送信すると重複するかどうかを評価します。

TTL の有効期限イベントは、フォールバック戦略と連動します。メッセージの有効期限の設定の詳細については、「」を参照してくださいRCS メッセージの有効期限の設定

フォールバックイベント

RCS メッセージを配信できず、AWSエンドユーザーメッセージングが (プールベースの設定またはメッセージごとの を介してFallbackConfiguration) SMS または MMS フォールバックをトリガーすると、サービスはフォールバックの結果を示すイベントを生成します。

フォールバックイベントは以下を示します。

  • フォールバックメッセージが正常に送信されたかどうか。

  • フォールバックに使用されるチャネル (SMS または MMS)。

  • 元の RCS メッセージが配信されなかった理由 (たとえば、デバイスが RCS に対応していない、TTL の有効期限が切れている、プラットフォームが使用できないなど)。

これらのイベントをモニタリングしてフォールバック率を測定し、フォールバック配信を一貫して必要とする電話番号を特定します。メッセージごとのフォールバックの設定の詳細については、「」を参照してくださいメッセージごとの SMS または MMS フォールバックの設定

提案タップ (ポストバック) イベント

受信者が提案 (提案された返信または提案されたアクション) を選択すると、その提案で設定したPostbackData文字列を含むポストバックイベントを受け取ります。ポストバックデータを使用して、表示テキストではなく会話ロジックをルーティングします。

重要

提案タップ (ポストバック) イベントは、設定セットイベントの送信先ではなく、双方向 Amazon SNS トピックにのみ配信されます。

通知の messageBodyには、 typeの JSON オブジェクトSUGGESTION、表示 text、および提案でpostbackData設定した が含まれます。

{ "originationNumber": "12679164820", "destinationNumber": "rcs-cb1e6e519e9049fabf8c0ae38e4d876b", "messageBody": "{\"type\":\"SUGGESTION\",\"text\":\"Open\",\"postbackData\":\"Open\"}", "inboundMessageId": "nIMYZGrBUILWng0Qck0deqVaAoTSJY5PsktKYOBYJhVaTsrdMdrs714e8SLZAjD3" }

提案とそのポストバックデータを設定する方法の詳細については、「」を参照してくださいRCS の提案の設定

重要

プログラムで解析できるように、PostbackData値を構造化識別子 ( などaction:confirm_order:12345) として設計します。表示テキストに依存しないでください。ルーティングロジックに影響を与えずに変更される可能性があります。

会話料金イベントとフィールド

会話料金を使用するように RCS エージェントを登録すると、AWSEnd User Messaging は、メッセージがアクティブな会話セッションの一部である間に配信イベントとインバウンドイベントにフィールドを追加し、セッションの開始時にCONVERSATION_STARTEDイベントを送信します。会話料金モデルの概要については、「」を参照してください会話料金

会話フィールド

以下のフィールドは、メッセージがアクティブな会話セッションの一部である場合にのみ、配信イベントまたはインバウンドイベントに表示されます。メッセージが会話に含まれていない場合、AWSエンドユーザーメッセージングはこれらのフィールドを完全に省略します。

conversationInitiatingMessageId

会話セッションを開始したメッセージ ID。配信イベントとインバウンドイベントに存在します。

conversationInitiatingMessageType

会話の開始方法: エージェントが最初のメッセージを送信OUTBOUNDしたとき、または受信者が最初のメッセージを送信INBOUNDしたとき。配信イベントとインバウンドイベントに存在します。

conversationSessionFee

1 回限りのセッション料金は、米ドルで、24 時間の会話セッションごとに 1 回課金されます。配信イベントにのみ表示されます。

メッセージがアクティブな会話セッションの一部である場合、その配信イベントは totalMessagePricetotalCarrierFee を報告します。これは0.0、セッション料金がメッセージに適用されるためです。次の例は、アクティブな会話内のメッセージの配信イベントを示しています。

{ "eventType": "RCS_DELIVERED", "eventVersion": "1.0", "eventTimestamp": 1751234567890, "isFinal": true, "originationPhoneNumber": "rcs-f4e4252a5abe48bea50a6c176a056124", "destinationPhoneNumber": "+14376638816", "isoCountryCode": "CA", "isInternationalSend": false, "messageId": "b4a3196d-5b61-4884-a0d9-745acf1f6235", "messageRequestTimestamp": 1751234565000, "messageEncoding": "UNICODE", "messageType": "TRANSACTIONAL", "messageStatus": "DELIVERED", "messageStatusDescription": "Message has been accepted by phone", "totalMessageParts": 1, "totalMessagePrice": 0.0, "totalCarrierFee": 0.0, "rcsMetadata": { "billingEventType": "BASIC" }, "rcsBusinessId": "endusermessagingtesting1_06fr8x6o_agent", "agentIsoCountryCode": "CA", "conversationInitiatingMessageId": "177930985040408106521449", "conversationInitiatingMessageType": "OUTBOUND", "conversationSessionFee": 0.012 }

CONVERSATION_STARTED イベント

AWSエンドユーザーメッセージングは、会話セッションの開始時に RCS イベント Amazon SNS トピックにCONVERSATION_STARTEDイベントを送信します。セッションは、エージェントがメッセージを送信し、受信者が 24 時間以内に応答したとき (ビジネス開始)、または受信者がメッセージを送信し、エージェントが応答したとき (ユーザー開始) に開始されます。

には、次のフィールドを含む JSON オブジェクトmessageBodyが含まれています。

type

常に CONVERSATION_STARTED になります。

startTime

ISO 8601 形式のセッション開始時刻。

endTime

ISO 8601 形式のセッションの有効期限。これは常に から 24 時間後ですstartTime

conversationInitiatingMessageId

会話を開始したメッセージ ID。

conversationInitiatingMessageType

OUTBOUND エージェントが最初のメッセージを送信したとき、または受信者が最初のメッセージを送信INBOUNDしたとき。

次の例は、CONVERSATION_STARTEDイベントを示しています。

{ "originationNumber": "14376638816", "destinationNumber": "rcs-e138fa39eabf4d6d8e95546248c8dfa7", "messageBody": "{\"type\":\"CONVERSATION_STARTED\",\"startTime\":\"2026-06-28T04:03:08.002+0000\",\"endTime\":\"2026-06-29T04:08:08.002+0000\",\"conversationInitiatingMessageId\":\"7e7da6ec-234a-4d4f-bbc5-943bcca663ab\",\"conversationInitiatingMessageType\":\"OUTBOUND\"}", "inboundMessageId": "7e7da6ec-234a-4d4f-bbc5-943bcca663ab" }

送信先にイベントをルーティングする

AWSエンドユーザーメッセージングは、設定セットイベントの送信先を介して RCS イベントをルーティングします。送信オペレーションに関連付けられている設定セットでイベント送信先を設定します。サポートされている送信先は次のとおりです。

Amazon SNS

Amazon SNS トピックは、Lambda AWS関数をトリガーして配信受信や提案タップに応答するなど、リアルタイムのイベント処理に使用します。

Amazon Data Firehose

Firehose 配信ストリームを使用して、長期ストレージとレポート用に Amazon S3、Amazon Redshift、またはその他の分析送信先にイベントを送信します。

Amazon CloudWatch Logs

CloudWatch Logs を使用して、イベントパターンのデバッグ、ログ分析、CloudWatch アラームの設定 (高い拒否率のアラートなど) を行います。

イベント送信先を作成および設定する方法については、「」を参照してくださいAWS エンドユーザーメッセージング SMS のイベント送信先

を呼び出すときはSendRcsMessageConfigurationSetNameパラメータを指定して、メッセージを設定セットに関連付けます。そのメッセージによって生成されたアウトバウンドステータスイベントは、設定した宛先にルーティングされます。

イベント送信先が一致するイベントタイプを設定する場合、各 RCS イベントタイプを個別にリストするのではなく ( RCS_DELIVEREDや など)、すべての RCS イベントタイプRCS_ALLを単一の一致タイプでサブスクライブするように選択できますRCS_READ

注記

入力インジケータや提案タップ (ポストバック) を含むインバウンドインタラクションイベントは、設定セットイベントの送信先ではなく、RCS エージェントで設定された双方向 Amazon SNS トピックに配信されます。

イベント処理のベストプラクティス

  • 本番メッセージの送信を開始する前に、イベント送信先を設定します。これにより、最初からすべてのイベントを確実にキャプチャできます。

  • DELIVERED イベントを使用してフォールバックタイマーをキャンセルします。配信確認を受け取った場合は、SMS または MMS フォールバックを送信しないでください。

  • サブスクリプションイベント (UNSUBSCRIBE) を直ちに処理して、メッセージング規制への準拠を維持します。

  • べき等イベント処理を実装します。メッセージ識別子をイベントタイプと組み合わせて重複排除キーとして使用して、重複するイベント配信を処理します。

  • イベントのタイムスタンプを比較してout-of-orderのイベントを処理します。イベントは、発生した順序とは異なる順序で到着する場合があります。

  • CloudWatch アラームを使用して拒否率と配信不能率をモニタリングし、コンテンツの問題やターゲットを絞った問題を早期に検出します。