差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
zh:二次开发者指南:如何将第三方系统与astercc集成 [2012/06/04 03:29]
solo
zh:二次开发者指南:如何将第三方系统与astercc集成 [2017/12/12 03:05] (当前版本)
行 1: 行 1:
 +====== 将第三方系统与astercc集成 ======
 +
 将CRM或者OA系统与呼叫中心结合在一起,​能够更好的发挥功效,​提高系统竞争力 将CRM或者OA系统与呼叫中心结合在一起,​能够更好的发挥功效,​提高系统竞争力
  
行 4: 行 6:
  
 目的 目的
-  ​实现来电弹屏 +**坐席分机呼入或呼出时弹屏*
-  ​实现点击呼叫+
  
-对于B/​S结构的系统asterCC支持内嵌式和独立式两种集成模式+从使用模式上来说,asterCC支持内嵌式和独立式两种集成模式
  
 内嵌式系统指坐席需要登陆asterCC系统,​ 而独立式则指坐席登陆第三方系统,​ 感受不到任何与asterCC相关的内容(( 管理员仍然需要登陆asterCC进行系统设置)) 内嵌式系统指坐席需要登陆asterCC系统,​ 而独立式则指坐席登陆第三方系统,​ 感受不到任何与asterCC相关的内容(( 管理员仍然需要登陆asterCC进行系统设置))
行 13: 行 14:
 {{:​zh:​二次开发者指南:​workplace.png?​800|工作台}} {{:​zh:​二次开发者指南:​workplace.png?​800|工作台}}
  
-以内嵌集成+对于B/S的系统,从开发角度来说,分跨域和同域两种
  
-  * 首先需要将系统的URL地址增加到asterCC系统中,​以便系统知道调用的地址 +===== 内嵌式同域集成 ===== 
-{{:​zh:​二次开发者南:​add_link.png?​800|添加地址}} +内嵌式同域指 
-  ​asterCC系统支持不同应用弹屏,​即根据不同的条件调用不同的链接,​因此我们还需要添加一个应用,​便于区分 +  ​- 坐席通过asterCC界面登陆 
-{{:​zh:​二次开发者指南:​add_app.png?​800|添加应用}} +  ​起始页面和asterCC在同一域名下,例如都在asterCC的服务器上
-  ​* 在你的系统里找一个起始页面(即默认坐席将打开这页面),​然后页面中添加接受asterCC呼叫事件代码 +
-{{:​zh:​二次开发者指南:​sample.png?​800|}}+
  
-增加的代包括 +  * 首先我们准备两个文件,分别为sample.html和popup.html(源见底部),用于代表接受事件的页面和弹屏页面,并将文件上传到asterCC服务器上,路径为/​var/​www/​html/​asterCC/​app/​webroot 
-  - 定义变量,​包括asterCC服务器地址,​团队ID,当前坐席工号 +  * 其次我们需要将sample.html设置为默认页面,这里我们借用外呼营销模块 
-  - 事件处函数sonAccept+    * 进入 [[zh:​模块使用说明:​呼叫中心高级管理:​]] -> [[zh:​模块使用说明:​呼叫中心高级管理:​链接管理]],​添加一个链接,​链接类型选择 拨号计划链接,​ 链接地址输入sample.html 
 +    * 进入 [[zh:​模块使用说明:​外呼营销]] -> [[zh:​模块使用说明:​外呼营销:​外呼营销任务]],添加一个外呼营销任务,工作链接选择sample.html 
 +    * 进入呼入应用绑定,将该营销任务设定为默认呼入弹屏 
 +    * 进入坐席组管,将该营销任务设定为默认呼出弹屏
  
-添加完毕后使用坐席登陆,​当坐席电话振铃或有其他呼叫动作产生时,sonAccept会被自动调用,并且将事件内容传递到msg变量中+{{:​zh:​二次开发指南:​dev_link_url_add_cn.jpg?​direct&​680|}} 
 +{{:​zh:​二次开发者指南:​dev_campaign_config_cn.jpg?​direct&​680|}} 
 +{{:​zh:​二次开发者指南:​dev_app_bind_cn.jpg?​direct&​680|}} 
 +{{:​zh:​二次开发者指南:​dev_agent_group_config_cn.jpg?​direct&​680|}}
  
-msg变量内容如下+  * 使用坐席登陆,使用软电话外呼,获得弹屏 
 +  * 可以看到新弹出的页面通过url获取到了参数 
 +{{:​zh:​二次开发者指南:​dev_agent_portal_cn.jpg?​direct&​680|}}
  
-calleridnum=041139735857&​didnumber=8008008&​activenum=041139735855&​source=AGENT&​event=ringing&​uniqueid=78969&​sessionid=efeb7b374a3408b0d0954f30a1504d83&​eventTime=2010-01-01 08:21:58&​AgentTeamId=20&​modeltype=Campaign&​model_id=10&​AgentGroupId=100&​calltype=dialout&​channel=Local/​015967121144@hosted-dialout-408a;​1&​from=dialout&+{{:zh:二次开发者指南:​dev_agent_portal_popup_cn.jpg?​direct&680|}}
  
-通过解析msg变量,系统可以获得各种数据,从而做出相应的反应,例如在本页利用ajax显示内容,或者弹出新的标签调用其他页面+sample.html 
 +<​code>​ 
 +<​!DOCTYPE HTML PUBLIC "​-//​W3C//​DTD HTML 4.01 Transitional//​EN"​ "​http://​www.w3.org/​TR/​html4/​loose.dtd">​ 
 +<​html>​ 
 + <​head>​ 
 +  <​title>​ asterCC development sample (local domain)</​title>​ 
 +  <meta name="​Author"​ content="">​ 
 +  <meta name="​Keywords"​ content="">​ 
 +  <meta name="​Description"​ content="">​ 
 +  <meta http-equiv="​Content-Type"​ content="​text/​html;​ charset=UTF-8"​ /> 
 +  <script type="​text/​javascript"​ src="/​js/​jquery/​jquery-1.4.2.min.js"></​script>​ 
 +  <script type="​text/​javascript">​ 
 +  <!-- 
 + var tabflag; 
 + function sonAccept(msgStr){ 
 + var eventAll = msgStr.split('&'​);​ 
 + var aryEvent = new Array(); 
 + for(i=0;​i<​eventAll.length;​i++) { 
 + var tmpstr = eventAll[i].split('​='​);​ 
 + eval("​aryEvent['"​+tmpstr[0]+"'​] = '"​+tmpstr[1]+"';"​);​ 
 +
 + // only popup when event is agent ring 
 + if(aryEvent['​source'​] == '​AGENT'​ && aryEvent['​event'​] == '​ringing'​){ 
 + $('#​ringnum'​).attr('​value',​aryEvent['​calleridnum'​]);​ 
 + var ringtypeval = 2; 
 + if(aryEvent['​calltype'​] == '​dialout'​){ 
 + ringtypeval = 1; 
 +
 + $('#​ringtype'​).attr('​value',​ringtypeval);​ 
 + var popurl = $('#​popurl'​).val()+'?​phone='​+aryEvent['​calleridnum'​]+'&​type='​+ringtypeval;​ 
 + tabflag = "​uc"​+aryEvent['​calleridnum'​]+((new Date()).getTime());​ 
 + // call the main function to popup tab with the url 
 + window.top.addTab(tabflag,​popurl,​aryEvent['​calleridnum'​],"​yes"​);​ 
 + }else{ 
 + window.top.showDiv('​gid'​+tabflag);​ 
 +
 +
 + $().ready(function(){ 
 + $('#​clickpop'​).click(function(){ 
 + var url = $('#​popurl'​).val()+'?​phone='​+$('#​ringnum'​).val()+'&​type='​+$('#​ringtype'​).val();//?​phone=13585306891&​type=2 
 + window.top.addTab("​uc"​+$('#​ringnum'​).val()+((new Date()).getTime()),​url,​$('#​ringnum'​).val(),"​yes"​);​ 
 + });
  
-以弹出新标签显示客户信息为例代码如下+ var str = self.location.href;​ 
 + str = str.replace(/​sample\.html/​,""​);​  
 + document.getElementById("​popurl"​).value= str + '​popup.html';​
  
 + });
 +  //-->
 +  </​script>​
 + </​head>​
 +
 + <​body>​
 + <​div style="​margin:​10px 10px;">​
 + Popup url: <input type="​text"​ value=""​ id="​popurl"​ style="​width:​100%;">​
 + <p />
 + Caller ID: <input type="​text"​ value="​18888888888"​ id="​ringnum"​ style="​width:​100%;">​
 + <p />
 + Type(1 inbound||2 outbound):<​input type="​text"​ value="​2"​ id="​ringtype"​ style="​width:​100%;">​
 + <p />
 + <input type="​button"​ value="​Click Popup" id="​clickpop">​
 + </​div>​
 + </​body>​
 +</​html>​
 +</​code>​
 +popup.html
 <​code>​ <​code>​
-function sonAccept(msg){ + 
-}+<​!DOCTYPE HTML PUBLIC "​-//​W3C//​DTD HTML 4.01 Transitional//​EN"​ "​http://​www.w3.org/​TR/​html4/​loose.dtd">​ 
 +<​html>​ 
 + <​head>​ 
 +  <​title>​ popup page </​title>​ 
 +  <meta name="​Author"​ content="">​ 
 +  <meta name="​Keywords"​ content="">​ 
 +  <meta name="​Description"​ content="">​ 
 + </​head>​ 
 + 
 + <​body>​ 
 + <​br/>​ 
 + <​br/>​ 
 + <​br/>​ 
 + <​br/>​ 
 + <​br/>​ 
 +  hello world, my url is 
 +<script type="​text/​javascript">​ 
 +<!-- 
 + var url = self.location.href;​ 
 + document.write(url)
 +//--> 
 +</​script>​ 
 + 
 + </​body>​ 
 +</​html>​
 </​code>​ </​code>​
zh/二次开发者指南/如何将第三方系统与astercc集成.1338780553.txt.gz · 最后更改: 2017/12/12 03:11 (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki