SlideShare a Scribd company logo
1 of 7
Download to read offline
自己紹介
畠中晃弘
• 株式会社クエステトラ 取締役CTO
• 業務プロセスを管理するサービスを提供
http://www.questetra.com/ja/
• 使ってきた言語は、基本 Java
– ですが、今日は PHP
Twilio ヘルパーライブラリ
• TwiML の出力を楽にしてくれる

• 「電話をかける」「SMS を送信する」などの
REST API 呼び出しを楽にしてくれる
• PHP / Java / Ruby いろいろ
• PHP 版のドキュメント
http://twilio-php.readthedocs.org/en/latest/
• 今日のサンプル
https://gist.github.com/hatanaka-akihiro
/var/www/html/hatanaka 以下にも置いています
この2つは同じ(ほぼ)
<?php
header('Content-Type: text/xml; charset=UTF-8');
?>
<Response>
<Say language=“ja-jp”>こんにちは</Say>
</Response>

hello1.php

<?php
require '../vendor/autoload.php';

hello2.php

$xml = new Services_Twilio_Twiml();
$xml->say('こんにちは', array('language' => 'ja-jp'));
header('Content-Type: text/xml; charset=UTF-8');
echo $xml;

どのような TwiML を出力したいか整理できれば、
それをプログラムにするのは簡単
発信者の情報を取得する
<?php
require '../vendor/autoload.php';

caller.php

$From = $_REQUEST['From'];
$xml = new Services_Twilio_Twiml();
$text = <<<EOT
こんにちは $From さん
EOT;
$xml->say($text, array('language' => 'ja-jp'));

実際にやってみたら、
ちょっと変だけどね

header('Content-Type: text/xml; charset=UTF-8');
echo $xml;

https://jp.twilio.com/docs/api/twiml/twilio_request
プッシュ入力の収集
<?xml version="1.0" encoding="UTF-8"?>
ivr.xml
<Response>
<Gather timeout=“10” numDigits=“1” action=“http://158.199.192.79/hatanaka/ ivr_response.php">
<Say language="ja-jp">数字を押してください。</Say>
</Gather>
</Response>

<?php
require '../vendor/autoload.php';
$Digits = (integer)$_REQUEST['Digits'];

プッシュ入力があると、
下のプログラムが
呼ばれるように
action の URL を設定

$xml = new Services_Twilio_Twiml();
$text = <<<EOT
こんにちは。$Digits を押しましたね。
EOT;
$xml->say($text, array('language' => 'ja-jp'));
header('Content-Type: text/xml; charset=UTF-8');
echo $xml;

ivr_response.php

https://jp.twilio.com/docs/api/twiml/gather
電話をかける(架電する)
<?php
require '../vendor/autoload.php';

call.php

https://jp.twilio.com/docs/ap
i/rest/making-calls

$AccountSid = ‘xxxxxxxx';
$AuthToken = ‘xxxxxxxx';
$client
= new Services_Twilio($AccountSid,
$AuthToken);
$From = '+81xxxxxxxx';
$To = '+81xxxxxxxxx';
$call = $client->account->calls->create($From,
$To,
'http://158.199.192.79/hatanaka/ivr.xml',
array());
?>
<html>
<body>
電話をかけました。
</body>
</html>

$client->account->calls>create()
• 発信元電話番号
• 通話先
• つながった時の処理内容
(TwiML) を返すURL
• その他のオプション

こちらから電話をかけるが、
つながった後の処理は着電の場合と同じ
転送する&録音する
<?php
require '../vendor/autoload.php';

transfer.php

$xml = new Services_Twilio_Twiml();
$xml->say('しばらくお待ち下さい。', array('language' => 'ja-jp'));
$xml->dial('+81xxxxxxxx', array(
'callerId' => '+81xxxxxxxx',
'record' => 'true',
'action' => 'http://158.199.192.79/hatanaka/record.php'
));
header('Content-Type: text/xml; charset=UTF-8');
echo $xml;

通話が完了すると、
指定の URL に
POSTリクエスト
録音のある URL と共に

<?php
$url = $_REQUEST['RecordingUrl'];
//mail(‘xxxx@xxxxxxxx', 'RecordingUrl', $url);

record.php

More Related Content

Viewers also liked

TwilioコールセンターアプリRuna-CCA紹介
TwilioコールセンターアプリRuna-CCA紹介TwilioコールセンターアプリRuna-CCA紹介
TwilioコールセンターアプリRuna-CCA紹介Naoki Ishimitsu
 
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!Masaya Fujita
 
Twilio Japan Summit 2014 presentation
Twilio Japan Summit 2014 presentationTwilio Japan Summit 2014 presentation
Twilio Japan Summit 2014 presentationNoriyuki Koide
 
Twilioが動いているところを見てみよう(仮)
Twilioが動いているところを見てみよう(仮)Twilioが動いているところを見てみよう(仮)
Twilioが動いているところを見てみよう(仮)Sakae Saito
 
今日からでもできる!とある企業のtwilio活用方法
今日からでもできる!とある企業のtwilio活用方法今日からでもできる!とある企業のtwilio活用方法
今日からでもできる!とある企業のtwilio活用方法Yoshimasa Yaguma
 
電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体Kiminari Homma
 
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみようTwilio API を PHP で触ってみよう
Twilio API を PHP で触ってみようMasashi Shinbara
 
Building Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact CentersBuilding Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact CentersTwilio Inc
 

Viewers also liked (8)

TwilioコールセンターアプリRuna-CCA紹介
TwilioコールセンターアプリRuna-CCA紹介TwilioコールセンターアプリRuna-CCA紹介
TwilioコールセンターアプリRuna-CCA紹介
 
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
 
Twilio Japan Summit 2014 presentation
Twilio Japan Summit 2014 presentationTwilio Japan Summit 2014 presentation
Twilio Japan Summit 2014 presentation
 
Twilioが動いているところを見てみよう(仮)
Twilioが動いているところを見てみよう(仮)Twilioが動いているところを見てみよう(仮)
Twilioが動いているところを見てみよう(仮)
 
今日からでもできる!とある企業のtwilio活用方法
今日からでもできる!とある企業のtwilio活用方法今日からでもできる!とある企業のtwilio活用方法
今日からでもできる!とある企業のtwilio活用方法
 
電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体電話とは何か、そして Twilio の正体
電話とは何か、そして Twilio の正体
 
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみようTwilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
 
Building Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact CentersBuilding Blocks for Next Generation Contact Centers
Building Blocks for Next Generation Contact Centers
 

More from Akihiro HATANAKA

Deep Neural Network の教師なし学習 (MIJS 分科会資料)
Deep Neural Network の教師なし学習 (MIJS 分科会資料)Deep Neural Network の教師なし学習 (MIJS 分科会資料)
Deep Neural Network の教師なし学習 (MIJS 分科会資料)Akihiro HATANAKA
 
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)Akihiro HATANAKA
 
強化学習とは (MIJS 分科会資料 2016/10/11)
強化学習とは (MIJS 分科会資料 2016/10/11)強化学習とは (MIJS 分科会資料 2016/10/11)
強化学習とは (MIJS 分科会資料 2016/10/11)Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11Akihiro HATANAKA
 
二要素認証を実現する
二要素認証を実現する二要素認証を実現する
二要素認証を実現するAkihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09Akihiro HATANAKA
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15Akihiro HATANAKA
 

More from Akihiro HATANAKA (20)

Deep Neural Network の教師なし学習 (MIJS 分科会資料)
Deep Neural Network の教師なし学習 (MIJS 分科会資料)Deep Neural Network の教師なし学習 (MIJS 分科会資料)
Deep Neural Network の教師なし学習 (MIJS 分科会資料)
 
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)
AlphaGo の論文を読んで (MIJS 分科会資料 2016/11/08)
 
強化学習とは (MIJS 分科会資料 2016/10/11)
強化学習とは (MIJS 分科会資料 2016/10/11)強化学習とは (MIJS 分科会資料 2016/10/11)
強化学習とは (MIJS 分科会資料 2016/10/11)
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/09/14
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/06/15
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/05/11
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/03/09
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2016/02/10
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/25
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/11/11
 
二要素認証を実現する
二要素認証を実現する二要素認証を実現する
二要素認証を実現する
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/10/14
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/09/09
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/07/15
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/06/10
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 2015/05/12
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/03/11
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その2 2015/02/09
 
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15
Questetra ハンズオンセミナー ビギナー向け業務プロセス設計 その1 2015/01/15
 

Twilio API 勉強会 @京都 2014/02/14

  • 1. 自己紹介 畠中晃弘 • 株式会社クエステトラ 取締役CTO • 業務プロセスを管理するサービスを提供 http://www.questetra.com/ja/ • 使ってきた言語は、基本 Java – ですが、今日は PHP
  • 2. Twilio ヘルパーライブラリ • TwiML の出力を楽にしてくれる • 「電話をかける」「SMS を送信する」などの REST API 呼び出しを楽にしてくれる • PHP / Java / Ruby いろいろ • PHP 版のドキュメント http://twilio-php.readthedocs.org/en/latest/ • 今日のサンプル https://gist.github.com/hatanaka-akihiro /var/www/html/hatanaka 以下にも置いています
  • 3. この2つは同じ(ほぼ) <?php header('Content-Type: text/xml; charset=UTF-8'); ?> <Response> <Say language=“ja-jp”>こんにちは</Say> </Response> hello1.php <?php require '../vendor/autoload.php'; hello2.php $xml = new Services_Twilio_Twiml(); $xml->say('こんにちは', array('language' => 'ja-jp')); header('Content-Type: text/xml; charset=UTF-8'); echo $xml; どのような TwiML を出力したいか整理できれば、 それをプログラムにするのは簡単
  • 4. 発信者の情報を取得する <?php require '../vendor/autoload.php'; caller.php $From = $_REQUEST['From']; $xml = new Services_Twilio_Twiml(); $text = <<<EOT こんにちは $From さん EOT; $xml->say($text, array('language' => 'ja-jp')); 実際にやってみたら、 ちょっと変だけどね header('Content-Type: text/xml; charset=UTF-8'); echo $xml; https://jp.twilio.com/docs/api/twiml/twilio_request
  • 5. プッシュ入力の収集 <?xml version="1.0" encoding="UTF-8"?> ivr.xml <Response> <Gather timeout=“10” numDigits=“1” action=“http://158.199.192.79/hatanaka/ ivr_response.php"> <Say language="ja-jp">数字を押してください。</Say> </Gather> </Response> <?php require '../vendor/autoload.php'; $Digits = (integer)$_REQUEST['Digits']; プッシュ入力があると、 下のプログラムが 呼ばれるように action の URL を設定 $xml = new Services_Twilio_Twiml(); $text = <<<EOT こんにちは。$Digits を押しましたね。 EOT; $xml->say($text, array('language' => 'ja-jp')); header('Content-Type: text/xml; charset=UTF-8'); echo $xml; ivr_response.php https://jp.twilio.com/docs/api/twiml/gather
  • 6. 電話をかける(架電する) <?php require '../vendor/autoload.php'; call.php https://jp.twilio.com/docs/ap i/rest/making-calls $AccountSid = ‘xxxxxxxx'; $AuthToken = ‘xxxxxxxx'; $client = new Services_Twilio($AccountSid, $AuthToken); $From = '+81xxxxxxxx'; $To = '+81xxxxxxxxx'; $call = $client->account->calls->create($From, $To, 'http://158.199.192.79/hatanaka/ivr.xml', array()); ?> <html> <body> 電話をかけました。 </body> </html> $client->account->calls>create() • 発信元電話番号 • 通話先 • つながった時の処理内容 (TwiML) を返すURL • その他のオプション こちらから電話をかけるが、 つながった後の処理は着電の場合と同じ
  • 7. 転送する&録音する <?php require '../vendor/autoload.php'; transfer.php $xml = new Services_Twilio_Twiml(); $xml->say('しばらくお待ち下さい。', array('language' => 'ja-jp')); $xml->dial('+81xxxxxxxx', array( 'callerId' => '+81xxxxxxxx', 'record' => 'true', 'action' => 'http://158.199.192.79/hatanaka/record.php' )); header('Content-Type: text/xml; charset=UTF-8'); echo $xml; 通話が完了すると、 指定の URL に POSTリクエスト 録音のある URL と共に <?php $url = $_REQUEST['RecordingUrl']; //mail(‘xxxx@xxxxxxxx', 'RecordingUrl', $url); record.php