Udesk ServiceGo open-cti(1.0.1)

您好,欢迎接入Udesk ServiceGo open-cti, 以下提供基本用法、注意事项、示例代码等。

一、基本用法

1、在ServiceGo系统里设置/渠道管理/组件管理/电话中设置组件链接等其他设置

2、根据下载地址下载open-cti.js文件,引入到提供组件链接的页面内

二、注意事项

浏览器兼容型

SDK目前支持IE9+(含)的IE浏览器与基于它内核(360/qq/…)、其他主流浏览器(chrome/firefox/…)。

三、下载地址

open-cti.es6.min.js下载地址

open-cti.min.js下载地址

四、示例代码

(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电话字段的验证规则)