「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に公開いたしました。