Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

メニュー

Expand
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?

RubyおよびRailsを使用したSMSおよびMMS(日本未対応)マーケティング通知

Ready to implement SMS and MMS marketing notifications for your Ruby on Rails Application? This post is for you!

下記が、ひととおりの仕組みの概要になります:

  1. リーチしたいユーザーは、広告に記載されているTwilio電話番号にSMSメッセージを送信します。
  2. アプリケーションはユーザーがSMSおよびMMS(日本未対応)通知を受信することを希望しているか確認します。
  3. An administrator or marketing campaign manager uses a web form to craft a message that will be sent to all subscribers via SMS/MMS message.

Walmartが「Value of the day」販促キャンペーンの一環として顧客に特売情報を毎日送信した方法をご覧ください。

ビルディングブロック

これを行うには、下記のTwilioのツールを使用します:

  • TwiML<Message>動詞: TwiMLを使用してユーザーがSMS経由で開始したやり取りを管理します
  • Messageリソース: REST APIを使用して全購読者にメッセージを一斉送信します

さぁ、はじめましょう! 矢印ボタンをクリックして、チュートリアルの次のステップに進みましょう。

Let's Explore Marketing Notifications

購読者の作成

Postgres データベースに保存するアクティブ・レコード・モデルを生成することからはじめます。 今回の目的には、購読者について多くの情報を必要としていません - (アップデートを送信できるような)電話番号と、アップデートの受信を希望しているかどうかを示すブール値フラグのみです。

モデルの作成には、rails generate コマンドを使用します。

bin/rails generate model Subscriber phone_number:string subscribed:boolean

このジェネレーターは、モデル、マイグレーション、およびスキーマを作成します。ここで実行する必要があるのは rake db:migrate のみです。また、購読者のテーブルもあります。

        
        
        
        
        購読者モデル

        購読者の作成

        購読者モデル

        これで、Subscriberを保存するモデルオブジェクトが用意できたので、コントローラーレベルに進んでメッセージの受信方法を見ていきましょう。

        着信メッセージの処理

        アプリケーションがメッセージを受信すると毎回incoming関数が呼び出されるため、ここには実装すべき多くのビジネスロジックがあります。

        この関数がどのように機能するのかを一つ一つ見ていきながらチュートリアルを続けますが、とりあえずユーザーが送信する最初のメッセージに注目してみましょう。

              
              
              
              
              app/controllers/notifications_controller.rb

              Assuming a user doesn't exist, we'll want to add them as a potential subscriber. That's where we're headed next.

              購読者データベースを入力する

              新しい購読者の作成

              We begin by getting the user's phone number from the incoming Twilio request. Next, we try to find a Subscriber model with that phone number (this should be a unique property of the Subscriber).

              この電話番号に対する購読者がいない場合はそれを作成、保存し、「add」というSMSを送信するよう好意的に促すメッセージを返信します。 販促通知には2段階のオプトインを課して、顧客に不満を持たれないようにします。

              Subscriberモデルを作成したことでメッセージの受信を希望する人を捕捉し、彼らがはじめてSMSを送信した時にそれらをデータベースに保存する方法を学びました。

                    
                    
                    
                    
                    app/controllers/notifications_controller.rb

                    電話番号がない場合に新規購読者を作成する

                    app/controllers/notifications_controller.rb

                    次に、購読ステータスを管理できるようにするために導入する必要があるロジックを見てみましょう。

                    購読を管理する

                    ユーザーの購読状態の管理に、addremove という2つのSMSコマンドを提供することにします。 

                    これらのコマンドは、データベースのSubscriberレコードに対応するブール値のフラグを切り替え、販促キャンペーンからのメッセージを受信するかどうかを決定します。 ユーザーの好みを尊重するため、購読をオプトインする代わりに、まずはメッセージの受信を希望するかどうかあらかじめ確認します。

                    これを実現するためには、着信テキストメッセージを処理するコントローラーロジックを更新して、以下の操作を実行する必要があります。

                    • ユーザーがすでにデータベースに登録されている場合、送られてきたメッセージを解析して既知のコマンドであるかどうか確認します。
                    • If it is a add or remove command, update her or his subscription status in the database
                    • もし認識しないコマンドだった場合は、利用可能な2つのコマンドを説明するメッセージを送信します。

                    Handle the Marketing Form Submission

                    On the server, first we grab an incoming form message text and optional image URL from the POST body. Second we loop through all Subscribers and call a function on our Subscriber model to send our marketing message.

                    メッセージの送信中に、メッセージング試行に関するフィードバックを含んだ flash メッセージで同じウェブフォームにリダイレクトします。

                          
                          
                          
                          
                          app/controllers/notifications_controller.rb

                          次に、モデルに進んで、これらのメッセージがどのように送信されるのかを見てみましょう。

                          メッセージがどのように送信されるのか?

                          Twilio REST クライアントの使用

                          モデルオブジェクトが読み込まれると、SMSおよびMMSメッセージの送信に使用できるTwilio REST APIクライアントを作成します。 クライアントにはConsoleでご確認いただけるTwilioのアカウント資格情報(アカウントSIDおよび認証トークン)が必要になります。

                          次に必要なことは、メッセージを送信するためにクライアントオブジェクトでmessages.createを呼び出すことだけです。 Twilio Message API呼び出しにはFromおよびToパラメーター、それからBodyまたはMediaUrl属性のいずれか一方(または両方)が必要になります。

                          Rails で SMS を送信するために必要なコードは、この 9 行のみです。

                                
                                
                                
                                
                                app/models/subscriber.rb

                                With that? The tutorial is finished! Next we'll look at other easily implemented features.

                                次はどこでしょうか?

                                一丁上がり! これで、あなたのRuby on RailsサイトでSMSおよびMMSの販促キャンペーンを実施するためのオプトインプロセスと、管理インターフェイスの実装ができました。 これで、あと必要になるのはユーザーとSMSおよびMMS経由で共有するキラーコンテンツだけです……それはあなたとあなたのチーム次第です。

                                Twilio loves Ruby! Here are just a couple of our other Ruby tutorials:

                                ウォーム転送

                                ウォーム転送では、担当者はリアルタイムに別の担当者と通話することができます。

                                自動アンケート

                                音声通話または SMS テキストメッセージを介して調査を実施し、ユーザーから構造化データを迅速に収集します。

                                これは役に立ちましたか?

                                Thanks for checking this tutorial out! Please let us know by tweeting @twilio what you're building!

                                Jarod Reyes Agustin Camino Kat King Hector Ortega Lizzie Siegle Andrew Baker Paul Kamp
                                Rate this page:

                                ヘルプが必要ですか?

                                誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。