0.2.6 • Published 4 years ago

phone-sdk v0.2.6

Weekly downloads
68
License
-
Repository
-
Last release
4 years ago

话务条接入文档

前言

phone-sdk是基于话务条供应商的skd做封装,用于抹平各个供应商sdk之间使用上的差异。 暴露给业务系统统一的调用方式,后续需要接入新的供应商时无需调整系统代码即可完成接入工作。 sdk分为方法和事件两部分,方法提供客户端主动调用服务的能力,事件作为服务端通知客户端的信号,由于底层sdk的限制, 目前sdk的方法暂不提供成功或失败的回调,调用结果服务端会以事件的形式另行通知。同时,由于多个供应商在底层提供的sdk在方法及 事件的细粒度上不一致,phone-sdk会在内部通过代理做一次统一,不过不用担心,对于未代理的api,phone-sdk会原样保留底层sdk的功能,业务系统

可以根据自身需求做对应调整

业务系统可以根据自身需求选择使用sdk(推荐)或者单独使用api

sdk引入

phone-sdk基于vue开发,并通过

{
    "peerDependencies": {
        "vue": "version"
    }
}

申明对vue的依赖,所以业务项目中需要安装vue 1.安装

npm install phone-sdk --save

2.使用

<template>
    <div>
        <phone-bar  :vendor-type="vendorType"
                 :user="user"
                 :password="password"
                 :url="url"
                 @ring = "ring"
                 ></phone-bar>
    </div>
</template>
<script>

</script>

2.使用main.js

<script>
    import phoneBar from 'phone-sdk'
    import 'phone-sdk/lib/phone-sdk.umd.1.js'
    import 'phone-sdk/lib/phone-sdk.umd.4.js'
    import 'phone-sdk/lib/phone-sdk.css'
    // 注册组件库
    Vue.use(phoneBar)
</script>

phone-bar提供的话务条的完整功能,同时也会暴露出必要的方法和事件供开发者处理特殊使用。

api引入

2.使用

import Agent, { VENDOR_TYPE } from './api/src/index'

phoneAgent.connect(userName, password, service)

仅对供应商的api做了一层代理及接口统一,使用这种方法开发,需要开发者自行开发界面及维护功能状态,如在通话中,不能进行置忙,拨打电话等功能


方法

connect:连接服务器

页面初始化时用吃方法与服务器建立联系 参数:

参数名类型描述
userCodeString登录账号
passwordString登录密码
urlString服务器地址

通过onConnect事件确认初始化结果

const userCode = 'userCode'
const password = 'password'
const url = 'url'
agent.connect(userCode, password, url)

checkIn:签入

坐席连签入CTI服务器,连接服务器成功后方可使用该方法。(一般让用户手动签入) 参数:

参数名类型描述
groupIdsString签入座席组id,多个组用符号 , 分割(三地需要该参数)

调用

agent.checkIn(groupIds)

checkOut:签出

座席在注册到CTI服务器的状态并处于空闲时才可调用此方法 参数:

参数名类型描述
--

调用

agent.checkOut()

dialout:拨号

参数:

参数名类型描述
phoneNumberString需要拨打的号码

通过phone-agent调用该方法可以拨打电话,但不做任何校验 通过phone-bar调用,方法内部会对状态做校验,如已经在通话过程中,将会调用失败 调用

agent.dialout(phoneNum)

DTMF:拨号

参数:

参数名类型描述
groupString需要拨打的DTMF码

调用

agent.transGroupDTMF(group)

hangup:挂机

调用挂机成功后,坐席结束当前通话,可在通话,三方通话及监听情况下使用

参数:

参数名类型描述
--

pause:暂停

将对应座席置忙暂停接听来电,系统将停止分配来电给该座席 参数:

参数名类型描述
agentIdString需要暂停服务的坐席工号^agentId,不传表示将自己暂停服务

调用

agent.pause(agent)

restore:恢复

参数:

参数名类型描述
agentIdString需要恢复服务的坐席工号,不传表示将自己恢复服务,在暂状态下方可使用此方法

调用

agent.restore(agentId)

hold:保持通话

在座席通话的过程中,保持当前通话,调用成功后客户将会进入听音乐状态。 参数:

参数名类型描述
--

调用

agent.hold()

retrieve:取消保持

当座席处于保持通话的情况下想继续通话,则调用此方法。 参数:

参数名类型描述
--

调用

agent.retrieve()

dialTrans:转接

将通话转接至第三方,当前座席退出通话 参数:

参数名类型描述

listen:监听

班长可以使用该方法来监听坐席和客户之间的通话 参数

参数名类型描述
agentIdString需要监听的分机号

调用

agent.listen(agentId)

logoutAgent:强制注销

joinTalk:插话

班长可以对正在通话的坐席使用插话功能,插画成功后,客户,坐席以及班长处于三方通话中 参数

参数名类型描述
agentIdString...

调用

agent.joinTalk(agentId)

disconnectCall:拆话

班长可以使用拆话功能,与客户进行通话,被拆话的坐席与客户中断通话 h 参数

参数名类型描述
agentIdString被拆话的坐席的工号

由于,所以在

事件

onCheckIn: 签入

参数

参数名类型描述
checkInfo.resultBoolean签入是否成功
checkInfo.messageString签入失败原因

监听

agent.on('onCheckIn', checkInfo => {
    
})

onCheckOut: 签出

参数

参数名类型描述
checkInfo.resultBoolean签出是否成功
checkInfo.messageString签出失败原因

监听

agent.on('onCheckOut', checkInfo => {
    
})

onCallInRing: 来电响铃

参数

参数名类型描述
ringInfo.phoneNumberString来电号码
ringInfo.areaString来电区号
ringInfo.agentIdString收到响铃分机号

监听

agent.on('onCallInRing', ringInfo => {
    
})

onCallOutRing: 呼出响铃

参数

参数名类型描述

监听

agent.on('onCallInRing', res => {
    
})

onThreePartCallInRing: 三方通话响铃

参数

参数名类型描述

监听

agent.on('onThreePartCallInRing', () => {
    
})

onThreePartCallOutRing: 三方通话呼出响铃

参数

参数名类型描述

监听

agent.on('onThreePartCallOutRing', () => {
    
})

onCallout: 电话拨打成功

参数

参数名类型描述

监听

agent.on('onCallout', () => {
    
})

onInCall: 电话接通

参数

参数名类型描述

监听

agent.on('onInCall', () => {
    
})

onCallOutRing: 呼出响铃

参数

参数名类型描述

监听

agent.on('onCallInRing', res => {
    
})

onCallIn: 来电接通

坐席接通电话之后收到此事件 参数

参数名类型描述
--

监听

agent.on('onCallIn', callInfo => {
    
})

onCallOut: 呼出接通

坐席呼出电话之后,客户接通后收到此事件 参数

参数名类型描述
--

监听

agent.on('onCallOut', callInfo => {
    
})

onIdle: 挂断电话

中断通话之后收到此事件 参数

参数名类型描述
--

监听

agent.on('onIdle', callInfo => {
    
})

onDisconnect: 断开

中断通话之后收到此事件 参数

参数名类型描述
--

监听

agent.on('onDisconnect', callInfo => {
    
})

onDialOver: 拨号结束(提示不成功原因)

中断通话之后收到此事件 参数

参数名类型描述
--

监听

agent.on('onDialOver', message => {
    
})

onThreePart: 三方通话接通

中断通话之后收到此事件 参数

参数名类型描述
--

监听

agent.on('onThreePart', message => {
    
})

onPause: 暂停服务通知

调用pause后会收到此事件 参数

参数名类型描述
pauseInfo.resultBoolean暂停服务结果,true表示已暂停
pauseInfo.messageString暂停服务结果描述

监听

agent.on('onPause', pauseInfo => {
    
})

onRestore: 恢复

调用restore后会收到此事件 参数

参数名类型描述
restoreInfo.resultBoolean恢复服务结果,true表示已恢复服务
restoreInfo.messageString恢复服务结果描述

监听

agent.on('onRestore', restoreInfo => {
    
})

onHold: 保持

调用hold方法后会收到此事件 参数

参数名类型描述
holdInfo.resultBoolean保持通话结果,true表示保持通话成功
holdInfo.messageString保持通话结果描述

监听

agent.on('onHold', holdInfo => {
    
})

onRetrieve: 取消保持

调用hold方法后会收到此事件 参数

参数名类型描述

监听

agent.on('onRetrieve', () => {
    
})

onGetOrgAgtgrps: 获取组(用于转接)

调用hold方法后会收到此事件 参数

参数名类型描述
groupsArray获取组

监听

agent.on('onGetOrgAgtgrps', groups => {
            let list = [] //转接组的DTMF。
        this.allTransGroupList = list.concat(groups)
 })

onGetAgtGroups: 获取组(用于签入)

调用hold方法后会收到此事件 参数

参数名类型描述
groupsArray获取组

监听

agent.on('onGetAgtGroups',groups => {

 })

onAllAgtInfo: 获取坐席列表

调用hold方法后会收到此事件 参数

参数名类型描述
groupsArray获取组

监听

 agent.on('onAllAgtInfo', groups => {
                  
    })

onGetAgentRights: 获取坐席权限

调用hold方法后会收到此事件 参数

参数名类型描述
rightsArray获取组

监听

agent.on('onGetAgentRights', rights => {
    
})
0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago