RubyおよびRailsを使用した通話の追跡
この Django ウェブアプリケーションでは、Twilio を使って、さまざまなマーケティングチャンネルの有効性を追跡する方法を示します。
このアプリケーションには、3 つの主要な機能があります。
- さまざまなマーケティングキャンペーン(広告用掲示板やバスの車内広告など)で使う電話番号を Twilio から購入する
- その電話番号に対する着信をセールス担当者に転送する
- 電話番号および受け取った通話に関するデータを示すチャートを表示する
Whatclinic.comがTwilioを使用してヘルスケア業界向けに通話の追跡プラットフォームを構築する方法を確認しましょう。
このチュートリアルでは、このアプリケーションを実行するための主要なコードをいくつか紹介します。コードを実行する方法については、GitHub のプロジェクトの README をお読みください。
使用可能な電話番号を検索する
通話追跡には必要に応じて電話番号を検索、購入することが必要で、特定の番号がある販促経路に紐付けられます。 ユーティリティー・クラスはtwilio-rubyヘルパーライブラリーを使用して地域コード別に電話番号を検索、購入可能な番号の一覧を返します。
ここで、これらの番号を購入用にユーザーに表示し、キャンペーンを有効にする方法を見てみましょう。
使用可能な電話番号を表示する
ユーザーに対して、エリアコード別に新しい電話番号を検索するためのフォームを、アプリのホームページに表示します。コントローラーレベルでは、以前に作成した TwilioClient
を使って、実際に番号を検索します。番号のリストを示すビューがレンダリングされ、その中から購入したい番号を選択できます。
Twilio C#ヘルパーライブラリーを活用して、購入用の利用可能電話番号をどのように表示できるかについて見てきました。 ここで利用可能電話番号の購入方法を確認しましょう。
電話番号を購入
purchase_phone_number
メソッドは電話番号を唯一のパラメーターとして取り込み、Twilio API クライアントを使って、ユーザーが選択した使用可能な電話番号を購入します。
アプリケーションSIDの確認場所がわからない場合でもご安心ください。 次の手順で方法をご案内します。
TwiML アプリケーションでウェブホックの URL を設定する
電話番号を購入する際、VoiceアプリケーションSIDを指定します。 これはTwiMLアプリケーションに対する識別子で、REST API経由で作成するか、Twilio Consoleで作成できます。
電話番号をリードソースに関連付ける
Twilio 番号を検索し購入したら、データベースのリードソースと関連付ける必要があります。これは、通話のトラッキングアプリケーションのコアです。新しい Twilio 番号にかかってきた通話はこのソースに起因するものとみなされます。
ここまで、リードソースの作成と、それをTwilio電話番号に関連づける方法は大変理解しやすいものです。 ここでは、この情報を保存するリードソースのモデルについて詳しく見ていくことにしましょう。
LeadSource モデル
LeadSource
モデルは、Twilio 番号を指定したリードソース(「Wall Street Journal Ad」や「Dancing guy with sign」など)に関連付けます。また、セールスやサポートヘルプ回線など、すべての通話のリダイレクト先の電話番号も追跡します。
As the application will be collecting leads and associating them to each LeadSource or campaign, it is necessary to have a Lead model as well to keep track of each Lead
as it comes in and associate it to the LeadSource
.
リードモデル
Lead
は、LeadSource
で生成された通話を表します。LeadSource
に関連付けられた電話番号に電話がかかるたびに、Lead
モデルを使って、その通話に関して Twilio が提供するデータの一部を記録します。
Twilio電話番号だけでなくLeadSource
を作成するコードのバックエンド部分が完成しました。 アプリケーションの次の部分は着信通話を処理し、それを適切な営業部のメンバーに転送するためのWebhookになります。 これらWebhookの構築方法を見ていきましょう。
通話を転送し、リードを作成する
いずれかの Twilio 番号にお客様から電話がかかると、Twilio はこのアクションに関連付けられている URL(/call-tracking/forward-call
)に POST リクエストを送信します。
着信データを使って、LeadSource
に新しい Lead
を作成した後、LeadSource
の forwarding_number
と発信者を接続するTwiML を返します。
通話を転送してリードを作成したら、見込み顧客を生み出す着信通話が大量にやってくるでしょう。 そしてそれらは我々にとってのデータとなるのですが、これらデータから恩恵を得られるような情報に変えてやることが必要です。 そこで次のステップでは、これらのソースから統計を得る方法を見ていきます。
リードソースに関する統計を取得する
データから引き出すことができる便利な統計情報は、各 LeadSource
が受け取った通話の数です。Active Record クエリーインターフェイスを使って、各 LeadSource
およびその Lead
モデルのカウントを示すリストを作成します。
この時点まで、アプリケーションのバックエンドのコードについて見てきました。 これで着信通話や見込み顧客の処理を開始する準備が整いました。 続いて、クライアント側に注目点を切り替えましょう。 今回の場合は、それはシンプルなJavaScriptアプリケーションで、またChart.jsを使用して適切な方法でこれら統計を描画します。
Chart.js で統計を視覚化する
ホームページに戻り、jQueryを使用してサーバーから通話捕捉の統計をJSON形式で取得し、統計情報をChart.jsで作成したカラフルな円グラフで表示します。
これで終わりです。これで、Ruby on Rails アプリケーションは新しい電話番号を購入し、着信を転送し、ビジネス上の統計情報を記録できるようになりました。
関連トピック
Twilio を使う Ruby on Rails 開発者であれば、以下のチュートリアルもお楽しみください。
ウェブページのボタンを押して、電話を介して訪問者をライブサポートまたはセールス担当者に接続します。
発信者を IVR (Interactive Voice Response:自動音声応答)に接続し、通話をどのようにルーティングするか選択できるようにします。
これは役に立ちましたか?
このチュートリアルをお読みいただき、ありがとうございます。 弊社に知らせたいフィードバックがある場合は、Twitter経由で英語でご連絡ください。 喜んでお話を伺います。
ヘルプが必要ですか?
誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。