https://a.storyblok.com/f/270183/1368x665/53507eb36b/25sep_dev_blog_github-rcs.jpg

GitHub コードスペースを使って RCS ファイルを送信して開く

最終更新日 September 9, 2025

所要時間:1 分

はじめに

このチュートリアルでは、Vonage Messages APIを使用してRCS経由でファイルを送信し、開く方法を紹介します。 Vonage Messages API.SMS や MMS とは異なり、RCS は厳格なサイズ制限なしに高品質なファイルをサポートしているので、チケットや請求書、PDF などのドキュメントに適しています。この記事では、GitHub Codespaces を使って RCS 経由で PDF ファイルを送信してみましょう。

A gif showing a message being received, clicked, and a PDF dummy file opened.open RCS message containing PDF

前提条件

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 が新しい環境のセットアップを始めます。

Screenshot of a GitHub repository page highlighting the green button “Create codespace on main” in the Codespaces tab.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.pdf
  • Vonageアカウントにサインインし、新しいアプリケーションの作成に進みます。

    • アプリケーションを作成するには アプリケーションの作成ページでアプリケーションの名前を定義します。

    • 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-sdkvonage/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’チャネルを指定します。このメソッドは、受信者、送信者、およびコンテンツに関する情報を持つオブジェクトをパラメータとして受け入れます。

MessageTypefile.すべての サポートされているメディアタイプ

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経由でファイルを送信する方法を学んだので、次の実装によってソリューションを拡張することを検討してほしい。 返信の提案または リッチカードカルーセル.現状では、単にファイル名を添付して送信するだけです。リッチカードソリューションを使えば、共有されるメッセージやファイルをより分かりやすく、より簡単にすることができます。

ご質問がある場合、またはあなたが作っているものを共有したい場合は、こちらをクリックしてください。

最新の開発者向けニュース、ヒント、イベント情報をお届けします。

シェア:

https://a.storyblok.com/f/270183/400x400/3f6b0c045f/amanda-cavallaro.png
Amanda Cavallaroデベロッパー・アドボケイト