Twilioを利用する必要が出たので、ドキュメントを見ながらAPIなどを確認中
いろいろ機能はあるけど、まずは基本の部分を見てみる。
LINEボットなどと同様にTwilioのconsoleから着信時にHTTPのWebhookを設定できるので、サーバーにおいてもいいけど、ngrokが楽だよとドキュメントにもあるので、利用してみる。
ngrokにアカウント登録して、実行するとngrok.ioのサブドメインへのアクセスを実行してるローカルマシンの8000にフォワードしてくれる。
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account droid (Plan: Free) Version 2.3.35 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://704be30b.ngrok.io -> http://localhost:8000 Forwarding https://704be30b.ngrok.io -> http://localhost:8000
なので、上記でいう「http://704be30b.ngrok.io」を公開URLとして、
Twilioのコンソールで
http://704be30b.ngrok.io/callback.php
を「Programmable Voice」の「受電したい番号」から「A CALL COMES IN」のWebhookURLを設定
?php // パラメータが見たいだけなので、TwilioSDKは今回不要 error_log(print_r($_REQUEST, true));
上記に加えて受信スクリプトを配置した場所で実行して、Twilioの番号に電話をかける
RC211v:app dp$ php -S localhost:8000 PHP 7.3.5 Development Server started at Fri Jan 24 12:53:18 2020 Listening on http://localhost:8000 Document root is /Users/dp/projects/twilio/app Press Ctrl-C to quit. [Fri Jan 24 12:54:13 2020] [::1]:62430 [200]: /callback.php [Fri Jan 24 12:56:26 2020] Array ( [Called] => +125647****Twilioで取得した受電番号 [ToState] => AL [CallerCountry] => JP [Direction] => inbound [CallerState] => [ToZip] => 35739 [CallSid] => CA7f52ed3ec************************ [To] => +125647****Twilioで取得した受電番号 [CallerZip] => [ToCountry] => US [ApiVersion] => 2010-04-01 [CalledZip] => 35739 [CalledCity] => ELKMONT [CallStatus] => ringing [From] => +81801234発信者番号 [AccountSid] => AC31a5****************************** [CalledCountry] => US [CallerCity] => [Caller] => +81801234発信者番号 [FromCountry] => JP [ToCity] => ELKMONT [FromCity] => [CalledState] => AL [FromZip] => [FromState] => )
カンファレンスなどでFromを判定したりするには、$_REQUESTのformなどを元にすればいいということか。
–>