Twilioで押されたプッシュボタンに応じてURLをSMSで送信する
ナビダイヤルのような電話自動通話案内で、押されたボタンに応じてWebページのURLをSMSで送信するデモをサンプルコードを元に動かしてみました。
待受用のTwiml
1 2 3 4 5 6 7 8 9 10 11 |
<xml version="1.0" encoding="UTF-8"> <Response> <Gather action="sendMessage.php" method="POST"> <Say language="ja-jp" voice="alice"> XXXXXXへお電話いただきましてありがとうございます。 グーグルのかたは、1、を。 ヤフーのかたは、2、を。 ビングのかたは、3、のプッシュボタンを押してください。 </Say> </Gather> </Response> |
GatherタグのactionでSMSを送信するPHPを指定しています。
これによりボタンが押された後は指定したPHPへ処理が移ります。
SMSを送信するPHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<php $to = $_POST['From']; $gather = $_POST['Digits']; $account_sid = ' $auth_token = ' require_once('twilio-php-master/Services/Twilio.php'); $client = new Services_Twilio( $account_sid, $auth_token ); $from = "+10000000000"; if ($gather == "1") { $message = "www.google.co.jp"; } elseif ($gather == "2") { $message = "www.yahoo.co.jp"; } elseif ($gather == "3") { $message = "www.bing.com"; } else { $message = "押したボタンは".$gather."です。ご案内はありません。"; } try { $client->account->messages->sendMessage($from,$to,$message); } catch(Exception $e) { echo $e->getMessage(); } > <Response> <Say language="ja-jp" voice="alice"> お問い合わせのページをご案内しました。 電話をお切りになって、ショートメッセージの受信をお待ちください。 </Say> </Response> |
TwimlのGatherタグでmethodはPOSTを指定していたので、$_POST[‘From’]でかけてきた電話番号を、$_POST[‘Digits’]で押された番号を取得します。
account_sidとauth_tokenはTwilioのWebページを確認します。
TwilioのPHPライブラリをダウンロードして展開して使用します。
Fromの電話番号はSMSが使用出来るものを購入して使います。
(2015年10月現在では日本の番号ではSMSが使用出来ないようです。)
最後にSMSを送信し終わったら案内用のTwimlを記述します。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー2年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Twilio APIでOpenWeatherMap APIで取得した天気情報を毎朝モーニングコールする
OpenWeatherMap APIのJsonから取得した気温と天気の情報を、T …