Webから電話を簡単に操作できるAPI「Twilio」について解説する本連載。第1回では「Twilioとは?」と題してTwilioの概要と魅力をお伝えしました(関連記事)。今回は、Twilio APIの実際の使い方を簡単に紹介します。
API EXPLORERを使ってTwilioで電話をかけてみよう
TwilioにはWebブラウザー上でAPIを試せるツール「API EXPLORER」が用意されています。API EXPLORERを使うと、コードを書かずにブラウザー上でTwilioのAPIを操作したり、テストしたりできます。
まずは、このAPI EXPLORERを使って、電話の発信(アウトバウンド)を試してみます。Twilioのダッシュボードにログインし、右下にある「発信する」をクリックします。
API EXPLORERの「Make call」画面に遷移します。通話をかけるには、以下の3つのパラメーターを設定します(参考:発信通話の準備)。
- From: Twilioが通話の宛先に表示する発信者 ID
- To: 電話をかけたい宛先の電話番号
- Url: この通話に関するTwiML命令のURL
FromにはTwilioで取得した電話番号を入力します。アカウント登録時に割り当てられたトライアル番号でも構いません。今回は、To:に自分の電話番号(+81XXXXXXXXXX)を、Url:にデモ用のURL(http://demo.twilio.com/docs/voice.xml)を入力してみましょう。
「Make Request」をクリックすると、FromからToに電話がかかります。「トライアルアカウントをご使用いただきありがとうございます……」という女性のメッセージが流れればテストは成功です。
API EXPLORERでは、電話の発信以外にも、電話番号の購入やSMSの送信などが簡単に試せます。ぜひ触ってみてください。
ダッシュボードでインバウンドコールを設定しよう
続いて、電話がかかってきたときの処理(インバウンド)についても試してみましょう。インバウンドの処理はダッシュボードの「トライアル番号の設定」で設定します。
インバウンドでは、「URLs」もしくは「ApplicationSid」を設定して、電話がかかってきたときの動作をTwilioに指示できます。今回はTwiMLアプリを利用する「ApplicationSid」を試していきましょう。
ApplicationSidでは事前にインターネットからアクセスできる「TwiML」を用意する必要があります。TwiMLとは、電話やSMSを受信した時にTwilioに動作を指示する、XMLベースの独自マークアップ言語です。Twilioでは電話やSMSを受信すると、あらかじめ紐づけられたTwiMLを参照して処理を実行します。TwilMLは以下のような要素(動詞)を使って記述します。
- Say - テキストの読み上げ
- Play - 発信者に音声ファイルを再生
- Dial - 通話に参加者を追加
- Record - 発信者の声を録音
- Gather - 発信者がキーパッドでダイヤルした数字を収集
- Sms - 通話中に SMS メッセージを送信
- Hangup - 通話を終了
- Queue - 発信者をキューに追加
- Redirect - コールフローを別の TwiML 文書へリダイレクト
- Pause - 次の指示を実行する前にポーズを挿入
- Reject - 着信通話を拒否(通話は課金されない)
TwiMLの詳しい書き方は「TwiML:Twilioマークアップ言語」を参照してください。今回は以下のようなTwiMLを書きました。
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp" voice="woman">twimlbinを利用してインバウンド処理を体験してみましょう</Say>
</Response>
電話がかかってきたら、女性の声(voice=”woman”)で「twimlbinを利用してインバウンド処理を体験してみましょう」と日本語(language=”ja-jp”)で応答する、という意味です。
TwiMLはインターネットからアクセスできるサーバーであればどこに置いても構いませんが、TwiML専用の無料ホスティングサービス「Twimlbin」を使うととても手軽です。
Twimlbinにアクセスして、「Create A New Twimlbin」をクリックします。
TwilMLを入力するテキストフィールドが表示されますので、前に書いたTwiMLをコピー&ペーストします。
コードを入力するとすぐにTwiMLのバリデーションが実行され、Twimlbinのサーバーに自動的に保存されます。「Private」と書かれているURLが、保存されたTwiMLのURLです。
Twilioのダッシュボードに戻って、作成したTwiMLのURLを利用したインバウンドアプリケーションを作成します。
「ツール」→「TWIML APPS」→「TwiMLAppを作成する」を選択します。
「フレンドリーネーム」に適当な名前を付けて、Twimlbinで作成したURLをセットします。
「変更を保存する」と、TwiMLを使ったインバウンドアプリケーションが作成されます。
「トライアル番号の設定」に戻って、プルダウンで先ほど作成したアプリケーションを選択します。
変更を保存して、トライアル番号に電話すると「アプリケーション」にセットしたTwiMLがリクエストされ、テキストメッセージが再生されます。片言ですが、漢字もカタカナも認識して読み上げてくれます。
本格的なアプリ開発には「Twimlets」が便利
TwimlbinはちょっとしたTwiMLを試すには便利なツールですが、一度TwilMLを作成すると後で編集したり、削除したりできません。
「Twimles」は、Twimlbin同様、TwiMLをホスティングできるサービスです。管理機能が充実しており、ジェネレーターを使ったTwiMLの作成もできます。ただし、利用には米国版Twilioアカウントの登録が必要です。