1.使用示例
- 在引用js接入代码和添加好id为telephoneBar的标签前提下。
- 在相关的事件中,拼接好调用函数的相应数据,再调用telephoneFunction函数即可。
示例:
<body>
<div id="telephoneBar" data-width="800px" data-height="110px">
</div>
<button onclick="callout()">外呼</button>
<script>
function transfer() {
let obj = {
key: 'callOut',//操作标识
data: {
id: 'a0c6745bbde435aca2af60eabb1xxxxx', //对接ID,接入代码中的phoneId
telephone: '131xxxxxxxx', //被叫号码
}
}
telephoneFunction(obj);//调用对外函数
}
</script>
</body>
2.SDK初始化(引入的js加载)成功的回调事件
- 在引用js接入代码和添加好id为telephoneBar的标签后,如果立即调用js中的函数telephoneFunction ,可能会没有响应,因为js中操作的DOM可能还没有加载成功。
- 为了让开发者知道SDK初始化(引入的js加载)成功,开发者可以主动调用js中的函数initUinSDK,并传参一个回调函数,回调函数的第一个参数代表js是否加载成功,第二个参数代表js加载成功或失败的原因,示例如下:。
示例:
initUinSDK(function (res, msg) {
if (res) {
login(); // 登录
}
});
3.接口回调事件及数据
几乎所有接口都有回调事件,回调数据都有固定的形式(返回对象中含有key、name、data三对键值,参考如下返回值示例),点击相应按钮(或调用相应的接口)会返回对应的回调数据。开发者可根据回调数据处理自己的业务逻辑,可用以下方式监听到回调事件(console可查看)。
监听代码
// 监听消息事件
window.addEventListener('message', function (e) {
let json = JSON.parse(e.data);
console.log('%c%s', 'color: white; background: blue', '---listener message:', json)
});
返回值示例
{
"key": "CTIResponse",
"name": "通话信令",
"data": {
"agentnum": "1007",
"agentstate": "ready",
"calltimes": "",
"phoneType": 4,
"callstate": 0,
"callscene": 0,
"tenantid": "acf528a2-xxxx-xxxx-xxxx-74cb3995cfab",
"type": "response",
"retmsg": "succeed!",
"command": "agentLogin",
"retcode": 200
}
}
回调事件中key的释义
序号 | 名称 | 说明 |
---|---|---|
1 | MobilesCityApi | 电话归属信息 |
2 | GetTagDataApi | 通话标签信息 |
3 | GetTransferApi | 转接和咨询所需列表 |
4 | TransferSuccess | 转接成功 |
5 | GetIvrApi | IVR流程信息 |
6 | GetlistSatisfactionNodesApi | 满意度列表 |
7 | AccountIsLogouted | 账号在别处登录 |
8 | CTIEvent | 通话信令 |
9 | CTIResponse | 通话信令 |
10 | CTIMessage | 通话信令 |
11 | PluginConnectState | 插件连接状态(仅限插件方式登录) |
12 | ModeChangeState | 切换登录方式状态 |
13 | AssociateClicked | 点击随路数据按钮 |
14 | CallOutPrecheck | 发起外呼前置校验 点击查看详情
|
15 | TelephoneBarConnectState | 电话条连接状态 |
tip:第三方系统请根据实际使用场景需完成电话条的14.2.1 登录、14.2.2 登出 等接口集成,具体详情见14.2 接口使用说明的子章节。
文档更新时间: 2024-11-26 10:25 作者:admin