我需要一些帮助。
我一直在阅读这个API Twilio,因为必须解决一些我没做过的代码。
它正在使用PHP的页面来打电话给客户。有一个进程经常运行并检查日志或cvs并使用信息Twilio在数据库中插入记录。
理想情况下,如果在拨出电话结束时,可以知道该呼叫的唯一ID,并将其与一些评论一起保存。
如何获取客户端呼叫的参数?还是有别的办法? (持续时间,Sid,to等)
我已经读过这篇文章了,但是我还没有读到它
谢谢!
https://www.twilio.com/docs/api/rest/making-calls
https://www.twilio.com/docs/api/rest/call
<?php
require_once('Services/Twilio.php'); // Loads the library
$API_VERSION = '2010-04-01';
$accountSid = 'AC7d3444f83611xxxxxxxxxxxxxxxx';
$authToken = 'd72d5f036e96abexxxxxxxxxxxxxx';
$capability = new Services_Twilio_Capability($accountSid, $authToken);
$capability->allowClientOutgoing('AP29cb5d9e0dcxxxxxxxxxxxxxxxxxx');
$capability->allowClientIncoming('name');
$token = $capability->generateToken();
//error_log("token is $token");
?>
<script type="text/javascript">
Twilio.Device.setup("<?php echo $token; ?>");
function call() {
params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
Twilio.Device.connect(params);
}
function hangup() {
Twilio.Device.disconnectAll();
//Twilio.Device.disconnect();
}
</script>
更新内容时会调用此代码
<script>
$(document).ready(function() {
$('.call_status').change(function()
{
var status = $(this).val();
var rec_val = $(this).parent().find('.rec_val').val();
var pledge_amt = $('#pledge_amt'+rec_val).val();
hangup();
$.ajax({
url: '<?php echo site_url('agent/agent_status/'); ?>',
type: 'post',
data: {'rec_val': rec_val, 'status': status, 'pledge_amt': pledge_amt},
success:function(resp)
{
if(resp)
{
window.location.href="<?php echo site_url('agent/call_leads/'); ?>";
//$('.msg').html("Status Updated Successfully!").fadeOut(5000);
} else
{
alert('Please check your selected data');
}
},
error:function(resp)
{
alert(resp);
}
});
});
jQuery('.status_update').fadeOut(5000);
});
</script>
答案 0 :(得分:0)
Twilio开发者传道者在这里。
当你create the call, you get a connection object时。您在REST API文档中阅读的有关拨打电话的connection object contains all the parameters。您可以通过这种方式获取呼叫SID(它的唯一ID)。在下面的代码中,我使用放置调用时创建的connection
对象来注销调用的参数:
<script type="text/javascript">
Twilio.Device.setup("<?php echo $token; ?>");
function call() {
params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
var connection = Twilio.Device.connect(params);
console.log(connection.parameters);
}
</script>
请告诉我这是否有帮助!
修改强>
要在挂断功能中使用此连接,您需要将连接对象保存在调用函数范围之外。您可以通过将currentConnection
定义为两个函数之外的变量,然后在执行操作时设置和使用它来实现。请参阅下面的更新代码(查看评论以获取更多信息):
<script type="text/javascript">
Twilio.Device.setup("<?php echo $token; ?>");
// define currentConnection here, but don't set it to anything.
var currentConnection = null;
function call() {
params = {"PhoneNumber": $("#number_no").val(), "callerid": $("#callerid").val(), "agent_id": $("#agent_id").val(), "lead_id": $("#lead_id").val()};
// create and set the currentConnection
currentConnection = Twilio.Device.connect(params);
console.log(currentConnection.parameters);
}
function hangup() {
console.log("Do stuff with parameters");
console.log(currentConnection.parameters)
Twilio.Device.disconnectAll();
// reset currentConnection until the next call is made
currentConnection = null;
}
</script>