You are viewing the Japanese site, but your language preference is set to English. Switch to English site →

Menu

Expand
このページを評価:

Node.js向けProgrammable SMSクイックスタート

Ahoy there!Twilioのメッセージングチャネルを使用して転送されるすべてのメッセージングは、アプリケーション対個人メッセージング(A2P)として処理され、Twilioのメッセージポリシーの対象になります。Twilioのサービスを使用する間、遵守しなければならないポリシールールの詳細については、サービス利用ポリシーを参照してください。

Twilio Programmable SMSを使用し、Node.jsアプリケーションとの間でテキストメッセージを送受信することができます。必要なのはコード数行のみです。

このNode.js SMSクイックスタートでは、Communications REST APIとTwilio Node.jsヘルパーライブラリーを使用し、テキストメッセージを送受信する方法をご紹介します。

このクイックスタートでは、以下について説明します。

  1. Twilioにサインアップし、SMS対応のTwilioの電話番号を取得する
  2. 開発環境を設定し、メッセージを送受信する
  3. SMSを送信してみる
  4. テキストメッセージを受信する
  5. SMSを使用しメッセージに返信する

ビデオもご用意しています。Node.js SMSクイックスタートビデオ(YouTube)をご覧ください。

どうなるか確認しましょう

Twilioにサインアップし、Twilioの電話番号を取得する

Twilioアカウント、SMS対応のTwilio電話番号をすでにお持ちの場合は、次のステップに進んでください。

無料のTwilioトライアルアカウントには、こちらからサインアップできます。

  • サインアップの際に、お客様個人の電話番号を確認させていただきます。これにより、Twilioがお客様を確認することができ、お客様はトライアルモード中にTwilioアカウントからご自身の電話にテストメッセージを送信することができます。
  • 電話番号の確認を終えると、設定をカスタマイズするための一連の質問があります。
  • 登録フローを終えると、Twilio Consoleにプロジェクトダッシュボードが表示されます。このダッシュボードを使用し、アカウントSID、認証トークン、Twilio電話番号などにアクセスできます。

SMS機能付きのTwilioの電話番号をお持ちではない場合は、ご購入いただく必要があります。[Buy a Number](番号を購入する)ページに移動し、["SMS"]ボックスをチェックし、["Search."](検索)をクリックします。

Buy a twilio phone number.png

使用可能な電話番号とその機能のリストが表示されます。好みの番号を探し、["Buy"](購入)をクリックしアカウントに追加します。

Select an SMS-enabled phone number

JavaScriptをいくつか書いてみましょう!

他のNode.jsのクイックスタートのいずれかをすでに終えており、Node.jsとTwilio Node.jsヘルパーライブラリーがインストールされている場合には、このステップを省略し、直接最初のテキストメッセージの送信に進むことができます。

SMSを送信するには、事前にNode.jsとTwilio Node.jsモジュールがインストールされている必要があります。

Node.jsをインストールする

ターミナルを開き、以下のコマンドを実行すると、マシンにNode.jsがすでにインストールされているかを確認できます。

node --version

次のように表示されます。

$ node --version
v8.9.1

Node.jsがインストールされていない場合には、nodejs.orgに移動し、システムに対応するインストーラーをダウンロードします。Nodeのインストール後、ターミナルに戻り、上記のコマンドを再度実行します。インストールされたnodeバージョンが表示されない場合は、ターミナルの再起動が必要になる場合とがあります。

Twilio Node.jsモジュールをインストールする

npmを使用し、Twilio Nodeヘルパーライブラリーをインストールします。

npm install twilio

これにより、「twilio」モジュールがインストールされ、カレントディレクトリに格納されているNode.jsスクリプトがモジュールを使用できるようになります。

完了です。テキストメッセージを送信しましょう。

Node.jsを使用しSMSメッセージを送信する

Node.jsとTwilio Node.jsライブラリーがインストールされたため、APIリクエストを一回送るだけで、購入したばかりのTwilioの電話番号からテキストメッセージを送信できます。send_sms.jsというファイルを新規作成します。このファイルを開き、このコードサンプルを入力または貼り付けます。

        
        
        
        このコードにより、Messageリソースの新しいインスタンスを作成し、MessagesリソースURIにHTTP POSTを送信できます。

        Twilioを使用し、Node.jsを使用しSMSを送信する

        このコードにより、Messageリソースの新しいインスタンスを作成し、MessagesリソースURIにHTTP POSTを送信できます。

        メッセージを送信する前に、このファイルをもう少し編集する必要があります。

        プレースホルダの資格情報値を置き換える

        accountSidauthTokenのプレースホルダ値を、ご自身のTwilioの認証情報に置き換えます。https://www.twilio.com/consoleを開き、ログインします。このページで、お客様固有のAccount SIDとAuth Tokenを確認できます。今回のように、Twilio Clientを利用しメッセージを送信する際に必要となります。

        auth token reveal

        send_sms.jsを開き、accountSidauthTokenの値を、ご自身の固有の値に置き換えます。

        注意: 最初は認証情報を直接コードに埋め込んでも問題ありませんが、本番環境にデプロイするまでには、必ず環境変数を使用し、認証情報を保護してください。詳細については、環境変数の設定方法をご覧ください。

        "from"の電話番号を置き換える

        数分前に購入したSMS対応の電話番号を覚えていますか。入力されているfromの番号を、その番号に置き換えます。必ずE.164形式を使用してください。

        [+][国コード][エリアコードを含む電話番号]

        "to"の電話番号を置き換える

        toの電話番号をご自身の携帯電話番号に置き換えます。テキストメッセージを受信できる電話番号であればどの番号でも構いませんが、プロセスを実際に体験するために、ご自身の番号を使用することをお勧めします。上記のように、この値にはE.164形式を使用します。

        変更内容を保存し、ターミナルからこのスクリプトを実行します。

        node send_sms.js
        

        これで完了です。すぐに、Twilioの電話番号から、携帯電話にSMSが到着するはずです。

        顧客がアメリカやカナダにいる場合は、1行コードを追加するだけで、顧客にMMSメッセージを送信できます。方法については、この[MMS送信ガイド](https://www.twilio.com/docs/guides/how-to-send-sms-messages-in-node-js#send-a-message-with-media-mms-in-nodejs) をご覧ください。

        Twilioのトライアルアカウントを使用している場合は、Twilioにより確認された電話番号のみにSMSメッセージを送信することができます。電話番号は、Twilio Consoleの認証済み発信者IDにより認証できます。

        メッセージを送信しました。メッセージを受け取る方法を教えてください。

        Expressを使用し、SMSメッセージを受信・返信する

        お使いのTwilio電話番号にメッセージが到着すると、Twilioはお使いのサーバーにHTTPリクエストを送信します。このコールバックメカニズムのことをWebhookといいます。 Twilioがアプリケーションにリクエストを送信すると、Twilioは、メッセージへの応答方法を説明する応答をTwiML XML形式で受け付けます。Expressを使用し、これをNode.jsで構築する方法を見てみましょう。

        現在のディレクトリのコマンドラインにおいて以下のコマンドを実行します。

        npm install express
        

        「server.js」という名称でファイルを作成し、以下のコード使用し、着信するメッセージを処理するサーバーを作成します。

              
              
              
              When your Twilio phone number receives an incoming message, Twilio will send an HTTP request to your server. This code shows how your server can reply with a text message using the Twilio helper library.

              Respond to an incoming text message

              When your Twilio phone number receives an incoming message, Twilio will send an HTTP request to your server. This code shows how your server can reply with a text message using the Twilio helper library.

              以下のコマンドを使用し、サーバーを実行します。

              node server.js
              

              サーバーがポート1337で起動されます。

              Twilioが、アプリケーションにWebhookリクエストを送信する前に、インターネットを介してアプリケーションにアクセスできるようにする必要があります。これはさまざまな方法で可能ですが、ローカル開発中にはTwilio CLIの使用をお勧めします。アプリケーションをメッセージ受信可能にするため、次の設定を行います。

              Twilio CLIをインストールしましょう。

              Twilio CLIをインストールする

              macOSにtwilio-cliをインストールするための推奨される方法は、Homebrewを使用することです。インストールがお済みでない場合は、Homebrewサイトに進み、インストールを実行後、本ページにお戻りください。

              Homebrewをインストールした後、次のコマンドを実行しtwilio-cliをインストールします。

              brew tap twilio/brew && brew install twilio

              twilio-cliをインストールするための推奨される方法は、Windows向けコマンドラインインストーラーであるScoopを使用することです。インストールがお済みでない場合は、Scoopサイトに進み、インストール手順を実行後、本ページにお戻りください。

              注記: Scoop経由でインストールする際、一般的なアクセス許可の問題を回避するには、PowerShellを管理者として実行する必要があります。

              1. 次のtwilio-cliバケットを追加します。
                scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
              2. 次のアプリをインストールします。
                scoop install twilio

              twilio-cliは、Advanced Package Tool(apt)を使用し、Debian、Ubuntu、Linux Mintなどのほとんどのディストリビューションにインストールできます。

              これを行うには、ターミナルで次のコマンドを実行します。

              wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
                | sudo apt-key add -
              sudo touch /etc/apt/sources.list.d/twilio.list
              echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
                | sudo tee /etc/apt/sources.list.d/twilio.list
              sudo apt update
              sudo apt install -y twilio

              その他のインストール方法については、twilio-cliクイックスタートをご覧ください。

              twilio loginを実行し、Twilio CLIをアカウントに接続します。https://www.twilio.com/consoleにアクセスし、CLIに入力するための固有のAccount SIDとAuth Tokenを確認します。

              「目」のアイコンをクリックすると、Auth Tokenが表示されます。

              Reveal Your Auth Token

              これにより、CLIを使用し、電話番号をNode.jsアプリに接続できます。

              メッセージを受信するようにアプリを設定しましょう。

              Webhook URLを設定する

              新しいメッセージを受信するたびにWebhook URLを呼び出すよう、Twilioの電話番号を設定する必要があります。電話番号をお使いのTwilioの電話番号に置き換え、次のCLIコマンドを実行します。

              twilio phone-numbers:update "+15017122661" --sms-url="http://localhost:1337/sms"

              この仕組み

              Twilio CLIを使用し、お使いの電話番号用のSMS Webhook URLを設定しています。Twilioは、SMSメッセージが受信されるたびに、このURLに対してリクエストを行います。さらにCLIはngrokを使用し、Twilioがローカルの開発環境("localhost")にアクセスするためのトンネルを作成します。

              また、Twilio Consoleを使用すればWebブラウザーでWebhookを設定することもできますが、ngrokを自分で起動する必要があります。

              アプリケーションをテストする

              node server.jstwilioコマンドの両方を、コマンドラインで実行します(別々のタブを使用)。

              これらの両方が実行されている状態のまま、新しいExpressアプリケーションをテストします。

              お使いの携帯電話から、このWebhookを使用し設定されたTwilioの電話番号にSMSを送信します。ngrokコンソールにHTTPリクエストが表示されます。Expressアプリはテキストメッセージを処理し、応答がSMSで届きます。

              うまくいきました。完了 - 次のステップ

              次のステップ

              Node.jsを使用したSMSとMMSのテキストメッセージ送受信の基本が理解できました。以下のリソースもご覧ください。

              コーディングを楽しみましょう!

              このページを評価:

              サポートが必要ですか?

              コーディングに関するご質問、ご不明点等ございましたら、お問い合わせからご連絡いただくか、TwilioのStack Overflow Collectiveにアクセスいただくか、Stack OverflowサイトでTwilioタグを検索してください。

                    
                    
                    

                    フィードバックいただき、ありがとうございました。

                    フィードバックいただいた理由を選択してください。その他、ご意見をいただければ、今後のドキュメントの改善に役立てさせていただきます。

                    フィードバックを送信中...
                    🎉 フィードバックいただき、ありがとうございました。
                    何らかの問題が発生しました。もう一度試してください。

                    フィードバックいただき、ありがとうございました。

                    Twilioを紹介して$10ゲットしてください。次の3ステップです。

                    ステップ1

                    リンクの取得

                    無料の個人用紹介リンクをこちらから取得してください

                    ステップ2

                    $10受け取るには

                    あなたの顧客がサインアップし、リンクからアップグレードすると、プレゼントします

                    ステップ3

                    $10ゲット

                    1,250通の無料SMS
                    または、1,000分の無料音声通話
                    または、12,000チャット
                    そのほか