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を開く
このアクションオブジェクトは type の open_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を開く
このアクションオブジェクトは type の open_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"
}
]
}
番号をダイヤルする
このアクションオブジェクトは type の dial そして、次のような追加的な特性を持っている:
phone_number(文字列):ダイヤルする電話番号です。E.164形式で、国コードを含み、先頭に+例えば+447900000000fallback_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"
}
]
}
ロケーションを見る
このアクションオブジェクトは type の view_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"
}
]
}
場所を共有する
このアクションオブジェクトは type の share_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"
}
]
}
カレンダーイベントを作成する
このアクションオブジェクトは type の create_calendar_event そして、次のような追加的な特性を持っている:
start_time(タイムスタンプ形式の文字列):イベント開始時刻を定義します。タイムスタンプはRFC3339UTC「ズールー」形式(例2024-06-28T19:00:00Zend_time(タイムスタンプ形式の文字列): イベントの終了時刻を定義します。タイムスタンプはRFC3339UTC「ズールー」形式(例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"
}
]
}
コード・スニペット
以下は、さまざまなタイプのメッセージ・リクエストを送信するためのコード・スニペットのリストです:
- 返信推奨
- 推奨されるアクションURLを開く
- 推奨されるアクションNumbersにダイヤルする
- 提案されたアクション場所を見る
- 提案されたアクション場所を共有する
- 提案されたアクションカレンダーイベントの作成
- 推奨される行動複数のアクション