メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

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

With just a few lines of code, your Node.js application can send and receive text messages with Twilio Programmable SMS.

This Node.js SMS Quickstart will teach you how to do this using our Communications REST API and the Twilio Node.js helper library.

このクイックスタートでは、下記のことを学んでいきます:

  1. Twilioにサインアップして、SMS機能を持ったはじめてのTwilio電話番号を入手する
  2. メッセージを送受信できるように開発環境をセットアップする
  3. 最初のSMSを送信する
  4. テキストメッセージを受信する
  5. 受信メッセージに対してSMSで返信する

ビデオを見ながらの入門がお好みですか? YouTube上のNode.js SMSクイックスタートビデオ(英語)をご覧ください。

Show me how it's done!

すでにTwilioアカウントとSMS機能を持ったTwilio電話番号をお持ちなら、すでに準備万端です! どうぞ次のステップまで読み飛ばしてください。

Before you can send an SMS from Node.js, you'll need to sign up for a Twilio account or sign into your existing account and purchase an SMS-capable phone number. If you are signing up for a Twilio account for the first time, you'll need to:

  • Validate a phone number you own to prove you're a non-spamming human
  • Follow a project creation wizard in the Twilio console - you can choose any of the templates, but the "just exploring" template should do nicely

After you get to the main Console, navigate to the Buy a Number page. Check the "SMS" box and click "Search" to find an SMS-capable phone number you can use in your code.

SMS対応Twilio電話番号を購入する

You’ll then see a list of available phone numbers and their capabilities. Click the "Buy" button to add one of them to your account.

Click to Buy an SMS capable number

Now that you have a Twilio account and a programmable phone number, you can start writing some code! To make things even easier, we'll install Twilio's official helper for Node.js next.

Super - let's write some JavaScript!

すでに他のNode.jsクイックスタートを終えていて、Twilio Node.jsヘルパーライブラリーがインストールされている場合は、このステップを読み飛ばしてすぐに最初のテキストメッセージを送信できます。

To send your first SMS, you’ll need to have Node.js and the Twilio Node.js module installed.

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

ターミナルを開いて下記のコマンドを入力することで、すでにNode.jsがすでにPCにインストール済みかどうか確認できます:

node --version

下記のように表示されます:

$ node --version
v8.9.1

If you don't have Node.js installed, head over to nodejs.org and download the appropriate installer for your system. Once you've installed Node, return to your terminal and run the command above once again. If you don't see the installed node version, you may need to relaunch your terminal.

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

Install the Twilio Node helper library using npm:

npm install twilio

This will install the twilio module so that Node.js scripts in the current directory can use it. If your project has a package.json, consider adding the --save flag to the command above to ensure you always install the same version of Twilio from npm.

All set! Let's send a text message.

Node.jsでSMSメッセージを送信する

これでNode.jsとTwilio Node.jsライブラリーがインストールできたので、今しがた購入したTwilio電話番号から、1回のAPIリクエストでSMSを送信できます。 send_sms.jsという名前の新規ファイルを作成して開き、下記のコードサンプルを打ち込むかペーストします。

        
        
        
        
        このコードはMessageリソースの新規リソースを作成し、MessageリソースURIにHTTP POST リクエストを送信します。

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

        このコードはMessageリソースの新規リソースを作成し、MessageリソースURIにHTTP POST リクエストを送信します。

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

        プレースホルダーのクレデンシャル値を置き換える

        Swap the placeholder values for accountSid and authToken with your personal Twilio credentials. Go to https://www.twilio.com/console and log in. On this page, you’ll find your unique Account SID and Auth Token, which you’ll need any time you send messages through the Twilio client like this.

        auth token reveal

        send_sms.jsを開き、accountSidおよびauthTokenに対応する値をご使用のアカウントの一意な値に置き換えます。

        ご注意ください: 初めのうちは認証情報をハードコーディングしても構いませんが、本番環境にデプロイするにあたっては、環境変数を使用してこれらが漏洩しないようにしてください。 追加情報については、環境変数の設定方法を参照してください。

        「From」電話番号を置き換える

        数分前に購入した、SMS機能対応の電話番号を覚えていますか? どうぞ、既存のfrom番号をご自身の番号に置き換えてください。 また、E.164形式が使用されていることも確認します。

        [+][country code][phone number including area code]

        「To」電話番号を置き換える

        Replace the to phone number with your mobile phone number. This can be any phone number that can receive text messages, but it’s a good idea to test with your own phone so you can see the magic happen! As above, you should use E.164 formatting for this value.

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

        node send_sms.js
        

        一丁上がり! ほどなくして、Twilio電話番号から携帯電話にSMSが受信されるはずです。

        あなたのお客様は米国またはカナダにお住まいですか? もう1行コードを追加すれば、MMSメッセージの送信も可能です。 方法を確認するには、MMS送信のガイドを参照してください。

        トライアルアカウントをご使用の場合、Twilioで検証済みの電話番号に送信先が制限されます。電話番号はTwilioコンソール内の検証済み発信者番号にて検証できます。 

        メッセージを送信しました! どのように受信しますか?

        Expressでメッセージの受信と返信を行う

        When your Twilio number receives an incoming message, Twilio will send an HTTP request to a server you control. This callback mechanism is known as a webhook. When Twilio sends your application a request, it expects a response in the TwiML XML format telling it how to respond to the message. Let's see how we would build this in Node.js using Express.

        カレントディレクトリーのコマンドラインで、下記のコマンドを実行します:

        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.

              C#でSMSやMMS(日本未対応)を受信、返信する

              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でのサーバーの起動が確認できるでしょう。 

              Before Twilio can send your application webhook requests, you'll need to make your application accessible over the Internet. While you can do that in any number of ways, we recommend a tool called ngrok, which gives your local development server a publicly accessible URL. We'll show you how to set that up next so your app can receive messages.

              Let's set up my app to receive messages.

              ngrokを使用してTwilioからNode.jsアプリケーションにアクセスできるようにする

              We’ve just built a small Express application to receive incoming messages. Before it will work, we need to make sure that Twilio can reach your application. Most Twilio services use webhooks to communicate with your application. When Twilio receives an SMS, for example, it makes an HTTP request to a URL in your application seeking instructions on how to handle the message.

              When you’re working on your Express application in your development environment, your app is only reachable by other programs on your computer, so Twilio won’t be able to talk to it. We need to solve this problem by making your application accessible over the Internet.

              While there are a lot of ways to do this, like deploying your application to Heroku or AWS, you'll probably want a less laborious way to test your Twilio application. For a lightweight way to make your app available on the Internet, we recommend a tool called ngrok. Ngrok listens for incoming HTTP requests to a public URL it reserves for your application, and forwards those requests on to your local development server.

              Twilioがローカルサーバーにアクセスできるようにするために、ngrokがどのように役に立つのか

              If you haven't already, install ngrok. Make sure it's the ngrok version that’s appropriate for your operating system and take care that the `ngrok` command is on your system path. If you're working on a Mac or Linux, you're all set. If you're on Windows, follow our guide on how to install and configure ngrok on Windows. For more info on ngrok, including some great tips and tricks, check out this in-depth blog post.

              The following command would use ngrok to expose port 1337 to the public Internet. Replace 1337 with whatever port number you used in your Express app, and type the following command on the command line:

              ngrok http 1337
              

              ngrokのターミナル出力

              これで、外部からアクセスできるURLを用意できました。

              WebhookのURLを設定する

              Twilioにどこを参照して良いか知らせるため、メッセージの受信時にTwilio電話番号にWebhook URLを呼び出すよう構成することが必要です。

              1. jp.twilio.comにログインし、Console上の電話番号ページに移動します
              2. SMS機能対応の電話番号をクリックします。
              3. メッセージの送受信セクションを見つけます。 「構成内容」は、既定である「Webhook/TwiML」のままでかまいません。
              4. In the “A MESSAGE COMES IN” section, select "Webhook" and paste in your URL: in this quickstart step above, it would be: https://aaf29606.ngrok.io/sms - be sure to add `/sms` at the end.

              configure-phone-number

              変更点を保存すれば、準備万端です!

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

              Make sure you are running on the command line (in separate tabs) both 'node server.js' and your 'ngrok' command. If you restarted ngrok, you will have to update your webhook in the console to use the right url.

              上記の両方のサーバーの実行により、いよいよお楽しみの準備が整いました。 新しいExpressアプリケーションをテストしましょう!

              Send an SMS from your mobile phone to your Twilio phone number that's configured with this webhook. You should see an HTTP request in your ngrok console. Your Express app will process the text message, and you’ll get your response back as an SMS.

              It worked! All done - what's next?

              関連トピック

              Node.jsを使用したSMSおよびMMSの送受信の基本について理解できたところで、下記の資料について調べてみるのも良いかもしれません。

              楽しいプログラミングを!

              ヘルプが必要ですか?

              We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.