UNPKG

fcc-core

Version:

Fusion communication center.

805 lines (801 loc) 20.1 kB
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