当使用Twilio REST API拉in-progress
调用列表时,我遇到了双重记录问题。下面是我想要的工作流程。
- 呼叫方拨打客户端号码。检查
- 来电者将听到欢迎留言,并进入呼叫队列。检查
- 操作员在仪表板上看到队列中的呼叫者。<<strong> 问题/em>
- 话务员选择与主叫通话。检查
- 呼叫被桥接。检查
我的问题是,当我查询所有正在进行的呼叫时,我得到了双重记录。
- 当呼叫者被放入队列中时,一条记录显示,这个记录在
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的端过滤它,如果可能的话。
Twilio Developer Evangelist here.
你可以在Twilio的API请求中只过滤传入或传出呼叫。如果您将direction
参数添加到getIterator
呼叫中,那么您应该能够在日志中只获得传入呼叫,而不是向座席发出呼叫:
foreach($client->account->calls->getIterator(0,50,array("Status" => "in-progress", "Direction" => "inbound")) as $call):
您获得多个条目的原因是因为您呼叫的每个人(在本例中称为代理和客户)被Twilio计算为呼叫的单个分支。