来电拨打SugarCRM里面的Popup?

时间:2014-01-21 02:44:22

标签: sugarcrm

您好我正在尝试创建一个模块,当我们接到电话时会在SugarCRM内部创建一个弹出窗口。我已经看到其他一些已经完成了这个(昂贵的付费模块),我希望能够对实际的弹出触发部分有所了解....

我们的电话系统有一个API,当我们有来电时,它会向网址发送HTTP帖子。

在SugarCRM内部,在我的模块代码中,我不知道如何从我的手机上使用这个HTTP POST来做弹出窗口,原因是我看不出它如何足够快,如果我要设置每1分钟检查一次页面的Cron作业,这仍然太慢。

那么有没有人知道其他类似的手机集成模块是如何做到这一点的,并且随着电话的进入,Popup几乎立刻就会发生?

关于如何完成这项任务的任何想法?我打算做一个桌面应用程序,它只是放在托盘中并等待POST,但看到其他人能够在SugarCRM中获得相同的结果而没有单独的程序真的让我感兴趣。

1 个答案:

答案 0 :(得分:1)

我在一家公司工作,创建了一个昂贵的付费模块来完成这项工作,但我可以提供两种方法来实现这一点; - )

1)使用GenericHook 在custom / modules中创建一个logic_hooks.php和一个YOURCHOICEHERE.php

在逻辑钩子中创建一个after ui hook

$hook_array['after_ui_frame'] = Array();
$hook_array['after_ui_frame'][] = Array(1, 'Display Javascript for Telephone','custom/modules/YOURCHOICEHERE.php','GenericHooks', 'displayTelephoneJS');

并在YOURCHOICEHERE.php

class GenericHooks {

    function displayTelephoneJS() {     

        if(!$_REQUEST['to_pdf']) echo '<div id=\"telephone_div\"></div>
        <script type=\"text/javascript\" src=\"custom/somewherewhereyouwant/Telephone.js\"/></script>';
        // you yould also add a stylesheet here


    }
}
在Telephone.js中你可以做任何你想要的事情,例如:

function Telephone_poll() { 

$.post("some.php?poll=1,function(data){
    if(data != 0)
    {
        var result= JSON.parse(data);

        //HERE you can do manipulate your telephone_div and populate it with response data "result" from the call to some.php 
        $('#telephone_div').html("<span>HELLO<span>");
        $('#telephone_div').show();
        //Here you can also add styles and so on
    }
    setTimeout("Telephone_poll()", 1000);   //restart the function every 1000ms
});

}
Telephone_poll(); //initial start of script

2)另一种方法是从重新运行自己的php文件创建恶魔/服务。 在这里,您需要一些方法来识别用户和电话,以确保为正确的用户/电话显示弹出窗口。