Udesk ServiceGo open-cti(1.0.1)
您好,欢迎接入 Udesk ServiceGo open-cti, 以下提供基本用法、注意事项、示例代码等。
一、基本用法
1、在 ServiceGo 系统里设置/渠道管理/组件管理/电话中设置组件链接等其他设置
2、根据下载地址下载 open-cti.js 文件,引入到提供组件链接的页面内
二、注意事项
浏览器兼容型
SDK 目前支持 IE9+(含)的 IE 浏览器与基于它内核(360/qq/…)、其他主流浏览器(chrome/firefox/…)。
三、下载地址
四、示例代码
(function () {
OpenCTI.on('Ready', function () {
OpenCTI.off('Ready');
OpenCTI.onInitialized();
OpenCTI.setWindowMode(1);
OpenCTI.setWindowWidth(272);
OpenCTI.setWindowHeight(420);
OpenCTI.onAuthenticated();
OpenCTI.on('CallOut', function (number, options) {
window.makeCall(number, options);
});
OpenCTI.screenPop({
objectApiName: 'contact',
fieldApiName: 'phone',
number: 'XXXXXXXXX',
callId: '123456',
isCallIn: 1,
isCallOut: 0,
callOutAutoScreenPop: 0,
callInAutoScreenPop: 0,
});
});
})();
五、API
OpenCTI.enableDialIcon()
描述:
启用 ServiceGo 系统中电话号码后面的外呼按钮。点击按钮的话,会把号码通过 sdk 发送到外呼组件,直接外呼。
OpenCTI.disableDialIcon()
描述:
禁用 ServiceGo 系统中电话号码后面的外呼按钮。
OpenCTI.showWindow()
描述:
显示窗口。
OpenCTI.screenPop(options)
描述:
弹屏。
options 对象参数说明:
名称 | 类型 | 说明 |
---|---|---|
objectApiName | String | 弹屏需要创建的对象 ApiName |
fieldApiName | String | 弹屏需要创建的对象的主字段 ApiName |
number | String | 电话号码 |
callId | String | 通话唯一 Id |
isCallIn | Bool | 是否呼入 |
isCallOut | Bool | 是否呼出 |
callOutAutoScreenPop | Bool | 是否呼出自动弹屏 |
callInAutoScreenPop | Bool | 是否呼入自动弹屏 |
OpenCTI.setWindowMode(mode)
描述:
窗口显示模式。
mode=1 Window 模式,即窗口模式,此时外呼组件会显示在一个小窗口里,停靠在屏幕右下角;
mode=2 WideScreen 模式,即宽屏模式,此时外呼组件的宽度会占满屏幕,高度可自定义调整,但不可调宽度。
OpenCTI.setWindowWidth(width)
描述:
设置窗口宽度。注意,只有在窗口模式是 window 模式时,才会起作用,否则,此方法调用无效。
OpenCTI.setWindowHeight(height)
描述:
窗口高度,可以接受数字(即像素值)或符合符合 CSS height
规范的字符串(https://developer.mozilla.org/en-US/docs/Web/CSS/height)。
OpenCTI.setWindowTitleColor(color)
描述:
标题行的颜色值。可以接受符合 CSS color
规范的字符串(https://developer.mozilla.org/en-US/docs/Web/CSS/color)
OpenCTI.onInitialized()
描述:
当外呼组件初始化完成之后,调用此方法,通知服务端已经初始化好了。
服务端接受到此事件后,会立即触发Authenticate
事件,开始鉴权流程。
OpenCTI.onAuthenticated()
描述:
当外呼组件鉴权完成之后,调用此方法,通知服务端已经完成鉴权了。
服务端接受到此事件后,会发送外呼组件的配置信息,同时自动启用电话号码后的点击外呼
按钮。
OpenCTI.onTokenExpired()
描述:
当发现客户端token
失效时,回调此方法。这时,ServiceGo 系统会再次向后台请求新的token
,尝试自动恢复认证。
OpenCTI.onSettingChanged()
描述:
当用户改变了外呼组件设置时,调用此方法。服务端会把用户的设置保存到数据库中。
注意:无论哪个配置项发生了变化,都需要发送完整的设置信息,因为后台是作为一个整个JSON
数据保存的,只会全部替换。
如果信息不完整,会导致其余的信息丢失。
OpenCTI.destroy()
描述:
销毁 open-cti 实例。
六、事件监听
Ready
描述:
OpenCTI SDK 的客户端和服务端需要进行一些必要的通信工作才能正常工作,
所以,客户端 sdk 的所有方法必须等到 Ready 事件之后才能调用。
示例代码:
OpenCTI.on('Ready', function () {});
OpenCTI.off('Ready');
Authenticate
描述:
认证事件
示例代码:
OpenCTI.on('Authenticate', function (actionData) {});
OpenCTI.off('Authenticate');
actionData 对象参数说明:
名称 | 类型 | 说明 |
---|---|---|
token | String | 外呼组件所需要的客户端认证 token |
LoadSetting
描述:
ServiceGo 系统会在加载了外呼组件的配置信息后,以事件的形式把配置数据发送过来。
此事件会在 Authenticate 完成之后发生。
示例代码:
OpenCTI.on('LoadSetting', function (eventData) {});
OpenCTI.off('LoadSetting');
CallOut
描述:
外呼事件
示例代码:
OpenCTI.on('CallOut', function (actionData) {});
OpenCTI.off('CallOut');
actionData 对象参数说明:
名称 | 类型 | 说明 |
---|---|---|
number | String | 外呼的电话号码(格式符合 ServiceGo 电话字段的验证规则) |