LoginSignup
8
9

More than 5 years have passed since last update.

Twilioなら通話ログの取得も簡単です。独自の通話ログ管理も手軽!

Posted at

今回はTwilioを使って行った通話のログを取得してみたいと思います。
TwilioはRESTful APIで提供していて、今まで紹介して来た通話に関する処理はもちろんのこと、
そのコール(通話)のログも簡単に管理できます。

もちろん、ダッシュボードでも確認できます。
・Twilio管理画面ログイン → トップメニューの「ログ」をクリック

さてさて!API経由ですともっといろんな情報を取得する事が可能です!

まず、今回の紹介内容はTwilioのPHPライブラリーを使います。
PHPライブラリーについては前回投稿した記事をご覧ください。
http://qiita.com/joohounsong/items/f516f4e1f6c91572e7f5

こちらのソースコードや説明はTwilio公式ドキュメントにも公開しています。
https://jp.twilio.com/docs

日付指定

call-log-completed.php
<?php
    require('Services/Twilio.php');

    $sid = "Twilio account SID";
    $token = "Twilio account Auth Token";
    $client = new Services_Twilio($sid, $token);

    foreach ($client->account->calls->getIterator(0, 50, array(
        "Status" => "completed",
        "StartTime" => "2013-05-23"
        )) as $call
    ) {
        echo $call->sid."<br>".$call->from."<br>";
      }

上のコードですと。
通話開始が「2013年5月23日」で、通話成功したコール(通話)データを取得します。

日付(期間)指定

call-log-date.php
<?php
    require('Services/Twilio.php');

    $sid = "Twilio account SID";
    $token = "Twilio account Auth Token";
    $client = new Services_Twilio($sid, $token);

    foreach ($client->account->calls->getIterator(0, 50, array(
        "Status" => "completed",
        "StartTime>" => "2013-05-01",
        "StartTime<" => "2013-05-10"
        )) as $call
    ) {
        echo $call->sid;
    }

上のコードですと。
期間を設定して、期間の間のログを取得することも可能です。

即時取得

call-log-response.php
<?php
    require("Services/Twilio.php");

    $response = new Services_Twilio();
    $to = $_POST["To"];
    $from = $_POST["From"];
    $callSid = $_POST["CallSid"];
    $callStatus = $_POST["CallStatus"];

このようにPOSTはもちろん、GETでも取得することが可能です。
これらのパラメーターは actionの設定が可能な動詞もしくはStatus Callback URLが設定されていると指定されているURLに自動的に送るようになっています。

例えば、下のように Dial動詞の actionに上のファイルのURLを設定すると。
Dial動詞が終了した後、自動的にすぐログデータを渡します。

dial.xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Dial callerId="+8150xxxxyyyy" action="call-log-response.php">+8180xxxxyyyy</Dial>
</Response>

Twilioのコールログに関しては下記のページで詳しく説明していますので、こちらもご覧ください。
https://jp.twilio.com/docs/api/rest/call

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9