Twilioコールセンターアプリ「Runa-CCA」バージョン2.0をリリースしました!
簡易CRMとお客様情報ポップアップ機能追加という、大きな変更だったので、メジャーバージョンを上げました。
簡易CRMはその名の通り簡易な顧客情報管理機能です。
応対履歴も登録可能です。
顧客情報・応対履歴のカラムは今後増やしていきたいと思います。
ソフトフォンからも顧客情報・応対履歴の閲覧・編集を可能にしました。JQueryでAjaxを使って、画面を更新させています。ソースコードに無駄があるような気がするので、これもブラッシュアップしたいところです。
お客様情報のポップアップ画面です。
残念ながらTwilioは、お客様がQueueから出たとき(オペレータがお客様をQueueから出したとき)にイベントを送りません。以下のような作りにして無理くりポップアップさせています。
・オペレータのCallSidを取得。オペレータはQueueに発信します。発信するとその発信呼のCallSidを取得できます。TwilioのConnectionのオブジェクトのプロパティ(connection.parameters.CallSid)として取得可能です。
・Twilioでは、お客様とオペレータがそれぞれ別のTwiML動詞を使って同じQueueに入ります。そうすることで、オペレータはお客様をQueueから出すことができます。オペレータがQueue動詞を使ってQueueに入るとき、urlを指定します。urlには、お客様がQueueから出るときに実行させるTwiML文書のURLを指定します。このURLで指定されるPHPプログラムで、コールの情報を取得し、DBに格納します。ここで、お客様の電話番号である「From」と、「DequeingCallSid」という値がDBに格納されることになります。「DequeingCallSid」というのは、発信者をキューから外した通話のCallSid、すなわち、オペレータのCallSidになります。
・オペレータとお客様との通話が確立した後に、オペレータが「お客様情報ポップアップ」ボタンを押すと、オペレータのCallSid(DequeingCallSid)を検索キーにして、お客様の電話番号(From)を見つけて、それをもとにお客様の情報を表示します。関連して、お客様が入っていたキューの情報と、お客様が電話した電話番号(To)も取得して表示させます。これにより、
・お客様はどなたなのか?
・お客様はどの電話番号とどのキューに電話をかけてきたのか?
をオペレータがすぐわかるようにしています。
・お客様の電話番号は一意ではありません。例えば、お父さんとお母さんが居て、家の電話からコールセンタに電話してきたとすると、1つの電話番号で2人が検索されます。そのため、ポップアップ表示ではお客様のリストを表示する仕様となっています。
・お客様が電話番号を通知してくるとは限りません。その場合は、お客様のお名前や電話番号、お客様IDをお伺いし、検索します。登録されていないお客様の場合は新規に登録を行います。
うーん、無理くりだな。
手動なのをポップアップとは言わない気もしますが、まあ許してくださいませ。
追加した機能の一覧は以下の通りです。
- 簡易CRMとお客様情報ポップアップ
- お客様情報の検索・追加・変更・削除機能を追加。
- 応対履歴登録機能を追加。
- お客様情報ポップアップ機能を追加。Twilioはキューから出るときにイベントを送らないので、手動でボタンを押して情報を取得する必要があります。
- その他
- twilio.jsを1.2に変更。
- デザイン統一(シンプル化)。
ソースコードは以下から。