JavaおよびServletを使用した通話の追跡
Java Servlet Webアプリケーションでは、異なる販促施策の有効性の測定にTwilioを使用する方法をご紹介します。
このアプリケーションには、3 つの主要な機能があります。
- さまざまなマーケティングキャンペーン(広告用掲示板やバスの車内広告など)で使う電話番号を Twilio から購入する
- その電話番号に対する着信をセールス担当者に転送する
- 電話番号および受け取った通話に関するデータを示すチャートを表示する
Whatclinic.comがTwilioを使用してヘルスケア業界向けに通話の追跡プラットフォームを構築する方法を確認しましょう。
このチュートリアルでは、このアプリケーションを実行するための主要なコードをいくつか紹介します。コードを実行する方法については、GitHub のプロジェクトの README をお読みください。
使用可能な電話番号を検索する
通話追跡には必要に応じて電話番号を検索、購入することが必要で、特定の番号がある販促経路に紐付けられます。 このクラスは、Twilio Java ヘルパーライブラリを使って、エリアコード別に電話番号を検索し、購入可能な番号のリストを返します。
ここで、これらの番号を購入用にユーザーに表示し、キャンペーンを有効にする方法を見てみましょう。
使用可能な電話番号を表示する
ユーザーに対して、エリアコード別に新しい電話番号を検索するためのフォームを、アプリのホームページに表示します。コントローラーレベルでは、以前に作成した TwilioServices
インスタンスを使って、実際に番号を検索します。番号のリストを示すビューが表示され、その中から購入したい番号を選択できます。
Twilio C#ヘルパーライブラリーを活用して、購入用の利用可能電話番号をどのように表示できるかについて見てきました。 ここで利用可能電話番号の購入方法を確認しましょう。
電話番号を購入する
Our PurchasePhoneNumber
method takes two parameters, the first one is a phone number and the second one is the application SID. Now our Twilio API client can purchase the available phone number our user chooses.
アプリケーション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(/lead
)に POST リクエストを送信します。
着信データを使って、LeadSource
に新しい Lead
を作成した後、LeadSource
の forwardingNumber
と発信者を接続するTwiML を返します。
通話を転送してリードを作成したら、見込み顧客を生み出す着信通話が大量にやってくるでしょう。 そしてそれらは我々にとってのデータとなるのですが、これらデータから恩恵を得られるような情報に変えてやることが必要です。 そこで次のステップでは、これらのソースから統計を得る方法を見ていきます。
リードソースに関する統計を取得する
データから引き出すことができる便利な統計情報は、各 LeadSource
が受け取った通話の数です。LeadSource
に対して問い合わせを行い、Lead
モデルの数をカウントします。
この時点まで、アプリケーションのバックエンドのコードについて見てきました。 これで着信通話や見込み顧客の処理を開始する準備が整いました。 続いて、クライアント側に注目点を切り替えましょう。 今回の場合は、それはシンプルなJavaScriptアプリケーションで、またChart.jsを使用して適切な方法でこれら統計を描画します。
Chart.js で統計を視覚化する
ホームページに戻り、Jackson/ObjectMapper および jQuery を使い、サーバーから JSON に通話のトラッキングの統計を取り込みます。統計は、Chart.js で作成するカラフルな円グラフに表示します。
これで終わりです。これで、Java Servlet アプリケーションは新しい電話番号を購入し、着信を転送し、ビジネス上の統計情報を記録できるようになりました。
次はどこでしょうか?
Twilio を使う Java 開発者であれば、他のチュートリアルもお楽しみください。
サーバー停止状態が発生した場合に SMS 経由ですべての管理者に警告するサーバー通知システムを構築します。
ウェブトラフィックをボタンのクリック 1 つで、電話のトラフィックに変換します。
これは役に立ちましたか?
このチュートリアルをお読みいただき、ありがとうございます。 弊社に知らせたいフィードバックがある場合は、Twitter経由で英語でご連絡ください。 喜んでお話を伺います。
ヘルプが必要ですか?
誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。