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

Menu

Expand
このページを評価:

Programmable Messaging Rubyクイックスタート

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

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

このRuby SMSクイックスタートでは、Communications REST API、Twilio Rubyヘルパーライブラリー、RubyのSinatraフレームワークを使用し、簡単に開発する方法を説明します。Railsの使用をご希望の場合は、こちらのブログ記事をご覧ください。

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

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

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

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

Twilioにサインアップまたはサインインする

すでにTwilioアカウントをお持ちですか。その場合はこのセクションを省略できます。

無料のTwilioトライアルアカウントを取得するには、こちらからサインアップしてください。

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

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に入力するための固有アカウントSIDと認証トークンを確認します。

「目」のアイコンをクリックすると、認証トークンが表示されます。

Reveal Your Auth Token

次は電話番号を取得します...

電話番号を取得する

SMS機能付きのTwilioの電話番号をお持ちではない場合は、ご購入いただく必要があります。CLIを使用し次を実行します。

twilio phone-numbers:buy:local --country-code US --sms-enabled

米国以外の電話番号を使用する場合は、USをご希望のISO-3166-1国コードに置き換えます。SMS対応の番号が見つからない場合は、固定電話番号の代わりに携帯電話番号を探してみてください。twilio phone-numbers:buy:mobile --country-code DE --sms-enabled

アカウントに追加する電話番号を選択します。

次に、RubyとTwilio Rubyヘルパーライブラリーをインストールします。

OKです。セットアップの手順を確認します。

RubyとTwilioヘルパーライブラリーをインストールする

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

SMSを送信するには、RubyとTwilio Rubyヘルパーライブラリーをインストールしておく必要があります。

Rubyをインストールする

MacマシンまたはLinuxマシンをご使用の場合には、Rubyがすでにインストールされている可能性があります。ターミナルを開き、以下のコマンドを実行することで確認できます。

$ ruby --version

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

ruby 2.7.2

Windowsユーザーは、RubyInstallerを使用し、Rubyをインストールできます。

TwilioのRuby SDKは、Rubyバージョン2.4から3.0までをサポートしています。(Rubyの以前のバージョンをご使用の場合には、rbenvRVM、またはHomebrewを使用し、サポート対象のバージョンにアップグレードできます。)

Twilio Rubyヘルパーライブラリーをインストールする

twilio-rubyは、RubyGemsからインストールするのが最も簡単な方法です。

gem install twilio-ruby

手動のインストール

または、twilio-rubyのソースコードを複製し、そこからライブラリーをインストールすることもできます。

「Permission Denied」(権限が拒否されました)

実行中、コマンドラインにPermission Denied(権限が拒否されました)という長いエラーメッセージが表示された場合は、上記のコマンドにsudoを使用し、sudo gem install twilio-rubyを実行します。

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

Rubyを使用しSMSメッセージを送信する

これでRubyとtwilio-rubyをインストールできたため、たった1つのAPIリクエストで、購入したTwilioの電話番号からテキストメッセージを送信できるようになりました。send_sms.rbという新しいファイルを作成します。このファイルを開き、コードサンプルを入力するか、貼り付けます。

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

        Send SMS using Twilio

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

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

        プレースホルダの認証情報値を置き換える
        account_sidとauth_tokenのプレースホルダ値を、ご自身のTwilio認証情報に置き換えます。

        https://www.twilio.com/consoleに移動し、ログインします。このページでは、お客様固有のアカウントSIDと認証トークンを確認できます。この作業は、今回のようにTwilio Clientによりメッセージを送信する際に必要となります。[view](表示)をクリックすると、認証トークンが表示されます。

        console-project-auth-token.png

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

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

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

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

        「to」の電話番号を置き換える
        toの電話番号をご自身の携帯電話番号に置き換えます。テキストメッセージを受信できる電話番号であればどの番号でも構いませんが、たった1つのAPIリクエストが起こすマジックを体験するために、ご自身の番号を使用することをお勧めします。上記のように、この値にはE.164形式を使用します。
        変更内容を保存し、ターミナルからこのスクリプトを実行します。

        ruby send_sms.rb

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

        顧客がアメリカやカナダにいる場合は、コード一行あれば、顧客にMMSメッセージを送信することもできます。その方法については、こちらのMMS送信ガイドをご覧ください。

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

        メッセージが届きました。次のステップ

        Sinatraをインストールし、開発環境を設定する

        SMSメッセージを受信し返信するには、リクエストを受信可能な軽量のWebアプリケーションを作成する必要があります。このクイックスタートではSinatraを使用しますが、Railsの使用をご希望の場合には、こちらのブログ記事の手順をご覧ください。

        まず、以下を含むGemfileが必要です。

        # Gemfile
        source 'https://rubygems.org'

        gem 'sinatra'
        gem 'twilio-ruby'

        RubyプロジェクトはBundlerを使用し、依存関係を管理します。SinatraとTwilio SDKを開発環境に取り込むコマンドは、bundle installです。

        bundle install
        ...
        Use `bundle show [gemname]` to see where a bundled gem is installed.

        シンプルなSinatraアプリケーションを作成する

        シンプルなSinatraアプリケーションを作成することにより、開発環境が正しく構成されているかをテストできます。以下のコードをコピーし、quickstart.rbという新しいファイルに貼り付けます。

        require 'sinatra'
        
        get '/' do
          "Hello World!"
        end

        次に、ruby quickstart.rbコマンドを使用し、新しいSinatraアプリケーションを実行します。ブラウザーでhttp://localhost:4567を開くと、「Hello World!」メッセージが表示されるはずです。

        セットアップできました。メッセージの受信方法を確認します。

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

        誰かがお客様のTwilioの電話番号にSMSを送信すると、Twilioは、お客様のサーバーに対してHTTPリクエストを実行し、次の処理について指示を求めます。そのリクエストの受信後、お客様はTwilioに、SMSでの返信、音声通話の開始、データベースへのSMSの詳細の保存、または他の作業のトリガーなどを自由に指示することができます。

        このクイックスタートでは、Sinatraアプリを使用し、SMSメッセージの送信者に対し、お礼のメッセージを送信します。再度quickstart.rbを開き、以下のコードサンプルのようにコードを更新します。

              
              
              
              お使いの電話番号宛てにメッセージが届くと、Twilioは、お客様のサーバーにHTTPリクエストを送信します。このコードは、サーバーが、テキストメッセージを使用しどのように返信すべきかを示します。

              Reply SMS using Twilio

              お使いの電話番号宛てにメッセージが届くと、Twilioは、お客様のサーバーにHTTPリクエストを送信します。このコードは、サーバーが、テキストメッセージを使用しどのように返信すべきかを示します。

              ファイルを保存し、以下のコードを使用しアプリを再起動します。

              ruby quickstart.rb
              ngrokがまだローカルホストのポートで実行されていることを再確認します。これでTwilioがお客様のアプリケーションにアクセスできるようになりますが、まずTwilioに場所を知らせる必要があります。

              ワクワクしてきました。RubyをTwilioに接続しましょう。

              Webhook URLを設定する

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

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

              このCLIは、Twilioが開発マシンにアクセスできるようにngrok tunnelを起動し、受信テキストを待機します。

              テキストを使用しアプリケーションをテストする

              これですべてが繋がりました。テストしてみましょう。

              お使いの携帯電話から、お使いのTwilioの電話番号にテキストメッセージを送信します。ここで以下の2つのアクションが瞬時に行われます。

              1. Sinatra開発サーバーが新しい接続を検出します。
              2. Twilioが返信をSMSとして転送します。
              うまくいきました。完了 - 次のステップ

              次のステップ

              RubyとSinatraによるSMSテキストメッセージの送受信の基本が理解できました。次に以下のリソースもご覧ください。

              お客様の成功が私たちの喜びです。

              このページを評価:

              サポートが必要ですか?

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

                    
                    
                    

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

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

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

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

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

                    ステップ1

                    リンクの取得

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

                    ステップ2

                    $10受け取るには

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

                    ステップ3

                    $10ゲット

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