Twilio_top
TwilioのTwilML libraryをCakePHPで使ってみました。サンプルで作ったものは再配達サービスです。

PHPの場合はクラスメソッドさんの「PHP×Twilio×再配達サービス#1」を見てください。

この記事ではアカウントの作り方などの説明はしていませんので、
Twilio が何なのか分からない場合や、使ったことがないという方は、
Twilioのサイトにある「ゼロからはじめるぜ!Twilio」という連載を最初に見てください。

環境

CakePHP2.4.×

ライブラリを読み込む

CakePHPのapp内にあるVendorフォルダにTwilioというフォルダを作成します。
このフォルダにライブラリを入れます。
ライブラリは以下からダウンロード、解凍してください。
https://jp.twilio.com/docs/libraries

解凍したフォルダ内のServicesフォルダをを上記でVendorに作成したTwilioフォルダにコピーします。

アプリケーション/app/Vendor/Twilio/Services/ファイルやフォルダ

続いて適当にControllerを作成し、ライブラリを読み込みます。

再配達サービスを作る

再配達サービスの最初に流れるメッセージを設定します。
Services_Twilio_TwimlクラスのTwiMLタグに対応したメソッドを呼び出し、もろもろ設定します。
今回、Viewは必要ありませんのでautoRenderをfalseにします。
また、レスポンスとして返すのはTwiMLというxmlですので、Content-Typeをtext/xmlにし、
もろもろ設定したものをbodyにセットして、そのままreturnします。

この時点で対象のURLにブラウザでアクセスすると、以下のようなTwiMLが表示されます。
twilio

Twilioで実際に電話をかけるまえにブラウザからアクセスして、PHPの構文が正しいか、
TwiMLが間違っていないかを確認するようにした方がよいでしょう。

次に、お問い合わせ番号を入力された後に実行されるfuncitonです。
お届けの時間を指定させ、間違っていれば再入力させる処理をします。

全体ではこんな感じ。

特にCakePHPを使う必要はないかもしれませんが、それにしてもTwilioは簡単で面白いかも!

あとは開発してる時の電話代だね。もうね。develop番号とか作って無料にしてくれればいいのに。