
GitHub コードスペースを使って RCS ファイルを送信して開く
はじめに
このチュートリアルでは、Vonage Messages APIを使用してRCS経由でファイルを送信し、開く方法を紹介します。 Vonage Messages API.SMS や MMS とは異なり、RCS は厳格なサイズ制限なしに高品質なファイルをサポートしているので、チケットや請求書、PDF などのドキュメントに適しています。この記事では、GitHub Codespaces を使って RCS 経由で PDF ファイルを送信してみましょう。
open RCS message containing PDF
前提条件
テスト用のRCS機能付き携帯電話
GitHub コードスペース
概要
最近、GitHub Codespacesを探求している。これはDockerコンテナでホストされ、仮想マシン上で動作する開発環境だ。GitHubのリポジトリにアクセスして、URLに /codespacesをURLに追加することで、自分の好きなブラウザからVisual Studio Codeにアクセスできる。あるいは、テンプレートやGitHubリポジトリの任意のブランチやコミットからコードスペース・インスタンスを作成することもできる。
コードスペースでプロジェクトを開く
以下の方法で始めることができる このブログ記事のために作成したリポジトリにアクセスしにアクセスし /codespaces.URLは以下のようになる: https://github.com/Vonage-Community/blog-messages-nodejs-rcs-file/codespaces
ページ右上の「Create codespace on main」をクリックします。GitHub が新しい環境のセットアップを始めます。
Click “Create codespace on main” to start your environmentロードされると、ブラウザベースのVS Codeエディターが表示され、すぐにプロジェクトを実行して編集することができる。インスタンスの実行にはこれを使う。しかし、このブログ記事で紹介するコードは、お好みのIDEや環境で自由に実行してほしい。
詳しくはGitHubの公式ガイドをご覧ください: GitHub コードスペースのクイックスタート.
コードスペースでいくつかのコマンドを学ぶ
Visual Studio Codeの使用経験があれば、コードスペースを使用する方法を見つけることができます。メニューからいつでもナビゲートして下の項目を見つけることができますが、ここではより簡単にナビゲートするためのコマンドをいくつか紹介します:
ファイルを開く:
Control + `MacまたはWindows/Linuxで。ターミナルを開きます:
Command + Shift + Pターミナルを開く。Ctrl + Shift + PWindows/Linuxの場合。
npmを使ったインストール
を実行します。 npm installを実行して、package.jsonファイルにある以下のパッケージをインストールします。
ドットエンブは、.envファイルから環境変数をロードし、APIキーのような機密情報を非公開にします。
Vonage/server-sdk: コア Vonage Node.js SDK。Vonage クライアントの認証と初期化に役立ちます。
Vonage/messages: Vonage Messages API を通じてメッセージを送信するための専用ライブラリ。RCSメッセージ(テキスト、画像、ファイルなど)を送信するために使用します。
npm install dotenv @vonage/server-sdk @vonage/messages 環境変数の追加
変数の中には機密情報が含まれているものもあるので、APIキーやシークレット、あるいはテストに使う電話番号などを公に追加したくはない。そこで、それらを.envファイルに追加する。 Nodeで環境変数を使用する方法については、こちらを参照してください。
.envファイルの作成
.env.exampleファイルを新しい.envファイルにコピーします。コードスペース・ターミナルから
touch .env下のコード・スニペットでは、必要な環境変数をすべて挙げている。一つずつ説明し、どこにあるのかも説明する。
VONAGE_APPLICATION_ID=000000-0000-0000-0000-0000000000
VONAGE_PRIVATE_KEY=./private.key
RCS_SENDER_ID=NameOfYourAgent
MESSAGES_FILE_URL=https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdfVonageアカウントにサインインし、新しいアプリケーションの作成に進みます。
アプリケーションを作成するには アプリケーションの作成ページでアプリケーションの名前を定義します。
Webhooksを使用するAPIを使用する場合は、秘密鍵が必要です。Generate public and private key "をクリックすると、自動的にダウンロードが始まります。この鍵は紛失すると再ダウンロードできません。この鍵は紛失しても再ダウンロードできません。 private_<あなたのアプリID>.key.この鍵はAPIコールの認証に使用できます。 注意:アプリケーションを保存するまで、キーは機能しません。
必要な機能(Voice、Messages、RTCなど)を選択し、必要なWebhook(イベントURL、応答URL、受信メッセージURLなど)を提供します。これらはチュートリアルで説明します。
保存してデプロイするには、"Generate new application "をクリックして設定を確定します。これでアプリケーションはVonage APIで使用する準備が整いました。
アプリケーション・ビューでは、各アプリケーションにアプリケーションIDが含まれています。その文字列をコピーして
VONAGE_APPLICATION_ID変数に貼り付けてください。秘密鍵の生成をクリックします。ファイルがダウンロードフォルダにダウンロードされます。そのファイルを GitHub Codespaces のファイルのルートに追加します。名前を
private.key.RCSメッセージは、エージェントから送信されます。エージェントは、作成後、"外部アカウントのリンク "タブで見つけることができます。 RCSメッセージについて.
には
MESSAGES_FILE_URLには、RCSメッセージで送信するファイルへのURLが含まれています。私はこの公開PDFファイルのパスをテストに使っています。
ロジックを理解する
JavaScriptファイルを開きます。 index.jsGitHub Codespaces の左メニューにある JavaScript ファイルを開いてください。
インポート依存関係
ファイルの一番上に、両方のVonageパッケージのインポートがあります: vonage/server-sdkと vonage/messagesという2つのVonageパッケージがインポートされています。
import "dotenv/config";
const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages'); Vonageクライアントの初期化
アプリケーションIDと秘密鍵を渡してVonageクライアントを初期化する。 秘密鍵.
const vonage = new Vonage({
applicationId: process.env.VONAGE_APPLICATION_ID,
privateKey: process.env.VONAGE_PRIVATE_KEY,
}); RCSメッセージの送信
Messages APIを使ってRCSメッセージを送信するには、Messages APIの vonage.messages.sendメソッドを使用します。 Vonage Node.js ライブラリのメソッドを使用します。 ‘RCS’チャネルを指定します。このメソッドは、受信者、送信者、およびコンテンツに関する情報を持つオブジェクトをパラメータとして受け入れます。
を MessageTypeを file.すべての サポートされているメディアタイプ
vonage.messages.send({
messageType: 'file',
channel: Channels.RCS,
file: {
url: process.env.MESSAGES_FILE_URL,
},
to: process.env.PHONE_NUMBER,
from: process.env.RCS_SENDER_ID,
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => {
console.error("Error sending RCS message:", error);
}); コードの実行
GitHub Codespaces のターミナルで を実行します。.このファイルを実行すると、指定した電話番号にRCSメッセージが送信されます。指定した端末に「attachment」というメッセージが表示され、クリックすると指定したファイルが MESSAGES_FILE_URL.
node index.js ベストプラクティスと延長の可能性
さらに上を目指すのであれば、以下を検討してほしい。 ngrokのインストールと実行をインストールして実行し、ローカルサーバーを公開して、Vonage があなたの開発環境に直接 webhook リクエストを送信できるようにすることを検討してください。これにより、インバウンドメッセージやデリバリーレシートのようなリアルタイムのインタラクションのテストが容易になります。また、JWT検証を実装して、受信Webhookを検証し、信頼できるソースからのものであることを確認することもできます。
結論
RCS経由でファイルを送信する方法を学んだので、次の実装によってソリューションを拡張することを検討してほしい。 返信の提案または リッチカードカルーセル.現状では、単にファイル名を添付して送信するだけです。リッチカードソリューションを使えば、共有されるメッセージやファイルをより分かりやすく、より簡単にすることができます。
ご質問がある場合、またはあなたが作っているものを共有したい場合は、こちらをクリックしてください。
登録する 開発者ニュースレター
フォローする X(旧ツイッター)最新情報
チュートリアルを見る YouTubeチャンネル
LinkedInの LinkedIn の Vonage デベロッパーページ
最新の開発者向けニュース、ヒント、イベント情報をお届けします。