メニュー

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 on Railsを使用した匿名通話/SMS

この Ruby on Railsサンプルアプリケーションは、Airbnb で作成された驚くようなレンタルエクスペリエンスをモデルとしていますが、さらに多くの Klingons が存在します。

ホストユーザーは、他のゲストユーザーが予約可能なレンタルプロパティーを提供できます。ゲストとホストは、予約専用に作成された使い捨ての Twilio 電話番号を使って匿名で通信できます。このチュートリアルでは、これを行うための主要なコードを示します。

このサンプルアプリを自分で実行するには、コードをダウンロードし、GitHub の指示に従ってください

Legal implications of managing communications between users

If you choose to manage communications between your users, including voice calls, text-based messages (e.g., SMS), and chat, you may need to comply with certain laws and regulations, including those regarding obtaining consent. Additional information regarding legal compliance considerations and best practices for using Twilio to manage and record communications between your users, such as when using Twilio Proxy, can be found here.



Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.

はじめましょう!

予約を作成する

ゲストとホストを接続する最初のステップは、予約の作成です。ここでは、ゲストの名前と電話番号が含まれる、新しい予約用のフォームの送信を扱います。

        
        
        
        
        app/controllers/reservations_controller.rb

        予約作成メソッド

        app/controllers/reservations_controller.rb

        予約システムの一部として、見込みの借り手からの予約リクエストの受信があります。 しかし、これらの予約は事前確認が必要です。 この手順をどのように処理するか見ていきましょう。

        予約を確認する

        予約を確認する

        予約を確定する前に、ホストはそのプロパティーがまだ使用可能であることを確認する必要があります。このプロセスを自動化する方法については、最初の AirTNG チュートリアル「ワークフローオートメーション」で学びます。

        予約が確認されたら、ゲストとホストが通信に使うことができる Twilio 番号を provision_phone_number メソッドで作成する必要があります。

              
              
              
              
              app/models/reservation.rb

              予約が確認されたら、ゲストとホストが通信に使うことができる Twilio 番号を購入する必要があります。

              Twilio 番号を購入する

              Twilio 番号を購入する

              ここでは、Twilio REST API クライアントを使用して、予約に関連付ける新しい電話番号を検索して購入します。番号を購入する場合は、新しい番号が着信またはテキストを受けたときにウェブホックリクエストを処理する Twilio アプリケーションを指定します。

              その後、この新しい電話番号を Reservation モデルに保存します。これで、アプリがこの番号に通話またはテキストを受信したときに、その通話やテキストがどの予約に属するのか判別できます。

                    
                    
                    
                    
                    app/models/reservation.rb

                    これで各予約にはTwilio番号が設定され、ゲストまたはホストによる通話が着信したときにアプリケーションがどのように予約を検索するか確認できます。

                    ゲストまたはホストが発信したときに予約を見つける

                    ゲストまたはホストが発信したときに予約を見つける

                    コントローラーで、着信またはテキストをどのように処理するのか Twilio からアプリケーションに問い合わせがあったときに実行されるフィルターを作成します。このフィルターは、正しい予約(匿名の番号に関連付けられているもの)を探し、インスタンス変数として格納します。格納されたインスタンス変数は、ゲストとホストを音声通話または SMS を介して接続するときに使われます。

                          
                          
                          
                          
                          app/controllers/reservations_controller.rb

                          予約を検索する

                          app/controllers/reservations_controller.rb

                          続いて、ゲストとホストがSMSを使用して接続する方法を見ていきましょう。

                          SMS経由でゲストとホストを接続する

                          SMS経由でゲストとホストを接続する

                          Twilio アプリケーションは、テキストメッセージの着信があると、このコントローラーメソッドに HTTP リクエストを送信するように設定されています。アプリは TwiML で応答し、メッセージに対する応答として何をすべきか Twilio に指示します。

                          If the initial message sent to the anonymous number was made by the host, we forward it on to the guest. But if the message was sent by the guest, we forward it to the host.

                                
                                
                                
                                
                                app/controllers/reservations_controller.rb

                                SMS で接続する

                                app/controllers/reservations_controller.rb

                                次は、ゲストとホストが音声通話を使用して接続する方法を見ていきましょう。

                                音声通話でゲストとホストを接続する

                                音声通話でゲストとホストを接続する

                                Twilio アプリケーションは、音声通話の着信があると、このメソッドに HTTP リクエストを送信するように設定されます。アプリは TwiML 命令で応答し、導入部の MP3 音声ファイルを Play した後、通話の発信側がどちらかに応じて、ゲストまたはホストに Dial するように、Twilio に指示します。

                                      
                                      
                                      
                                      
                                      app/controllers/reservations_controller.rb

                                      電話コールで接続する

                                      app/controllers/reservations_controller.rb

                                      一丁上がり! これで、Twilio Rubyヘルパーライブラリーの助けを借りて、顧客が自身のプライバシーを保ったまま接続できる匿名コミュニケーションを実装できました。

                                      次はどこでしょうか?

                                      次はどこでしょうか?

                                      Twilio を使う Ruby 開発者であれば、他のチュートリアルも調べてみてください。

                                      このチュートリアルのパート 1:ワークフローオートメーション

                                      ビジネスに重要なワークフローを自動化することで、レスポンスレートを上げます。 

                                      アポイントメント リマインダー

                                      近く予定されているアポイントメントがあったときに、お客様にテキストメッセージを送信します。このチュートリアルでは、バックグラウンドジョブからそれを行う方法を示します。

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

                                      このチュートリアルをお読みいただき、ありがとうございます。ご意見やご感想などございましたら、ぜひお聞かせください。@twilio へツイートいただき、ご意見をお知らせください。

                                      Jarod Reyes Jose Oliveros Agustin Camino David Prothero Kat King Hector Ortega Andrew Baker
                                      Rate this page:

                                      ヘルプが必要ですか?

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