当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 亚马逊 amazon connect(呼叫中心)

亚马逊 amazon connect(呼叫中心)

2019年03月03日  | 移动技术网IT编程  | 我要评论
背景 公司为提高客服部门沟通效率对接电话呼叫中心,调研后选择了亚马逊的Amazon Connect服务,因为是国外业务没有选择用阿里云,怕有坑。 Amazon Connect后台 需要在后台创建“联系流”,也就是用户接通电话后我们提供的一系列功能选项,比如开始放一段欢迎语音,然后提示用户选择1,2, ...

背景

公司为提高客服部门沟通效率对接电话呼叫中心,调研后选择了亚马逊的amazon connect服务,因为是国外业务没有选择用阿里云,怕有坑。

amazon connect后台

需要在后台创建“联系流”,也就是用户接通电话后我们提供的一系列功能选项,比如开始放一段欢迎语音,然后提示用户选择1,2,4,*,#等,每一个选项可能又对应了一条“联系流”,整体的功能就是围绕着“联系流”来进行的,用户输入的一些值可以通过 contact.getattributes() 拿到。

前端对接

需要引入 amazon-connect-1.3.js, 这是一个开源项目(https://github.com/aws/amazon-connect-streams)所有前端接打电话的界面功能都是基于这个库来完成的。

connect.contact(): 主要获取联系人信息(姓名,电话等)还有联系人输入的一些值。
connect.agent(): 主要获取电话设备的一些状态信息。

html:

1 <!-- 电话图标,用来唤出电话界面 -->
2 <div id="amazonconnectcontainer">
3     <img src="/public/img/amazon_tel.jpg" alt="">
4 </div>
5 <!-- 生成iframe的地方,可以放在网页任意位置 -->
6 <div id="containerdiv" title="amazon connect">
7     <!--amazon ccp is hiding in here-->
8 </div>

css:

1 <style>
2     .containerdiv iframe {
3        display: none;
4     }
5 </style>

js:

 1 <script type="text/javascript" src="/public/lib/connect-streams.js"></script>
 2 <script type="text/javascript">
 3     $(document).ready(function() {
 4         $("#amazonconnectcontainer").click(function(event) {
 5             event.preventdefault();
 6             $("#containerdiv iframe").remove();
 7             if(typeof connect != "undefined" && !connect.core.initialized){
 8                 window.mycpp = window.mycpp || {};
 9                 //replace with the ccp url for your amazon connect instance
10                 var ccpurl = "https://xxxxxx.awsapps.com/connect/ccp#/";
11                 connect.core.initccp(containerdiv, {
12                     ccpurl: ccpurl,        
13                     loginpopup: false,         
14                     softphone: {
15                         allowframedsoftphone: true,
16                         disableringtone:  true,
17                         ringtoneurl: true
18                     }
19                 });
20                 connect.contact(subscribetocontactevents);
21                 connect.agent(subscribetoagentevents);
22             }
23             var awidth = 320; //窗口宽度
24             var aheight = 465; //窗口高度
25             var atop = (screen.availheight - aheight) / 2; //窗口顶部位置
26             var aleft = (screen.availwidth - awidth) / 2; //窗口放中央
27 
28             window.open (ccpurl, 'newwindow', 'height=465, width=320, top='+atop+', left='+aleft+', toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');
29         });
30 
31         function subscribetocontactevents(contact){
32             window.mycpp.contact = contact;
33             loginfomsg("subscribing to events for contact");
34             if (contact.getactiveinitialconnection()
35                 && contact.getactiveinitialconnection().getendpoint()) {
36                 loginfomsg("new contact is from " + contact.getactiveinitialconnection().getendpoint().phonenumber); // 用户电话
37             } else {
38                 loginfomsg("this is an existing contact for this agent");
39             }
40             loginfomsg("contact is from queue " + contact.getqueue().name);
41             loginfomsg("contact attributes are " + json.stringify(contact.getattributes())); // 用户属性
42         }
43         function subscribetoagentevents(agent) {
44             window.mycpp.agent = agent;
45             agentgreetingdiv.innerhtml = '<h3>hi ' + agent.getname() + '!</h3>';
46             loginfomsg("subscribing to events for agent " + agent.getname());
47             loginfomsg("agent is currently in status of " + agent.getstatus().name);
48             // 获取电话状态名称
49             displayagentstatus(agent.getstatus().name);
50             // agent.onrefresh(handleagentrefresh);
51             // agent.onroutable(handleagentroutable);
52             // agent.onnotroutable(handleagentnotroutable);
53             // agent.onoffline(handleagentoffline);
54         }
55         function loginfomsg(msg) {
56             connect.getlog().info(msg);
57         }
58     });
59 </script>

 

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网