第23回 Twilio ClientとTwiMLAPPについて

スポンサーリンク

Twilio Clientとは、電話回線を使わずインターネット経由で通話をすることができる機能。この機能を使えば、ウェブブラウザやネイティブアプリ(androidやiOS)に電話機能を持たせることができる。

ただし、Twilio Clientを使う場合は、TwiMLAPPを作成する必要があります。
※TwiMLAPPを作成するとAPからはじまるSIDが生成されます。このSIDを使ってケーパビリティトークンを作成しないとTwilioClientを使うことはできません。
今回はこのTwili Clientを REST APIで色々と操作してみる。

目的

REST APIを使って TwiMLAPPを作成・更新する。

開発

今回使うファイルは下記2ファイル。
create.php
update.php

create.php

<?php
// ライブラリーまでのパス
require('Services/Twilio.php');
  
// 管理ページから AccountSID と AuthToken を確認して入力。
$sid = "your account sid"; 
$token = "your auth token";
 
// インスタンスを作成
$client = new Services_Twilio($sid, $token);

// 新規TwiMLAPP作成
$client->account->applications->create('hogeTwiMLAPP', array(
        'VoiceUrl' => 'http://example.com/hoge.xml', 
	'Method' => 'POST'
));

13行目からTwiMLAPPを作成するプログラムを走らせる。
第一引数には 作成する TwiMLAPPの名前、
第二引数には配列でオプションを設定。
この場合は、VoiceUrl(着信があった時に実行するTwiMLファイル)とMethodのタイプを指定。

上記のcreate.phpをブラウザでアクセスもしくはPHPコマンドで実行すると追加できる。
実際に追加されているかどうかは管理コンソールにログインしてTWIMLAPPを確認。

update.php

// ライブラリーまでのパス
require('Services/Twilio.php');
  
// 管理ページから AccountSID と AuthToken を確認して入力。
$sid = "your account sid"; 
$token = "your auth token";
 
// インスタンスを作成
$client = new Services_Twilio($sid, $token);
      
// TwiMLAPPのアプリケーションSIDからステータスを取得
$application = $client->account->applications->get('AP◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯◯');

// TwiMLAPPのステータスを更新
$application->update(array(
	'VoiceUrl' => 'http://example.com/hogehoge.xml', 
	'FriendlyName' => 'changeTwiMLAPP-Status'
	));

12行目で該当のTwiMLAPPのステータスを取得
アプリケーションSIDの確認は、管理コンソールにログインして、上部の「ツール」→「TWIMLAPP」にアクセス。
該当のTWIMLAPPのフレンドリーネームをクリックして、確認可能。

15行目で12行目で取得したTwiMLAPPのステータスを持って、TwiMLAPPのステータス更新を開始。
ここでは、VoiceUrlとFriendlyNameを更新。

上記のupdate.phpをブラウザでアクセスもしくはPHPコマンドで実行すると更新できる。
実際に更新されているかどうかは管理コンソールにログインしてTWIMLAPPを確認。

参考文献

・Twilio Clientの概要:https://jp.twilio.com/docs/api/client
・パソコンのブラウザで電話の発着信を?Twilio Clientで実現できます(TwiMLAPPS – REST):https://www.youtube.com/watch?v=cME1qebjqJ0

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク