「Twilioを使って電話Webアプリケーションを構築しよう」の第5回目の記事は、TwiMLを使って電話をかけたログを取得します。
前回の記事でTwiMLの<Dial>を使い、電話を発信しました。この通話にaction属性を追加し、ログを取得します。
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
手順
- 第4回目で作成した、「twilio_respons.php」を開き、<Dial>にaction属性を追加します
- echo '<Dial timeout="20" callerId="+815031353932"';
- echo 'action="twilio_call_end.php">';
- echo $tocallno.'</Dial>';
actionには、通話終了後に呼び出されるPHPファイルを指定します。
- 「twilio_call_end.php」を作成します。
- <?php
- // ログはPOSTから下記のパラメータで取得できる
- $_POST["DialCallSid"]; // 通話時に発行されるID
- $_POST["DialCallStatus"]; // ステータス
- $_POST["DialCallDuration"]; // 通話時間
- /* ログデータ準備 */
- $log_data = 'Call_Sid='.$_POST["DialCallSid"]."\n";
- $log_data .= 'DialCallStatus='.$_POST["DialCallStatus"]."\n";
- $log_data .= 'AccountSid='.$_POST["AccountSid"]."\n";
- $log_data .= 'CallDuration='.$_POST["DialCallDuration"]."\n";
- $log_data .= '----------終了-------------'."\n\n";
- /* ログデータをファイルに保存 */
- $fp = fopen('./filename.txt', 'ab');
- if ($fp){
- fwrite($fp, $log_data);}
- fclose($fp);
以上で、通話時のログを保存することができます。
ログデータは、http(外部)からアクセスできない、階層に設置を行うか、.htaccessなどでアクセス制限を行うことを忘れずにしましょう。
次回はTwiMLで取得できないログをREST APIを使って発信先の電話番号の取得を行います。
[特集] Twilioを使って電話Webアプリケーションを構築しよう
ソースコード
ソースコードは、GitHubに公開いたしました。