メニュー

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?

PythonおよびFlaskを使用した匿名通話とSMS

この Flask サンプルアプリケーションは、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.

はじめましょう!

予約を作成する

ゲストとホストを接続する最初のステップは、予約の作成です。

ここでは、新しい予約用の送信フォームを扱います。予約をデータベースに保存したら、その予約を受諾または却下するように求める SMS メッセージをホストに送信します。

        
        
        
        

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

        予約を確認する

        予約を確認する

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

              
              
              
              

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

              Twilio 番号を購入する

              Twilio 番号を購入する

              ここでは、Twilio Python ヘルパーライブラリーを使用して、予約に関連付ける新しい電話番号を検索して購入します。まずローカルエリアコードで番号を検索し、見つからない場合は、その国で使用可能な任意の電話番号を取ります。

              電話番号の購入時には、新しい電話番号で着信通話またはテキストを受信したときにウェブホックリクエストを処理する TwiML アプリケーションを指定します。

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

                    
                    
                    
                    
                    airtng_flask/models/reservation.py

                    Twilio 番号を購入する

                    airtng_flask/models/reservation.py

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

                    予約を検索する

                    予約を検索する

                    (予約用に購入した)いずれかの Twilio 番号に誰かがメッセージを送るか電話をかけると、Twilio はユーザーが TwiML アプリで設定した URL にリクエストを発行します。そのリクエストには、有用なメタデータが含まれます。

                    • 最初に電話をかけるか SMS を送信した incoming_phone_number 番号
                    • このリクエストをトリガーした anonymous_phone_number Twilio 番号

                    使用できるパラメーターの完全なリストについては、Twilio の SMS ドキュメントTwilio の音声ドキュメントを参照してください。

                    購入した番号はホストとゲストの両方が電話をかけて SMS を送信する番号であるため、コードでは、Twilio から送信された To パラメーターを使用して、購入した番号が保存されている予約を検索します。

                          
                          
                          
                          

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

                          SMS で接続する

                          SMS で接続する

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

                          匿名番号へ送信された初期メッセージがホストからの場合は、このメッセージをゲストに転送します。同様に、元のメッセージがゲストによって送信された場合は、そのメッセージをホストに転送します。

                          どの相手にメッセージを転送するのかを決定できるように、gather_outgoing_phone_number というヘルパー関数を記述しました。

                                
                                
                                
                                

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

                                電話コールで接続する

                                電話コールで接続する

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

                                      
                                      
                                      
                                      

                                      一丁あがり! プライバシーを保護しながらお客様に接続を許可する匿名通信を実装しました。

                                      次はどこでしょうか?

                                      次はどこでしょうか?

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

                                      IVR: フォンツリー

                                      自社用に IVR 電話ツリーを構築することで、シームレスなカスタマーサービスエクスペリエンスを作成します。

                                      通話のトラッキング

                                      一意の電話番号をさまざまな広告に割り当てることで、さまざまなマーケティングキャンペーンの有効性を測定し、発信者自体のデータを取得しながら最もコールレートが良いものを追跡します。

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

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

                                      Agustin Camino Jose Oliveros Andrew Baker Kat King David Prothero
                                      Rate this page:

                                      ヘルプが必要ですか?

                                      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.