要在SugarCRM内弹出的来电?

要在SugarCRM内弹出的来电?,sugarcrm,Sugarcrm,你好,我正在尝试制作一个模块,当我们接到一个电话时,它会在SugarCRM内部弹出一个窗口。我已经看到一些其他人已经完成了这项工作(昂贵的付费模块),我希望能够对实际的弹出触发部分有所了解 我们的电话系统有一个API,当我们接到来电时,它会向URL发送HTTP post 在SugarCRM内部,在我的模块代码中,我不确定如何使用手机上的这个HTTP POST来进行弹出,原因是我看不到它如何足够快,如果我将Cron作业设置为每1分钟检查一个页面,那仍然太慢 那么,有没有人知道其他类似的手机集成模块

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

我们的电话系统有一个API,当我们接到来电时,它会向URL发送HTTP post

在SugarCRM内部,在我的模块代码中,我不确定如何使用手机上的这个HTTP POST来进行弹出,原因是我看不到它如何足够快,如果我将Cron作业设置为每1分钟检查一个页面,那仍然太慢

那么,有没有人知道其他类似的手机集成模块是如何做到这一点的,并且在接到电话时几乎立即弹出窗口


关于如何完成这样的任务有什么想法吗?我正计划做一个桌面应用程序,它只是坐在托盘中等待帖子,但看到其他人在SugarCRM中没有单独的程序也能得到同样的结果,我真的很感兴趣。

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

1) 用通用笔记本 在custom/modules中创建一个logic_hooks.php和一个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


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

$hook_array['after_ui_frame'] = Array();
$hook_array['after_ui_frame'][] = Array(1, 'Display Javascript for Telephone','custom/modules/YOURCHOICEHERE.php','GenericHooks', 'displayTelephoneJS');
在yourchoice here.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


    }
}
class通用图书{
函数displayTelephoneJS(){
如果(!$_请求['to_pdf'])回显'
';
//您还需要在此处添加样式表
}
}
在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
功能电话\u poll(){
$.post(“some.php?poll=1,函数(数据){
如果(数据!=0)
{
var result=JSON.parse(数据);
//在这里,您可以操作电话div,并使用some.php调用的响应数据“result”填充它
$('#telephone_div').html(“你好”);
$('电话部').show();
//在这里,您还可以添加样式等
}
setTimeout(“Telephone_poll()”,1000);//每1000毫秒重新启动一次函数
});
}
电话_poll();//脚本的初始启动
2) 另一种方法是从重新运行自身的php文件创建demon/service。
在这里,您需要一些方法来识别用户和电话,以确保弹出窗口显示的是正确的用户/电话。

谢谢您的想法。我最初的做法非常相似。因此,我使用了After UI挂钩来插入我的CS和JS文件……但是我运行的是使用WebSocket的JS。因此,我使用的是pusher.com fo提供的服务r我的WebSocket…到目前为止,它工作得很好,当我接到一个电话时,它最多在几秒钟内弹出!你关于守护进程的想法很有趣,我想了解更多关于这方面的信息,因为我讨厌依赖第三方网站来创建我们的WebSocket。你的第一种方法似乎对性能没有那么好,因为它似乎可以保持polli每x秒刷新一次脚本。我以前做过一些不好的经历,因为它有时会占用带宽。