2015-08-17 4 views
1

Я тестирую API Twilio на PHP. В настоящее время у меня есть рабочий модуль, который позволяет мне размещать звонки и записывать их. Теперь я пишу модуль для сообщения об этих вызовах.Twilio API, получающий запись вызова

Приведенный ниже код должен получить отфильтрованный список вызовов и представить мой браузер с небольшой информацией об этом вызове, а также ссылку на запись звука. Этот скрипт извлекает журналы вызовов. Для каждого вызова он вызывает функцию для извлечения записи, принадлежащей текущему вызову. Проблема заключается в том, что каждый раз он извлекает одну и ту же звуковую запись.

$version = '2010-04-01'; 

    // Set our AccountSid and AuthToken 
    $sid = 'abc123'; 
    $token = 'fbc123'; 

    // Your Account Sid and Auth Token from twilio.com/user/account 
    $client = new Services_Twilio($sid, $token,$version); 
    $dt = date("Y-m-d"); 
    // Loop over the list of calls and echo a property for each one 
    foreach ($client->account->calls->getIterator(0, 50, array(
      "Status" => "completed", 
      "StartTime>" => "2015-08-04", 
      "StartTime<" => "$dt" 


     )) as $call 
    ) { 
     echo $call->sid.", ".$call->duration.", $".abs($call->price)." &nbsp; ".getRecording($call->sid)."<br/>"; 


    } 

    function getRecording($callsid){ 

     // Twilio REST API version 
     $version = '2010-04-01'; 

     // Set our AccountSid and AuthToken 
     $sid = 'abc123'; 
     $token = 'fbc123'; 
     $client = new Services_Twilio($sid, $token); 

     // Loop over the list of recordings and echo a property for each one 
     foreach ($client->account->recordings->getIterator(0, 50, array(
       "callSid" => '$callsid' 
      )) as $recording 
     ) { 
      return "&nbsp; &nbsp; ->".$callsid." <strong><a href='http://api.twilio.com".$recording->uri."'>Audio</a></strong>"; 
     } 
    } 

Выход это (пожалуйста, обратите внимание, что каждый звуковой файл имеет тот же URL):

CAab40cacf1690a86e604ba0f527153887, 1, $0.015 &nbsp; &nbsp; &nbsp; ->CAab40cacf1690a86e604ba0f527153887 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CAaf5629839a6d2095067a04359dc13809, 14, $0.015 &nbsp; &nbsp; &nbsp; ->CAaf5629839a6d2095067a04359dc13809 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CAa8610e49f6e49a71c8bf3e02d3e974f1, 11, $0.015 &nbsp; &nbsp; &nbsp; ->CAa8610e49f6e49a71c8bf3e02d3e974f1 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CA478704a99883f919a9932b52c6971cf7, 21, $0.015 &nbsp; &nbsp; &nbsp; ->CA478704a99883f919a9932b52c6971cf7 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CA00b2f9db896e3b8cfc82c93df5c8e11e, 9, $0.015 &nbsp; &nbsp; &nbsp; ->CA00b2f9db896e3b8cfc82c93df5c8e11e <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CAcbd21d8dd3de1c06ce1f393c987bc6c7, 19, $0.015 &nbsp; &nbsp; &nbsp; ->CAcbd21d8dd3de1c06ce1f393c987bc6c7 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CAffb1d60f5f48b870af65329d7d4ca48f, 4, $0.015 &nbsp; &nbsp; &nbsp; ->CAffb1d60f5f48b870af65329d7d4ca48f <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 
CA44fd1b5b9ef347f730d068abafffbd73, 15, $0.015 &nbsp; &nbsp; &nbsp; ->CA44fd1b5b9ef347f730d068abafffbd73 <strong><a href='http://api.twilio.com/2010-04-01/Accounts/acctnumber/Recordings/REe9a199dec7376ef94d6af256749e7d81'>Audio</a></strong> 

ответ

2

Twilio разработчик евангелист здесь.

parameters для запросов чувствительны к регистру, поэтому для их использования необходимо использовать c в callSid. Кроме того, обертка строки в одинарных кавычках не заменяет ее.

foreach ($client->account->recordings->getIterator(0, 50, array(
       "callSid" => '$callsid' 

в

foreach ($client->account->recordings->getIterator(0, 50, array(
       "CallSid" => $callsid 

Пожалуйста, дайте мне знать, если я могу помочь дальше!

Редактирование: Чтобы уточнить, что происходит, был сделан запрос на получение всех записей в учетной записи, поскольку параметр запроса был выключен, и каждый раз, когда он принимал первую коллекцию и возвращал ее. Таким образом, их все одинаково.

+0

Спасибо, сэр. Ты сделал это. – GRY

+0

Какую версию API вы используете @GRY? Когда я пытаюсь выполнить свой код, у меня есть «Неустранимая ошибка: вызов неопределенного метода Twilio \ Rest \ Api \ V2010 \ Account \ RecordingList :: getIterator()' Спасибо – BoCyrill

Смежные вопросы