ゼロからはじめるぜ! Twilio – 第6回

20130801-01.jpg

こんにちは! Twilio チーム ネットワークエンジニアの まさ です。
前回までに、ひと通り基本的な Twilio の使い方を覚えてきました。次はみなさんが Twilio REST API を駆使して便利なサービスを作る番です。

弊社では、定期的に「Twilio API 勉強会」を開催しています。興味があれば是非、ご参加ください。

今回は、前回含みを持たせた「IF 文で作ったカラクリ」の種明かしです。
もう一度、usage_summary.php をおさらいしましょう。

 

このスクリプトは、途中色々な過程を経ようが、最終的に TwiML を出力するアプリケーションです。XML で TwiML を書くのと同じ事を、PHP 言語を使って実現しているだけです。

スクリプト内の IF 文は「$_REQUEST['Digits'] が定義してあれば」という意味です。
ということは「定義されていなければ」という条件だって書けるはずです。

では、「$_REQUEST['Digits'] が定義されていない状態」とは、つまりどういう状態でしょうか?

それは「まだ Gather がボタン操作を集めていない状態」です。ある人がこの電話番号に架け、電話がつながった時はまだ $_REQUEST['Digits'] は空になっています。当然ですね、まだ発信者はボタンを押していないですから。

ということはこの「IF 文の条件を満たしていないところ」が「電話が架かってきて最初に処理されるところ」ということになります。

 

さあ、ピンと来ましたか?

そうです! IF に対応する ELSE 文 で「電話が架かってきて最初に処理すること」を記述できるのです。ということは ...

welcome.xml は要らない!!

 

つまり、前回までに作った一連の処理
「電話を架ける → welcome.xml を叩く → usage_summary.php を叩く」
は、ELSE 文を加えることで
「電話を架ける → usage_summary.php を叩く」
という 1 本のプログラムで実現できる処理なのです。

 

プログラムを 1 本にしたものはコレです。welcome.xml で実現したことを、ELSE 文に記載するだけです。

ご利用のサーバ環境に、usage_summary.php を上書きアップロードしたら、URL を管理画面の電話番号メニューから指定します。

 

以下のように、URL を変更したら、実際に電話を架けてみてください。前回と全く同じ処理になるはずです。この時もちろん、最初に作った welcome.xml は一切叩かれていません。

20130801-02.jpg

プログラム言語を使うことで、XML による TwiML だけのアプリケーションと比べ、より複雑な処理をするアプリケーションが作れるようになります。要は、どんなプログラム言語を使おうとも、最終的に「完成した TwiML を出力」するものを作ればよいのです。

 

PHP 以外にも、各種言語に対応するお助けライブラリをご用意しています。ご利用の開発環境に合わせて探してみてくださいね。

各種 Twilio ライブラリ

この記事をシェア


最新記事

すべての記事へ