随着企业的发展以及部分地区当前疫情,不少公司选择让员工在家办公/降本增效。尤其是对于咨询服务类企业/公司的销售部门,这种影响甚大。固话/传统的呼叫模式已经不能满足企业的需要,一些企业急需一套外呼系统。今天小编就开始讲解下呼叫中心【坐席模式】与明道云的结合,优势:不受到地理区域的限制。尤其在家办公时更能感觉此功能的强悍。(例如明道每周三居家办公日)
案例实操:上海品聘软件技术有限公司
-
账号注册流程
商务联系--> 邮件申请--> 获取 Appkey 与 AppSecret--> 购买座席数
-
应用配置
-
参考文档 设计坐席模块及流程逻辑
流程如下: 绑定坐席--> 创建拨号任务--> 自动拨号--> 获取通话记录及录音。
对应添加按钮绑定坐席主叫号 代码块方法如下:
var phone=input.phone.replace(" ","");
var data={
"userData":input.appkey,
"setingNbr":input.code,
"userPhone":phone
}
function base64(s) {
var b = new Buffer.from(s);
return b.toString('base64');
}
var token=base64(input.appsecret)
const fetch = require('node-fetch');
const res = await fetch(input.url+'/management/add/setingphone',{
method:"post",
headers:{
'Content-Type':'application/json; charset=UTF-8',
'Authorization':token
},
body:JSON.stringify(data)
}).then(function(response){
if(response.ok){
return response.json();
}else{
return {"error":"无数据"};
}
}).catch(function(err){
return {"error":"Fetch错误:"+err};
});
var result = await res;
//var result ={"meta":{"success": true,"message": "ok"},"data":"绑定成功"}
output={result:result }`
2.创建拨号任务表
使用工作表事件新增时触发,实现自动分配坐席拨号 代码部分如下:
var phone=input.phone.replace(' ','')
var data={"callerNbr":input.zphone,
"calleeNbr":input.phone,
"userData":input.appkey,
"setingNbr":input.code
}
function base64(s) {
var b = new Buffer.from(s);
return b.toString('base64');
}
var token=base64(input.appsecret)
const fetch = require('node-fetch');
const res = await fetch(input.url+'/rest/voiceCall/api',{
method:"post",
headers:{
'Content-Type':'application/json; charset=UTF-8',
'Authorization':token
},
body:JSON.stringify(data)
}).then(function(response){
if(response.ok){
return response.json();
}else{
return {"error":"无数据"};
}
}).catch(function(err){
return {"error":"Fetch错误:"+err};
});
var result = await res;
//var result ={"meta":{"success": true,"message":"ok"},"data": "b82effb1-a00544f725c9_324874486"}
output={result:result,data:JSON.stringify(data),url:input.url }
3.调用通话录音接口以及下载录音文件
var indata=JSON.parse(input.data)
var etime=indata.btime.substring(0,10)+' 23:59:59'
var data={"maxId":indata.maxId,
"starTime":indata.btime,
"endTime":etime,
"userData":input.appkey
}
function base64(s) {
var b = new Buffer.from(s);
return b.toString('base64');
}
var token=base64(input.appsecret)
const fetch = require('node-fetch');
const res = await fetch(input.url+'/call/record/voice',{
method:"post",
headers:{
'Content-Type':'application/json; charset=UTF-8',
'Authorization':token
},
body:JSON.stringify(data)
}).then(function(response){
if(response.ok){
return response.json();
}else{
return {"error":"无数据"};
}
}).catch(function(err){
return {"meta":{"success":false,"message":"Fetch错误:"+err}};
});
var result = await res;
//var result ={"meta":{"success":true,"message":"ok"},"data":[{"id":8,"sessionId":"2b10747a-04ea-4704-a58c-629cf2de2ccd_245244815","direction":"0","callerNum":"+8618980000073","calleeNum":"+8613681000025","callEndTime":"2018-12-28 05:42:15","callOutAnswerTime":"2018-12-28 05:41:27","recordFlag":"0","recordFileDownloadUrl":"http://XXX ","callmin":0}]}
var lastMaxid=0,hasNext=false,datalen=0;
if(result.data){
datalen=result.data.length
if(result.data.length>=99){
hasNext=true;
}
if(datalen>0){
lastMaxid=result.data[result.data.length-1].id
}
}
output={hasNext:hasNext,datalen:datalen,lastMaxid:lastMaxid,params:JSON.stringify(data),result:result }
效果如下