
シェア:
KarlはVonageのDeveloper Advocateで、RubyサーバSDKのメンテナンスとコミュニティの開発者エクスペリエンスの向上に注力しています。彼は学ぶこと、ものを作ること、知識を共有すること、そして一般的にウェブ技術に関連することが大好きです。
RCS Business MessagingがVonage Messages APIでGAになりました。
所要時間:1 分
リッチ・コミュニケーション・サービス(RCS)は、ビジネス・メッセージングに新たな可能性をもたらしています。 Vonage メッセージ API!
GAへの移行により、RCSメッセージングはより広範囲で利用できるようになった。
対象地域の拡大
RCSのベータ版はドイツ国内のネットワークのみを対象としていたが、今回のGA発表を受けて、英国をはじめとする10カ国以上のネットワークがサポートされることになり、将来的にはさらにカバー範囲が拡大される予定だ。
当社のサーバーSDKでサポート
RCSがGAになったということは、RCSメッセージングが我々の サーバーSDK.そのため、開発者として、お気に入りのプログラミング言語を使用してRCSメッセージを送信することができます!
この記事の続きでは、プログラムでRCSを実装する方法の例をいくつか見ていこう。さあ、始めよう!
あなたはRCSメッセージングとは一体何なのか?あるいは、RCSメッセージングはSMSやMMSと比べてどうなのでしょうか?チェックアウト 今年の初めに書いた記事RCSメッセージングがベータ版でMessages APIに追加された時の記事を見てください。.その記事では、RCSメッセージングの利点をいくつか取り上げている。これらの利点は、ユーザーエンゲージメントを高め、コンバージョン率の改善につながる、より豊かな顧客体験を提供することができる。
RCSとSMS/MMSメッセージングの違い
SMS/MMSとRCSのメッセージング、違いは?3つのチャネルはすべてテキストメッセージングをサポートし、MMSとRCSはどちらも画像やビデオファイルなどの添付ファイル付きメッセージの送信をサポートしています。RCSが本当に際立っているのは、サポートしているその他のメッセージ・タイプです:
返信の提案
推奨されるアクション
リッチカード
Messages APIのRCSチャンネルでは、これらの種類のメッセージはすべて customメッセージ・タイプを使用して送信されます。詳しくは RCSカスタムメッセージを参照してください。
サーバーSDKを使って、これらのメッセージタイプを送信する例をいくつか見てみましょう。
前提条件
Vonageデベロッパーアカウント
セットアップ
選択したVonage SDKでRCSメッセージの送信を開始する前に、まずいくつかの予備ステップを踏む必要があります。
以下のセットアップが必要です。 RBM(RCSビジネスメッセージング)エージェント.エージェントが作成されると、RCSメッセージを送信する際に送信者IDとして使用できるエージェントIDが提供されます。Vonage Messages APIのコンテキストでは、これはリクエストボディの
fromフィールドの値となります。
テストエージェント(開発者モードで登録されたRBMエージェント)を使用している場合、そのエージェントの送信先番号を許可リストに登録する必要があります。アカウントマネージャまたは サポートにお問い合わせください。
アプリケーションの作成 Vonageアプリケーションを Messages API 用に有効にします。Vonageアプリケーションは、使用しているVonage APIに関連する設定を保存したり、JWT(JSON Web Tokens)を作成するための認証情報を生成するために使用されます。Vonageアプリケーションを作成するにはいくつかの方法があります:
アプリケーションページで Vonage開発者ダッシュボード
Vonageの Vonage CLI
Vonageアプリケーションをセットアップすると、アプリケーションIDとファイルが提供されます。 private.keyファイルが提供されます。これらはVonage Messages APIの認証に使われるJWTを生成するために必要です。SDKはリクエストごとに自動的にJWTを生成しますが、アプリケーションIDと秘密鍵を提供する必要があります。
RBM エージェントと Vonage アプリケーションの両方がセットアップされたら、最後に行うことは両者をリンクさせることです。これは Vonage Developer Dashboard の Vonage Application 自体のページ(External Accounts タブの下)、もしくは 外部アカウントページ.
Screenshot of the Vonage Developer Dashboard with an option to link an RCS agent to an Application
さて、すべての準備が整ったところで、コード例を見てみよう!
RCSメッセージングの使い方
Vonageクライアントのインスタンス化方法
すべてのサーバーSDKは、その具体的な実装という点では異なりますが、クライアントオブジェクトをインスタンス化し、そのオブジェクトのメソッドを呼び出すことでVonage APIと相互作用させることができるというような、いくつかの一般的なコンセプトを共有しています。ここで、先に生成したアプリケーションIDと秘密鍵が必要になります。以下はRuby SDKを使った例ですが、どのServer SDKも似たようなパターンを踏襲しています:
vonage_client = Vonage::Client.new(
application_id: ENV['VONAGE_APPLICATION_ID'],
private_key: File.read(ENV['VONAGE_APPLICATION_PRIVATE_KEY_PATH'])
)上の例では VONAGE_APPLICATION_IDと VONAGE_APPLICATION_PRIVATE_KEY_PATHは環境変数として設定されている。
RCS Suggested Replyメッセージの送信方法
提案された返信メッセージは、受信者が返信として使用できるいくつかの提案されたオプションとともにテキストを送信できるメッセージタイプです。これらのオプションは、デバイスのUIに「チップ」またはボタンとして表示され、受信者はそれを押して選択することができます。
返信メッセージは様々な用途に使えます。一例として、顧客アンケートの実施があります。回答を特定の推奨値に制限することで、アプリケーション内での入力処理が容易になります。例えば、顧客にサービスの評価を1から5まで尋ねるRCSメッセージを送信することができます。 textの値を回答候補の選択肢とします。
提案された textの他に、各返信オプションには postbackData値も含まれます。これによって、たとえば text値にはユーザーフレンドリーな言語を使い postbackDataには別の値を指定することができます。の別の使い方として postbackDataの別の用途としては、異なる地域でアンケートを実施する際に textを地域によって異なる言語で、同じ値にマッピングしてアンケートを送信することもできます。 postbackData値にマッピングする。
例を見てみよう。
Node SDKとRuby SDKを使ってこれらのメッセージを送信する方法を以下に示します。
ノードSDKでRCS推奨返信メッセージを送信する
ここでは英語でアンケートのメッセージを送っている。
vonageClient.messages.send(
new RCSCustom({
custom: {
contentMessage: {
text: "Vonage APIs are easy to use.",
suggestions: [
{
reply: {
text: "Strongly agree",
postbackData: "5",
},
},
{
reply: {
text: "Agree",
postbackData: "4",
},
},
{
reply: {
text: "Neither agree or disagree",
postbackData: "3",
},
},
{
reply: {
text: "Disagree",
postbackData: "2",
},
},
{
reply: {
text: "Strongly disagree",
postbackData: "1",
},
},
],
},
},
to: '447900000000',
from: 'VonageRCSAgent',
}),
);メッセージを受信すると、受信者が選択できる候補のスクロール可能なリストが表示される。
Screenshot of an RCS suggested reply message in English
Screenshot of an RCS suggested reply message in English
Ruby SDKでRCS推奨返信メッセージを送信する
ここではフランス語でアンケートのメッセージを送っている。
message = vonage_client.messaging.rcs(
type: 'custom',
message: {
contentMessage: {
text: "Les APIs de Vonage sont simple a utilizer",
suggestions: [
{
reply: {
text: "Fortement en accord",
postbackData: "5"
}
},
{
reply: {
text: "En accord",
postbackData: "4"
}
},
{
reply: {
text: "Neutre",
postbackData: "3"
}
},
{
reply: {
text: "En désaccord",
postbackData: "2"
}
},
{
reply: {
text: "Fortement en désaccord",
postbackData: "1"
}
}
]
}
}
)
vonage_client.messaging.send(
from: 'VonageRCSAgent',
to: '447900000000',
**message
)同じように表示されるが、次のように修正される。 text値で表示されます:
Screenshot of an RCS suggested reply message in French
Screenshot of an RCS suggested reply message in French
どちらの言語バージョンでも postbackDataの値は同じです。
受信者がいずれかのオプションを返信すると、受信メッセージウェブフック経由で rcsメッセージとして受信されます。 message_typeの reply.メッセージのJSONペイロードには replyメッセージの JSON ペイロードには replyオブジェクトが含まれる: titleを含むオブジェクトが含まれます。 textの値が含まれます。 idこれは postbackDataの値を含みます。
RCS推奨アクションメッセージの送信方法
サジェストアクションメッセージでは、メッセージを受信した端末のネイティブアプリやインストール済みアプリと連動するアクションを受信者に提案することができます。例えば、ブラウザでURLを開く、地図や位置情報アプリで場所を表示するなどです。Suggested Replyと同様に、様々なタイプのSuggested Actionメッセージには多くの使用例があります。Suggested Replyと同様に、Suggested ActionはデバイスのUIに「チップ」またはボタンとして表示され、受信者はそれを押すことでアクションを起こすことができます。
利用可能なアクションは以下の通り:
openUrlAction
ダイヤルアクション
viewLocationAction
シェアロケーションアクション
createCalendarEventAction
提案されたすべてのアクションタイプに、メインメッセージに表示されるものと、メインメッセージに表示されないものを含めることができます。 textを含めることができます。 textを含めることができます。
すべてのアクションは postbackDataプロパティの値として受け取られる。 payloadプロパティの値として受信されます。 rcsタイプの button.
いくつかの例を見てみよう。
Python SDKでカレンダーイベントを作成するメッセージを送信する方法
カレンダーイベントを作成するアクションから始めましょう。このアクションは、カレンダーにイベントを作成するために、メッセージを受信者の携帯電話のカレンダーアプリと相互作用させます。このアクションの使用例としては、例えば医療や歯科の予約の確認などが考えられます。
メッセージはメッセージングアプリに表示され、カレンダーイベントを作成するオプションがある。
Screenshot of an RCS suggested action message to create a calendar eventこのオプションが選択されている場合、デバイスのデフォルトのカレンダーアプリケーションが開き、ユーザーは自分のカレンダーにイベントを保存することができます。
Screenshot of a calendar appliction with a option to save an event
このアクションでは titleと descriptionを設定します。 startTimeと endTime(イベントの開始と終了の日時を表す)を設定します。UTCからのオフセットに注意してください。
vonage_client.messages.send_message(
{
"channel": "rcs",
"message_type": "custom",
"to": '447900000000',
"from": 'VonageRCSAgent',
"custom": {
"contentMessage": {
"text": "Dear Mr Smith, we're happy to confirm your appointment at 14:30h on Tuesday the 1st of October at Healthy Smile Dental Co.",
"suggestions": [
{
"action": {
"text": "Save to calendar",
"postbackData": "postback_data_1234",
"fallbackUrl": "https://www.google.com/calendar",
"createCalendarEventAction": {
"startTime": "2024-10-01T14:30:00+01:00",
"endTime": "2024-10-01T15:00:00+01:00",
"title": "Dental Appointment",
"description": "Dental Appointment at Healthy Smile Dental Co.",
},
}
}
],
}
},
}
)Java SDKでShare Locationメッセージを送信する方法
位置情報を共有するアクションを選択すると、メッセージ受信者はデバイスのデフォルトのマップまたは位置情報アプリケーションを開き、地理的な位置を共有するよう促されます。受信者が場所を選択すると、受信したメッセージの返信としてその場所を送信することができます。受信者の応答は、受信メッセージのウェブフック経由で rcsメッセージとして受信されます。 message_typeの location.このメッセージのJSONペイロードには locationオブジェクトが含まれます。 latと longプロパティを持つオブジェクトが含まれます。
このメッセージ・タイプの使用例としては、タクシー・サービスが顧客からピックアップ・ポイントを指定されることが考えられる。
受信したメッセージには、場所を共有するオプションがある。
Screenshot of an RCS suggested action message to share a locationこれを選択すると、デバイスのデフォルトの地図アプリケーションが開き、受信者はピンを置いてから位置を共有できる。
Screenshot of a map application with a pin and option to send location
var response = vonageClient.getMessagesClient().sendMessage(
RcsCustomRequest.builder()
.from('VonageRCSAgent').to('447900000000')
.custom(Map.of("contentMessage", Map.of(
"text", "Your driver will come and meet you at your specified location.",
"suggestions", List.of(
Map.of(
"action", Map.of(
"text", "Share your pickup location",
"postbackData", "postback_data_1234",
"shareLocationAction", Map.of()
)
)
)
))
).build()
); 総括と次のステップ
この記事では、VonageのサーバーSDKを使用してさまざまなタイプのRCSメッセージを送信する例をいくつか見てきました。RCSメッセージングには無数の潜在的な使用例があります。今後のブログ記事でRCSメッセージングの例をもっと取り上げていきますので、ぜひチェックしてみてください!
もしあなたがVonage Messages APIのRCSチャンネルを使って何か素晴らしいものを作りたいと思ったのであれば、以下のドキュメントをチェックしてみてください。 Messages API ドキュメントと コードスニペット.
お読みいただきありがとうございます!フォローは Xをフォローしてください。 Vonage Community Slack ワークスペース.