RCS提案チップ

RCSサジェスチョンを使用すると、RCSメッセージで返信候補やアクションを使用できます。カード、カルーセル、テキストメッセージなど、さまざまなメッセージタイプに含めることができ、これらのメッセージのJSONペイロードにサジェストオブジェクトの配列として定義されます。

これらの提案オブジェクトは提案された返答、提案されたアクション、またはその両方の組み合わせになります。オブジェクトの正確な構造は提案のタイプによって異なります。

提案

サジェスチョンは、サポートされているRCSメッセージングアプリでボタンまたは「チップ」としてレンダリングされるインタラクティブなUI要素です。各サジェストは、ユーザーがタップできるクイック返信またはアクションを表します。これらのチップはメッセージ本文の下に表示され、ユーザーがチップと対話するか、新しいメッセージを受信すると消えます。

提案には2種類ある:

  • 返信の提案:タイプのインバウンド・メッセージをトリガーする、定義済みのユーザー・レスポンス。 reply をインバウンドメッセージWebhookに定義されたURLに追加します。
  • 推奨されるアクション:URLを開く、電話番号にかけるなどのアクションを実行し、以下のタイプの受信メッセージをトリガーするボタン。 button をインバウンドメッセージWebhookに定義されたURLに追加します。

注:リッチカードメッセージにサジェスト配列を含めることもできます。カルーセルはカードの集まりなので、カルーセル内の各カードはそれ自身のサジェスト配列を含むこともできます。参照 リッチカードとカルーセル をご覧ください。

返信の提案

プログラムで処理できる応答を期待する場合は、推奨される応答を使用してください。各返信には以下が含まれます:

  • text:チップに表示。
  • postback_data:で返される識別子。 reply メッセージのペイロードを id パラメータが必要だ。

以下にRCSメッセージの例を示す。 text と2つの返答を提案した:

{
   "to": "447700900000",
   "from": "Vonage",
   "channel": "rcs",
   "message_type": "text",
   "text": "Hello, world!",
   "suggestions": [
       {
           "type": "reply",
           "text": "Suggestion #1",
           "postback_data": "suggestion_1"
       },
       {
           "type": "reply",
           "text": "Suggestion #2",
           "postback_data": "suggestion_2"
       }
   ]
}

受信者がサジェストの一つをタップすると、次のようなタイプのインバウンドメッセージがトリガーされる。 replyここでは id ユーザーがどのサジェストチップを選択するかによって異なる:

{
  "to": "Vonage",
  "from": "447900000000",
  "channel": "rcs",
  "message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
  "timestamp": "2024-02-08T10:12:44Z",
  "message_type": "reply",
  "reply": {
    "id": "suggestion_1",
    "title": "Suggestion #1"
  }
}

推奨されるアクション

推奨されるアクションは、機能を実行し、ボタンメッセージを介して構造化されたデータを返します。すべてのアクションに必要です:

  • type:アクションのタイプを定義する
  • text:チップラベル(最大25文字)
  • postback_data:で返される識別子。 button メッセージのペイロードを payload パラメータが必要だ。

ほとんどのアクションタイプは、特定のアクションをサポートするために1つ以上の追加パラメータも必要とする。いくつかのタイプはさらにオプションのパラメータを持つ。これらのパラメータについては、以下の各タイプの説明で詳述する:

URLを開く

このアクションオブジェクトは typeopen_url そして、次のような追加的な特性を持っている:

  • url:開くURL。注:許可されるスキームは http:// そして https://その他のスキーム tel, mailtoなどは禁止されている。
  • description:アクセシビリティのためのURLの説明(オプション)。
  • url (String):開くURL。

このアクションチップがタップされると、受信者のデバイスは、指定されたURLをデバイスのデフォルトブラウザまたはインストールされたアプリ(アプリがURLのドメインのハンドラとして登録されている場合)で開きます。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
"message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
  {
     "type": "open_url",
     "text": "Open Google",
     "postback_data": "postback_data_1234",
     "url": "https://www.google.com",
     "description": "Accessibility description"
   }
  ]
 }

ウェブビューでURLを開く

このアクションオブジェクトは typeopen_url_in_webview そして、次のような追加的な特性を持っている:

  • url:開くURL。注:許可されるスキームは http:// そして https://その他のスキーム tel, mailtoなどは禁止されている。
  • description:アクセシビリティのためのURLの説明(オプション)。
  • view_mode: ウェブビューウィンドウにURLを表示するモード。どちらか FULL, TALLあるいは HALF.

このアクションチップがタップされると、受信者のデバイスはメッセージングアプリ内で指定されたURLを開きます。 view_mode パラメータが必要だ。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
"message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
  {
     "type": "open_url_in_webview",
     "text": "Open Google",
     "postback_data": "postback_data_1234",
     "url": "https://www.google.com",
     "description": "Accessibility description",
     "view_mode": "FULL"
   }
  ]
 }

番号をダイヤルする

このアクションオブジェクトは typedial そして、次のような追加的な特性を持っている:

  • phone_number (文字列):ダイヤルする電話番号です。E.164形式で、国コードを含み、先頭に +例えば +447900000000
  • fallback_url (文字列): ダイヤルアクションを開始できない場合に開くURLです。

このアクションチップがタップされると、受信者は指定された電話番号に電話をかけるように指示されます。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
 "message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
   {
     "type": "dial",
     "text": "Call",
     "postback_data": "postback_data_1234",
     "fallback_url": "https://www.google.com/contact/",
     "phone_number": "+15556667777"
   }
 ]
}

ロケーションを見る

このアクションオブジェクトは typeview_location そして、次のような追加的な特性を持っている:

  • latitude (文字列):緯度(度)。90.0, +90.0]の範囲でなければならない。
  • longitude (文字列):経度。180.0, +180.0]の範囲でなければならない。
  • pin_label (String): 地図上に表示されるピンにラベルを追加するオプションのプロパティです。
  • fallback_url (String):ビューロケーションアクションを開始できない場合に開かれるURLです。

このアクションチップがタップされると、受信者のデバイスは、指定された場所をデバイスのデフォルトの地図アプリケーションに表示します。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
 "message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
   {
     "type": "view_location",
     "text": "View map",
     "postback_data": "postback_data_1234",
     "fallback_url": "https://www.google.com/maps/@37.4220188,-122.0844786,15z",
     "latitude": "37.4220188",
     "longitude": "-122.0844786",
     "pin_label": "Googleplex"
   }
 ]
}

場所を共有する

このアクションオブジェクトは typeshare_location 必要なパラメータは3つだけである: type, textそして postback_data.

このアクションチップがタップされると、受信者のデバイスはデフォルトのロケーションチューザーを開き、受信者は返送するロケーションを選ぶことができます。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
 "message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
   {
     "type": "share_location",
     "text": "Share your location",
     "postback_data": "postback_data_1234"
   }
 ]
}

カレンダーイベントを作成する

このアクションオブジェクトは typecreate_calendar_event そして、次のような追加的な特性を持っている:

  • start_time (タイムスタンプ形式の文字列):イベント開始時刻を定義します。タイムスタンプは RFC3339 UTC「ズールー」形式(例 2024-06-28T19:00:00Z
  • end_time (タイムスタンプ形式の文字列): イベントの終了時刻を定義します。タイムスタンプは RFC3339 UTC「ズールー」形式(例 2024-06-28T19:00:00Z.
  • title (String): イベントのタイトルを定義します。
  • description (String):イベントの説明を定義する。
  • fallback_url (文字列): これは、カレンダーイベントを作成するアクションを開始できない場合に開かれるURLです。

このアクションチップがタップされると、受信者のデバイスはデフォルトのカレンダーアプリを開き、アクションオブジェクトで定義されたデータを使って新しいカレンダーイベントの作成を開始します。

{
 "to": "447900000000",
 "from": "Vonage",
 "channel": "rcs",
 "message_type": "text",
 "text": "Hello, world!",
 "suggestions": [
         {
     "type": "create_calendar_event",
     "text": "Save to calendar",
     "postback_data": "postback_data_1234",
     "fallback_url": "https://www.google.com/calendar",
     "start_time": "2020-06-30T19:00:00Z",
     "end_time": "2020-06-30T20:00:00Z",
     "title": "My calendar event",
     "description": "Description of the calendar event"
   }
 ]
}

コード・スニペット

以下は、さまざまなタイプのメッセージ・リクエストを送信するためのコード・スニペットのリストです:

さらに読む