fcc-core
Version:
Fusion communication center.
805 lines (801 loc) • 20.1 kB
JavaScript
import { Request as agentRequest } from '../util/util'
const api = {
baseUrl: `/`,
agentId: '0',
// 签入
sign (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}`,
'put',
'NAGENT'
)
},
// 签出
signOut (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/logout`,
'delete',
'NAGENT'
)
},
// 退出工作状态
agentEnterIdle (params) {
return agentRequest(
params,
`${this.baseUrl}onlineagent/${this.agentId}/cancelwork`,
'post',
'NAGENT'
)
},
// 进入工作态
agentSayWork (params) {
return agentRequest(
params,
`${this.baseUrl}onlineagent/${this.agentId}/work`,
'post',
'NAGENT'
)
},
// 获取当前座席的状态
getAgentStatusSync (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/agentstatus`,
'get',
'NAGENT'
)
},
// 示忙
sayBusy (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/saybusy`,
'post',
'NAGENT'
)
},
// 示闲
sayFree (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/sayfree`,
'post',
'NAGENT'
)
},
// 强制签入
forceSignIn (params) {
return agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/forcelogin`,
'put',
'NAGENT'
)
},
// 登陆前,查询坐席技能和状态
async queryagentstatusandskill (params) {
const data = await agentRequest(
params,
`${this.baseUrl}online/${this.agentId}/agentstatus`,
'get',
'NAGENT'
)
data['result']['status'] = data['result']['agentstate']
return data
},
// 重置技能
changeAgentSkill (params) {
return agentRequest(
null,
`${this.baseUrl}online/${this.agentId}/resetskill/${
params.autoflag
}?skillId=${params.skillId}`,
'post',
'NAGENT'
)
},
// 申请呼叫
requestcall(params) {
return agentRequest(
{},
`${this.baseUrl}voice/${this.agentId}/requestcall/${params.callId}/0?skillid=${params.skillid}`,
'post',
'NAGENT'
)
},
// 发送便签
sendNote (params) {
return agentRequest(
params,
`${this.baseUrl}onlineagent/${this.agentId}/sendnoteletex`,
'post',
'NAGENT'
)
},
// 查询系统信息
querySysStatus (params) {
return agentRequest(
params,
`${this.baseUrl}querymonitor/${this.agentId}/systemstate`,
'get',
'NAGENT'
)
},
// 查询坐席技能队列
agentSkills (params) {
return agentRequest(
params,
`${this.baseUrl}onlineagent/${this.agentId}/agentskillsbyworkno`,
'get',
'NAGENT'
)
},
// 查询技能的排队信息
queryStatInfoOfAcd (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/queryacdstat`,
'post',
'NAGENT'
)
},
// 查询所属VDN下一组技能队列统计信息
querySkillStat (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/queryskillstat`,
'post',
'NAGENT'
)
},
// 座席签入后,查询座席所属VDN的所有在线座席信息
queryAllLoginedAgentInfoOnVdn (params) {
return agentRequest(
params,
`${this.baseUrl}agentgroup/${this.agentId}/onlineagentonvdn`,
'get',
'NAGENT'
)
},
// 查询坐席技能信息
queryTotalSKills (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/agentskill/${this.agentId}`,
'get',
'NAGENT'
)
},
queryAgentbyWorkNo (params) {
return agentRequest(
null,
`${this.baseUrl}agentgroup/${this.agentId}/agentbyworkno/${params.workno}`,
'get',
'NAGENT'
)
},
// 语音应答
answer (params) {
return agentRequest(
null,
`${this.baseUrl}voice/${this.agentId}/answer`,
'post',
'NAGENT'
)
},
/**
* 座席对正在通话的呼叫进行静音操作。
* @param params
* @returns {*}
*/
beginMute (params) {
return agentRequest(
null,
`${this.baseUrl}voice/${this.agentId}/beginmute`,
'post',
'NAGENT'
)
},
/**
* 座席对已经静音的呼叫进行取消静音操作。
* @param params
* @returns {*}
*/
endMute (params) {
return agentRequest(
null,
`${this.baseUrl}voice/${this.agentId}/endmute`,
'post',
'NAGENT'
)
},
/**
* 座席对正在通话中的语音呼叫进行保持操作。
* 触发事件
* AgentEvent_Hold(保持成功)
* @param params
* @returns {*}
*/
hold (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/hold`,
'post',
'NAGENT'
)
},
/**
* 座席对已经保持的呼叫进行取消保持操作。
* 触发事件
* AgentEvent_Talking(座席进入Talking)
* @param params
* @returns {*}
*/
getHold (params) {
return agentRequest(
null,
`${this.baseUrl}voice/${this.agentId}/gethold?callId=${
params.callId
}`,
'post',
'NAGENT'
)
},
/**
* 座席拆除指定callid的呼叫。(包扩保持中的通话)
* 触发事件
* AgentEvent_Call_Release(座席退出呼叫)
* AgentEvent_Customer_Release(客户退出呼叫)
* @param params
* @returns {*}
*/
releaseCall (params) {
return agentRequest(
null,
`${this.baseUrl}voice/${this.agentId}/release/${params.callid}`,
'delete',
'NAGENT'
)
},
/**
* 座席登录后,查询保持列表。
* @param params
* @returns {*}
*/
holdlist (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/holdlist`,
'get',
'NAGENT'
)
},
/**
* 座席登录以后进行内部求助操作。
* 主要用于咨询
* @param params
* @returns {*}
*/
innerhelp (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/innerhelp`,
'post',
'NAGENT'
)
},
/**
* 外呼接口触发一下事件
* AgentOther_PhoneAlerting(座席物理话机振铃)
*AgentOther_PhoneOffhook(座席物理话机摘机)
*AgentState_Busy(呼叫中)
*AgentEvent_Customer_Alerting(对方振铃)
*AgentEvent_Talking(座席进入Talking)
*AgentEvent_Call_Out_Fail(外呼失败)
* @param params
* @returns {*}
*/
callOutDefault (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/callout`,
'put',
'NAGENT'
)
},
/**
* 座席对正在通话中的通话和保持中的通话进行三方通话。
* AgentEvent_Conference(三方通话成功)
* AgentEvent_Customer_Release(客户退出呼叫)
* @param params
* @returns {*}
*/
confjoin (params) {
params.callid && delete params.callid
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/confjoin`,
'post',
'NAGENT'
)
},
/**
* 座席对正在通话中的通话和保持中的通话进行连接,
* 该操作后,座席结束自己的通话,另外两方形成通话。
* 触发事件
* AgentEvent_Call_Release(座席退出呼叫)
* AgentState_Ready(示闲)
* @param params
* @returns {*}
*/
connecthold (params) {
return agentRequest(
null,
`${this.baseUrl}voicecall/${this.agentId}/connecthold/${params.callid}`,
'post',
'NAGENT'
)
},
/**
* 座席对正在通话中的语音呼叫进行挂断操作。(不含保持中的通话)
* 触发事件
* AgentEvent_Call_Release(座席退出呼叫)
* AgentEvent_Customer_Release(客户退出呼叫)
* @param params
* @returns {*}
*/
hangUp (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/release`,
'delete',
'NAGENT'
)
},
/**
* 座席对已经建立的语音通话进行呼叫转移。
* 触发事件
* 呼叫转移接口,释放转方式调用成功,座席收到如下事件:
* AgentOther_PhoneRelease(座席物理话机挂机)
* AgentEvent_ReleaseRequest(请求释放事件)
* AgentEvent_Call_Release(座席退出呼叫)
* AgentEvent_Customer_Release(客户退出呼叫)
* 呼叫转移接口,释放转方式调用失败,座席收到如下事件:
* AgentEvent_Connect_Fail(连接失败)
* 呼叫转移接口,成功转方式调用成功,坐席收到如下事件:
* AgentEvent_Customer_Alerting(对方振铃)
* AgentEvent_SuccTransResult(成功转结果通知)
* AgentEvent_Call_Release(座席退出呼叫)
* AgentEvent_Customer_Release(客户退出呼叫)
* AgentOther_PhoneRelease(座席物理话机挂机)
* AgentEvent_ReleaseRequest(请求释放事件)
* 呼叫转移接口,成功转方式调用失败,座席收到如下事件:
* AgentEvent_Connect_Fail(连接失败)
* 呼叫转移接口,指定转方式调用成功,座席收到如下事件:
* AgentEvent_Customer_Alerting(对方振铃)
* AgentEvent_Call_Release(座席退出呼叫)
* AgentEvent_Customer_Release(客户退出呼叫)
* AgentOther_PhoneRelease(座席物理话机挂机)
* AgentEvent_ReleaseRequest(请求释放事件)
* 呼叫转移接口,指定转方式调用失败,座席收到如下事件:
* AgentEvent_Connect_Fail(连接失败)
* @param params
* @returns {*}
*/
transfer (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/transfer`,
'post',
'NAGENT'
)
},
/**
* 座席登录以后进行内部呼叫。
*触发事件
* AgentOther_PhoneAlerting(座席物理话机振铃)
* AgentOther_PhoneOffhook(座席物理话机摘机)
* AgentState_Busy(呼叫中)
* AgentEvent_Customer_Alerting(对方振铃)
* AgentEvent_Talking(座席进入Talking)
* AgentEvent_Inside_Call_Fail(内部呼叫失败)
* @param params
* @returns {*}
*/
callInner (params) {
return agentRequest(
params,
`${this.baseUrl}voice/${this.agentId}/callinner`,
'put',
'NAGENT'
)
},
// 二次拨号
agentSendDTMF (params) {
return agentRequest(
params,
`${this.baseUrl}voicecall/${this.agentId}/secondDial`,
'post',
'NAGENT'
)
},
/**
* 座席对已经转移的通话进行取回。
* 触发事件
* AgentEvent_Talking(座席进入Talking)
* @param params
* @returns {*}
*/
canceltransfer (params) {
return agentRequest(
params,
`${this.baseUrl}voicecall/${this.agentId}/canceltransfer`,
'post',
'NAGENT'
)
},
// 查询排队信息
queryQueueInfo (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/waitcallinfo?skillId=${params.skillId}`,
'get',
'NAGENT'
)
},
// 查询指定队列排队信息
querySkillIdQueue (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/skillwaitnum/${
params.skillid
}`,
'get',
'NAGENT'
)
},
// 查询指定队列的座席状态信息
queryQueueAgentStatusCount (params) {
return agentRequest(
params,
`${this.baseUrl}querymonitor/${this.agentId}/skillstatisticinfo/${
params.skillid
}`,
'get',
'NAGENT'
)
},
// 查询所有能被监视的业务代表信息
queryAgentInfo (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/allagent`,
'get',
'NAGENT'
)
},
/**
* 质检座席登录后,开始监视指定的座席。
* @param params
* @returns {*}
*/
beginMonitor (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/beginmonitor`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,停止监视指定的座席。
* @param params
* @returns {*}
*/
endMonitor (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/endmonitor`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,侦听指定座席。
* @param params
* @returns {*}
*/
listen (params) {
return agentRequest(
null,
`${this.baseUrl}qualitycontrol/${this.agentId}/addsupervise/${params.workno}`,
'put',
'NAGENT'
)
},
insert (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/addinsert/${params.workno}?mediaType=${params.mediaType}`,
'put',
'NAGENT'
)
},
/**
* 质检座席登录后,切换侦听和插入指定的座席。
* @param params
* @returns {*}
*/
switch (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/switch/${params.workno}`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,取消侦听和插入指定的座席。
* @param params
* @returns {*}
*/
stopSuperviseOrInsert (params) {
return agentRequest(
null,
`${this.baseUrl}qualitycontrol/${this.agentId}/${params.workno}`,
'delete',
'NAGENT'
)
},
/**
*座席登录后,获取当前座席所配置技能队列上的排队总人数。
* @param params
* @returns {*}
*/
waitnum (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/waitnum`,
'get',
'NAGENT'
)
},
// 设置最大接入文字聊天数
setmaxchatnum (params) {
return agentRequest(
params,
`${this.baseUrl}querymonitor/${this.agentId}/setmaxchatnum/${
params.vdnid
}/${params.chatnum}`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,拦截指定座席。
* @param params
* @returns {*}
*/
intercept (params) {
return agentRequest(
params,
`${this.baseUrl}queuedevice/${this.agentId}/qualitycontrol/${
params.workno
}`,
'put',
'NAGENT'
)
},
// 调整技能,本次有效,非他擅长的技能也可以设置,技能数量最大不能超过20
adjustSkill (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/adjustskill`,
'post',
'NAGENT'
)
},
// 预览呼出接口呼叫外呼用户
previewCallOut (params) {
return agentRequest(
params,
`${this.baseUrl}voicecall/${this.agentId}/previewCallOut`,
'put',
'NAGENT'
)
},
//
agentByConfigedSkill (params) {
return agentRequest(
params,
`${this.baseUrl}agentgroup/${this.agentId}/agentbyconfigedskill/${
params.skillid
}`,
'get',
'NAGENT'
)
},
/**
* 质检座席登录后,强制示闲指定的座席。
* @param params
* @returns {*}
*/
agentForceIdle (params) {
return agentRequest(
null,
`${this.baseUrl}quality/${this.agentId}/forceidle/${
params.workNo
}`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,强制示忙指定的座席。
* @param params
* @returns {*}
*/
agentForceBusy (params) {
return agentRequest(
null,
`${this.baseUrl}quality/${this.agentId}/forcebusy/${
params.workNo
}`,
'post',
'NAGENT'
)
},
/**
* 质检座席登录后,强制签出指定的座席。
* @param params
* @returns {*}
*/
agentForceOut (params) {
return agentRequest(
null,
`${this.baseUrl}quality/${this.agentId}/forcelogout/${
params.workNo
}`,
'delete',
'NAGENT'
)
},
/**
* 质检座席登录后,取消侦听和插入指定的座席。
* @param params
* @returns {*}
*/
qualitycontrol (params) {
return agentRequest(
params,
`${this.baseUrl}qualitycontrol/${this.agentId}/${params.workno}`,
'delete',
'NAGENT'
)
},
// 查询指定技能队列的话务统计信息
getSkillStatisticInfo (params) {
return agentRequest(
params,
`${this.baseUrl}querymonitor/${this.agentId}/skillstatisticinfo/${
params.skillid
}`,
'get',
'NAGENT'
)
},
// 批量查询指定座席的信息
getAgentInfoNoSkills (params) {
return agentRequest(
params,
`${this.baseUrl}device/agent/${this.agentId}/agentinfonoskills`,
'post',
'NAGENT'
)
},
/**
* 座席建立通话后,设置呼叫随路数据(扩展)。
* @param params
* @returns {*}
*/
setCallData (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/setcalldataex`,
'put',
'NAGENT'
)
},
/**
* 座席登录后,查询呼叫随路数据。
* @param ucc
* @param params
* @returns {*}
*/
queryCallData () {
return agentRequest(
null,
`${this.baseUrl}calldata/${this.agentId}/callinfo`,
'get',
'NAGENT'
)
},
// 根据呼叫CallID查询呼叫信息
queryCallInfoByCallId (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/callinfobycallid/${
params.callid
}`,
'get',
'NAGENT'
)
},
// 查询指定技能队列下坐席状态数量统计
querySkillAgentStatusNum (params) {
return agentRequest(
params,
`${this.baseUrl}agentgroup/${this.agentId}/agentbyconfigedskill/${
params.skillid
}`,
'get',
'NAGENT'
)
},
// 查询座席当前呼叫统计信息
queryCallStatisticsInfo (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/statistics`,
'get',
'NAGENT'
)
},
/**
* 座席登录后,用于应答来话前查询呼叫信息。
* @param params
* @returns {*}
*/
queryCallInfoBeforeAnswer (params) {
return agentRequest(
params,
`${this.baseUrl}calldata/${this.agentId}/callinfobeforeanswer`,
'get',
'NAGENT'
)
},
/**
* 座席对正在通话中的通话进行二次拨号,
* 支持输入#。
* @param params
* @returns {*}
*/
seconddialex (params) {
return agentRequest(
null,
`${this.baseUrl}voicecall/${this.agentId}/seconddialex?number=${params.number}`,
'post',
'NAGENT'
)
},
/**
* 设置自动应答
*/
autoanswer (bool) {
return agentRequest(
null,
`${this.baseUrl}online/${this.agentId}/autoanswer/${bool}`,
'post',
'NAGENT'
)
}
}
// 每次使用最新的agentid
Object.defineProperty(api, 'agentId', {
get () {
return window.xw.userInfo.AGENT_ID
}
})
export default api