みなさんこんにちは、ECナビ事業本部の梶沼(@chocopie116)です。


今回は、先日(2013年4月18日)にKDDIウェブコミュニケーションズ(KWC)が正式に日本で提供を開始したクラウド電話APItwilioを触ってみたのでそれについて書きたいと思います。 

 
52













話題のものにはとりあえず飛びついてみようの精神の持ち主です。はい。


twilioとは2007年に設立されたアメリカのTwilioという会社が提供するもので、通話やSMSの送受信をプログラムすることを可能にするWebサービスAPIです。


このエントリーではtwilioについてちょっと触ってみた感じを下記の観点でまとめてみます。

  1.  何を準備したらいいの?
  2.  どんなことができるの?
  3.  でもお高いんでしょう?
  4.  twilioであそんでみるなど


では早速まいりましょう。 
 

1.  何を準備したらいいの?

・アカウント取得

さてさてまずはAPIを利用するためにtwilioのアカウントを取得します。

こちらで、アカウントを取得します。

SMS認証をした後で、自分の専用の電話番号をもらうことができました。

なおこの段階でのクレジットカードの入力は不要です。


・twilioのヘルパーライブラリをインストールする

自分のサーバーにtwilioを扱うためのHelperライブラリを入れます。

http://jp.twilio.com/docs/libraries

様々な言語をカバーしているので特に困らないかと思います。僕はphpで入れました。


$ pear channel-discover twilio.github.com/pear

$ pear install twilio/Services_Twilio


これで完了です。早速サンプルプログラムを動かしてみましょう。



2.どんなことができるの?

一般的な電話機能にとどまらず企業の内線に使ったり、カンファレンスの複数トークに使えたり、

通話の録音ができたり、様々な機能が提供されています。

twilioでどんなことができるかもっと知りたいという方はこちらをご覧ください。

なおここでは、「着信通話を受ける」、「発信通話をかける」、「SMSメッセージを送信する」という基本的な3つの機能について、サンプルコードを動かしてみます。


・着信通話を受ける。

step 1 サーバーに下記のプログラムをデプロイしましょう。


step 2
 twilioで取得した電話番号が着信を受けた時の設定をする。

twilioで取得した電話番号に着信があった時、上記のファイルにリクエストを送るように

twilioのウェブサイト上から上記のプログラムがおいてあるURLを指定します。

これでtwilioで取得した電話番号に着信があった時は、example.com/say-hello-world.phpにリクエストが飛びます。

レスポンスのxmlを元に、発信者に対して<Say>タグで囲まれた間のHello World!と音声ガイダンスがテキストを読み上げてくれます。


ここでの通話やSMSの受信時などの動作を定めるものが、TwiML(twilioマークアップ言語)になります。

ちなみにテキストを読み上げる以外にも、<Play>hoge.mp3</Play>で音声ファイルを再生したり、

 <Sms>で通話の途中にSMSメッセージを送信するなどできます。

簡単すぎる!!w



・発信通話をかける。

step 1 サーバーに下記のプログラムをデプロイする。

example.com/make-call.php (通知番号や、架電内容などのパラメーターを指定して発信をかけるプログラム)

example.com/hello-world.php (上記の発信において、受話器をとった時の音声プログラム)

日本語で話すこともできます。日本語の女性の音声の場合、みくっぽいですw



・  SMSを送信する。

下記がSMSを送信するサンプルコードになります。

どうやら現状だと日本の番号だとSMSが使用できないようで、

使用したい場合はアメリカの番号を取得しなければいけないみたいです。

となると無料の枠ではできないので次回へ・・・サンプルコードだとこういう感じでできるみたいです。(´・ω・`)


send-sms.php
 


3. でもお高いんでしょう?

twilioの国内向け料金は以下のようです。

なお、海外では利用者が多いSMSの送受信機能も今後実装するようです。


料金表(2013年5月現在)
利用項目 料金
初期費用 無料
電話番号利用料(月額) 490円/1番号
固定電話宛通信料 9円/分
携帯電話宛通信料 19円/分
VoIP宛通信料 0.25円/分



その他の細かい料金はこちら 

トライアル版についてはある程度の上限金額が設定されていて、上限を超えると利用停止になるよう。グレードアップして実際に使う場合は、プリペイドでアカウントに事前にチャージをすることで利用するみたいです。オートチャージを使わなければ、使いすぎる心配がなくて安心ですね。



4. twilioであそんでみるなど


さて、こんな便利なtwilioで、なにかつくってみましょう。
今回は、実家の寂しがり屋なおばあちゃんに電話をするコンソールアプリをつくってみます。

誰しも1度や2度は、「あんた元気なら電話ぐらいよこしなさいよ」と言われた経験はあるのではないでしょうか?

そんな面倒くさg(ry忙しいあなたにぴったりなコンソールアプリです。

ただ間違えておじいちゃんが出てしまうことも十分ありうるので、ダイヤルを押してもらっておじいちゃんかおばあちゃんか判別できるようにしてみました。


あとはこれを、cronとかで月に1回実行しておけば定期的に電話がいきます。


main.php


who_are_you.php

how_are_you.php


こんな感じに超簡単に電話をつかったアプリがつくれます。
実際にデモをしたかったのですが、利用料金がかかってしまうので、今回はコードのみのご紹介です。
お許し下さい>< 。それにしてもあまりに簡単につくれすぎてサンプルコードのままという感じも否めませんw


まとめ

ヘルパークラスを呼び出すだけで簡単にSMS送信や電話ができるので、既存のサービスに組分せることも非常に簡単です。 電話という人々が慣れ親しんだ形のインターフェースを簡単に扱えるようになるので、既存サービスをより便利にするのはもちろんのこと、twilioを使ってなにか面白いサービスがつくれそうです。


皆様長文にお付き合いいただきありがとうございました。