2013-04-17 35 views
4

當使用Twilio REST API提取in-progress調用列表時,我遇到雙記錄問題。以下是我希望工作流程走向的方式。如何從Twilio獲取活動呼叫列表

  1. 來電顯示客戶端號碼。 檢查
  2. 來電者聽到歡迎信息並被放入呼叫隊列。 檢查
  3. 操作員從儀表板看到隊列中的呼叫者。 問題
  4. 運營商選擇連接到呼叫者。 檢查
  5. 呼叫被橋接。 檢查

我的問題是,當我對所有正在進行的調用進行查詢時,我正在獲取雙記錄。

  • 一個記錄,一旦呼叫者被放置在隊列中顯示出來,這 記錄顯示主叫方在from物業數量,並在to財產 Twilio號。
  • 選擇連接呼叫後出現第二條記錄。它 似乎是第一個的副本,但它不顯示 全球Twilio號碼(母號)作爲to屬性,而是 顯示代理的電話號碼。

這裏是我正在拉列表:

<?php foreach($client->account->calls->getIterator(0,50,array("Status" => "in-progress")) as $call): ?> 
    <tr> 
    <td><?=$call->start_time?></td> 
    <td><?=$call->duration?></td> 
    <td><?=$call->from?></td> 
    <td><?=$call->to?></td> 
    <td> 
     <form action="actions/queue.php" method="post"> 
     <input type="hidden" name="caller" value="<?=$call->parent_call_sid?>" /> 
     <input type="submit" value="Return Call to Queue" style="color: #555;" /> 
     </form> 
    </td> 
    </tr> 
<?php endforeach; ?><!-- foreach calls as call --> 

一些額外的事情值得注意。

  • 這有造型的一點點,這樣我可以看到我在做什麼,大多數這些相互作用最終會發生在iPad或桌面軟件。
  • 上述第二條記錄(顯示座席電話號碼的記錄)可以在顯示爲排隊的呼叫列表和顯示爲in-progress的呼叫列表之間移動。它只是第一個記錄(顯示Twilio電話號碼的那個)始終顯示爲in-progress
  • 是的,我可以通過忽略顯示Twilio編號爲to屬性的記錄來過濾記錄,但是我如果可能的話,寧願在Twilio的最後過濾它。

回答

3

Twilio Developer Evangelist here。

您可以在您的API請求Twilio中filter for only incoming or outgoing calls。如果添加direction參數,以此來getIterator叫你應該能夠得到的只是在你的日誌中的來電,而不是呼出要代理:

foreach($client->account->calls->getIterator(0,50,array("Status" => "in-progress", "Direction" => "inbound")) as $call): 

您得到多個條目的原因是因爲每個您打電話的人(在這種情況下也稱爲代理人和客戶)被Twilio計爲個人支付。