将第三方系统与astercc集成

将CRM或者OA系统与呼叫中心结合在一起,能够更好的发挥功效,提高系统竞争力

这里将以基于B/S的WEB应用为例,介绍如何将asterCC呼叫中心系统与第三方系统进行快速集成

目的 坐席分机呼入或呼出时弹屏

从使用模式上来说,asterCC支持内嵌式和独立式两种集成模式

内嵌式系统指坐席需要登陆asterCC系统, 而独立式则指坐席登陆第三方系统, 感受不到任何与asterCC相关的内容1)

工作台

对于B/S式的系统,从开发角度来说,分为跨域和同域两种

内嵌式同域集成

内嵌式同域指

  1. 坐席通过asterCC界面登陆
  2. 起始页面和asterCC在同一个域名下,例如都在asterCC的服务器上
  • 首先我们准备两个文件,分别为sample.html和popup.html(源码见底部),用于代表接受事件的页面和弹屏页面,并将文件上传到asterCC的服务器上,路径为/var/www/html/asterCC/app/webroot
  • 其次我们需要将sample.html设置为默认页面,这里我们借用外呼营销模块
    • 进入 呼叫中心高级管理链接管理,添加一个链接,链接类型选择 拨号计划链接, 链接地址输入sample.html
    • 进入 外呼营销外呼营销任务,添加一个外呼营销任务,工作链接选择sample.html
    • 进入呼入应用绑定,将该营销任务设定为默认呼入弹屏
    • 进入坐席组管理,将该营销任务设定为默认呼出弹屏

  • 使用坐席登陆,使用软电话外呼,获得弹屏
  • 可以看到新弹出的页面通过url获取到了参数

sample.html

<!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>
popup.html
<!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>

1) 管理员仍然需要登陆asterCC进行系统设置
zh/二次开发者指南/如何将第三方系统与astercc集成.txt · 最后更改: 2017/12/12 11:05 (外部编辑)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki