如何从Twilio获取活动呼叫列表

时间:2013-04-17 01:40:32

标签: php twilio

使用Twilio REST API提取in-progress个调用列表时,我遇到了双重记录问题。以下是我希望工作流程的用法。

  1. 来电者拨打客户的电话号码。 检查
  2. 来电者听到欢迎信息,并被置于通话队列中。 检查
  3. 操作员从仪表板中看到队列中的呼叫者。的 问题
  4. 操作员选择连接到来电者。 检查
  5. 呼叫被桥接。 检查
  6. 我的问题是,当我查询正在进行的所有通话时,我正在获得双重记录。

    • 一旦将呼叫者放入队列,就会显示一条记录, 此记录显示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的末尾过滤它。

1 个答案:

答案 0 :(得分:3)

Twilio开发者传播者在这里。

您可以在对Twilio的API请求中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呼叫的单个分支。