1. 注意事项

  • 浏览器支持:IE8/IE9/IE10/IE11/Edge、Chrome、Firefox、Safari

  • 软电话功能请使用Chrome或者Firefox浏览器并使用HTTPS协议

  • 请不要在回调函数中执行阻塞操作(如alert、confirm),阻塞会导致连接断线重连,引发事件丢失

2. 产品简介

欢迎使用“AICC”的电话条,您可以在自己的业务系统中快速集成通话的功能。当前为您提供了三种接入方式:插件版、接口版、桌面版,您可以根据项目需要选择其中任一一款。

2.1. 插件版

插件版为企业提供了一套标准UI样式,并对话务管理能力做了封装,企业只需做简单引入即可完成对接(如下图所示)。如果您想快速集成并对UI样式没有定制化要求,建议您选择这种接入方式。

image

2.2. 接口版

接口版提供原始JS文件,无需安装其他ocx控件,将电话条JS嵌入您的业务系统中,即可实现这些功能。如果您想完全自定义UI样式,建议您选择这种方式。

2.3. 桌面版

桌面版需要把应用程序安装在使用者电脑中,独立于浏览器存在,可解决多页面切换话务状态无法同步的问题。如果您希望多页面操作保持话务状态共享,建议您选择这种接入方式。

  • 注意:此版本只支持简单话务操作:接听、挂机、通话保持、座席状态切换、上下线、咨询、转移等。

image

3. 插件版

3.1. 快速集成

3.1.1. 引入依赖

<script type="text/javascript" src="{host}/clink-client.js?id={identifier}"></script>
<script type="text/javascript" src="{host}/clink-client-ui-vue/ClinkToolbar.umd.min.js"></script>

参数说明:

参数 说明

host

平台接入地址:

北京平台:https://ws-bj.clink.cn/

上海平台:https://ws-sh.clink.cn/

其它平台:请咨询技术支持

identifier

企业编号,开户时创建的企业编号

3.1.2. 初始化

在您的业务系统中接入以下代码即可完成初始化配置,展示电话条界面。

// 隐藏登录界面、隐藏登录界面中的部分版块以及话务管理参数配置
var options = {
    isAutoLogin: false, // 展示登录界面
    // 隐藏登录界面中的部分版块配置
    toolbarMsgShowConfiguration: {
        showEnterprise: true, // 展示企业编码、座席工号、密码
        showTel: true, //展示电话类型和电话号码
        showAgentInitStatus: true, //展示座席初始状态
        showTelInput: false, // 登录状态下是否显示号码输入框、默认为true
        showCallingBth: false, // 登录状态下是否显示呼叫按钮、默认为true
        showChangeBindTel: false, // 登录状态下是否显示换绑定电话配置、默认为false
    },
    // 话务管理配置
    showHold: true, // 支持保持
    showConsult: true, //支持咨询,
    showTransfer: true, //支持转移
    showSatisfaction: true, //支持满意度
    showMute: true, //支持静音
    debug: true // 是否开启debug 默认开启
}
var clinkToolbar = new ClinkToolbar(
    options, // 登录方式和话务管理参数配置
    domContainer, // 比如 document.querySelector('#root'),可以替换为任何你想插入的DOM节点。
    callback // 回调函数
);
// 注意事项:初始化对象的过程需要在全局方法中处理,同时保存clinkToolbar为全局变量,避免电话条被销毁。

参数说明:

参数 类型 是否必填 说明

options

object

登录界面配置([隐藏部分版块]/[隐藏整个版块])、[话务管理] 配置

domContainer

node

传入你想要嵌入的任意元素节点,比如document.getElementById('#root'),不传入则默认嵌入到body里

callback

function

回调函数

登录界面配置

登录界面默认展示全部版块,您可根据实际需求隐藏部分版块或隐藏整个版块。如下图所示 image

隐藏部分版块

您可根据实际需求隐藏部分版块,例如隐藏企业编号、座席号、密码、签出,代码接入如下所示

    const options = {
        isAutoLogin: false,
        toolbarMsgShowConfiguration:{
            showEnterprise: false, // 隐藏企业编码、座席工号、密码
            showTel: true, // 展示电话类型和电话号码
            showAgentInitStatus: true // 展示座席初始状态
            showLogout: false // 隐藏签出按钮
        },
        //...
    };
    const dom = document.getElementById('root');
    const clinkToolbar = new ClinkToolbar(options, dom, () => {
        console.log('电话条初始化完成');
    });
    const params = {
        identifier: 'xxx',
        cno: 'xxx',
        password: 'xxx',
    }
    clinkToolbar.setLoginNecessaryParams(params);

示意图 image

参数说明:

参数 类型 默认值 是否必填 说明

debug

boolean

true

是否开启debug日志,默认开启

toolbarMsgShowConfiguration

object

{showEnterprise:true, showTel:true, showAgentInitStatus:true}

隐藏登录界面中的部分版块

isAutoLogin

boolean

false

是否隐藏登录界面

toolbarMsgShowConfiguration参数说明:

参数 类型 默认值 是否必填 说明

showEnterprise

boolean

true

是否展示企业编码、座席工号、密码

showTel

boolean

true

是否展示电话类型和电话号码

showAgentInitStatus

boolean

true

是否展示座席初始状态

showLogout

boolean

true

是否显示座席登录后的签出按钮,默认显示

隐藏部分版块后,座席登录的必需参数初始化方式如下:

    clinkToolbar.setLoginNecessaryParams(params);

params参数说明:

参数 类型 说明

identifier

string

企业编码 当showEnterprise为false时必填,否则忽略

cno

string

座席工号 规则同identifier

password

string

密码 规则同identifier

bindType

number

绑定电话类型 当showTel为false时必填,否则忽略 参数取值参考[登录]

bindTel

string

绑定电话号码 规则同bindType

loginStatus

number

座席初始登录状态 当showAgentInitStatus为false时必填,否则忽略 参数取值参考[登录]

隐藏整个版块

如果您不需要展示登录界面,只需将options参数中isAutoLogin参数设为true,然后调用ClinkAgent.login()方法即可。

    const options = {
        //...
        isAutoLogin: true, //隐藏登录界面
        //...
    };
    const dom = document.getElementById('root');
    var clinkToolbar = new ClinkToolbar(options, dom, () => {
        console.log('电话条初始化完成');
    });
    const params = {
        identifier: 'xxx',
        cno: 'xxx',
        password: 'xxx',
        bindTel: 'xxx',
        bindType: xxx,
        loginStatus: 1,
    };
    ClinkAgent.login(params);
  • isAutoLogin为true的场景会完全忽略手动填写信息的步骤,为避免页面白页,请确保调用ClinkAgent.login(params)的传参是齐全且格式正确的(参数类型请参考[登录]

  • 请确保login()方法在工具条实例创建之后调用

  • 如果您希望自己监听一部分事件,请在login()方法之前完成事件监听的注册

  • 如果采用手动填写信息的登录方式,请忽略isAutoLogin参数

话务管理配置

您可根据实际需要配置座席可进行的话务操作,如下图所示 image

var options = {
    //...
    showHold: true, // 支持保持
    showConsult: true, //支持咨询,
    showTransfer: true, //支持转移
    showSatisfaction: true, //支持满意度
    showMute: true //支持静音`
}
var clinkToolbar = new ClinkToolbar(
    options,
    domContainer,
    callback
);

话务管理参数说明:

参数 类型 默认值 是否必填 说明

showHold

boolean

true

是否支持保持

showConsult

boolean

true

是否支持咨询

showTransfer

boolean

true

是否支持转移

showSatisfaction

boolean

true

是否支持满意度

showMute

boolean

true

是否支持静音

3.2. 座席操作

3.2.1. 登录

ClinkAgent.login(params);
// 注意事项:全文中的clinkToolbar全部指初始化电话条(ClinkToolbar)时生成的全局变量
clinkToolbar.userCustomEvent.on(ClinkAgent.ResponseType.LOGIN, function(event) {});  // 登录后的事件监听

3.2.2. 退出

ClinkAgent.logout(params);
clinkToolbar.userCustomEvent.on(ClinkAgent.ResponseType.LOGOUT, function(event) {}); // 退出后的事件监听

3.2.3. 预览外呼

ClinkAgent.previewOutcall(params);

参数params

参数 类型 可选 描述

tel

String

必选

外呼号码 , 当开启号码隐藏设置时,可从弹屏事件中获取customerNumberKey的值,进行外呼

timeout

Integer

可选

呼叫座席超时时间,取值范围 5⇐timeout⇐60,默认30单位:秒

dialTelTimeout

Integer

可选

取值范围 5⇐dialTelTimeout⇐60,默认45,单位:秒

obClid

String

可选

客户侧外显号码

obClidGroup

String

可选

客户侧外显号码组 (字段废弃),使用obClidGroup需要账号支持按标识路由,使用此参数是obClid参数无效

obClidGroupName

String

可选

客户侧外显号码组,使用obClidGroupName需要账号支持按标识路由,使用此参数时obClid参数无效

userField

String

可选

用户自定义变量,

1. 将对象数据转化为json格式字符串,例如:"{\"key\":\"value\"}"

传入的值若需要在通话记录中进行展示,则需要在管理员控制台-企业配置-系统对接-话单变量,配置相应属性

requestUniqueId

String

可选

请求唯一标识,不传会自动生成,会存入通话记录表中

backupTels

String

可选

备用外呼号码,tel没呼通时呼叫备用号码,最多支持5个号码,多个之间用逗号分隔

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:previewOutcall

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

3.3. 事件说明

如果您想在业务系统中基于相应事件做扩展处理,请注册以下事件

⚠️ 同一事件多次注册,按注册顺序依次执行

clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.STATUS, e => {
    console.log('座席状态事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.PREVIEW_OUTCALL_RINGING, e => {
    console.log('预览外呼客户响铃事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.PREVIEW_OUTCALL_BRIDGE, e => {
    console.log('预览外呼客户接听事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_START, e => {
    console.log('咨询开始事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_LINK, e => {
    console.log('咨询接听事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_ERROR, e => {
    console.log('咨询失败事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.UNCONSULT, e => {
    console.log('咨询挂断/接回/取消事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_THREEWAY, e => {
    console.log('咨询三方事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_THREEWAY_UNLINK, e => {
    console.log('咨询三方挂断事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.CONSULT_TRANSFER, e => {
    console.log('咨询转移事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.RINGING, e => {
    console.log('响铃事件回调:', e);
});
clinkToolbar.userCustomEvent.on(ClinkAgent.EventType.KICKOUT, e => {
    console.log('被踢下线事件回调:', e);
});

// 注册只监听一次的事件
clinkToolbar.userCustomEvent.once(ClinkAgent.EventType.STATUS, e => {
    console.log('座席状态事件回调:', e);
});
// 取消事件监听
clinkToolbar.userCustomEvent.off(ClinkAgent.EventType.RINGING);

3.3.1. 座席状态

参数 类型 描述

type

String

event

event

String

status

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作,座席状态动作对照表

loginStatus

Integer

登录状态

deviceStatus

Integer

设备状态

pauseDescription

String

loginStatus=2时,置忙描述

callType

Integer

deviceStatus=2,3或4时,通话类型

3.3.2. 预览外呼客户响铃

参数 类型 描述

type

String

event

event

String

previewOutcallRinging

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

3.3.3. 预览外呼客户接听

参数 类型 描述

type

String

event

event

String

previewOutcallRinging

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

customerNumberType

Integer

客户号码类型,1:固话 、2:手机

customerAreaCode

String

客户号码区号

calleeNumber

String

被叫号码

customerNumber

String

客户号码

callType

Integer

通话类型

3.3.4. 咨询开始

参数 类型 描述

type

String

event

event

String

consultStart

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

channel

String

通道名称

3.3.5. 咨询接听

参数 类型 描述

type

String

event

event

String

consultStart

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

channel

String

通道名称

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

3.3.6. 咨询接回/挂断/取消

参数 类型 描述

type

String

event

event

String

unconsult

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

3.3.7. 咨询失败

参数 类型 描述

type

String

event

event

String

consultError

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

3.3.8. 咨询三方

参数 类型 描述

type

String

event

event

String

consultThreeway

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

3.3.9. 咨询三方挂断

参数 类型 描述

type

String

event

event

String

consultThreewayUnlink

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

3.3.10. 咨询转移

参数 类型 描述

type

String

event

event

String

consultThreewayUnlink

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

3.3.11. 弹屏

参数 类型 描述

type

String

event

event

String

ringing

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

customerNumberType

Integer

客户号码类型,1:固话 、2:手机

customerAreaCode

String

客户号码区号

customerNumber

String

客户号码

customerProvince

String

客户省份

customerCity

String

客户城市

calleeNumber

String

被叫号码

callType

Integer

通话类型

uniqueId

String

通话唯一标识

mainUniqueId

String

主通话唯一标识

3.3.12. 被踢下线

参数 类型 描述

type

String

event

event

String

kickout

enterpriseId

Integer

企业id

cno

String

座席工号

3.3.13. 座席状态动作对照表

event code action 描述

status

OFFLINE

offline

离线

status

IDLE

-

空闲

status

PAUSE

pause

忙碌

status

CALLING

calling

呼叫中

status

RINGING

ringingIb

呼入座席响铃

status

RINGING

ringingAgentOb

外呼座席响铃

status

RINGING

ringingConsult

咨询响铃

status

RINGING

ringingTransfer

转移响铃

status

BUSY

busyAgentOb

外呼座席接通,呼叫客户中

previewOutcallRinging

BUSY

ringingCustomerOb

外呼客户响铃

previewOutcallBridge

BUSY

busyOb

外呼客户接听,双方通话

status

BUSY

busyIb

呼入接听

status

BUSY

hold

保持开始

status

BUSY

unhold

保持取消

consultStart

BUSY

consultStart

咨询开始

consultLink

BUSY

consultLink

咨询成功

unconsult

BUSY

unconsult

咨询接回

consultThreeway

BUSY

consultThreeway

咨询三方

consultError

BUSY

consultError

咨询失败

consultTransfer

BUSY

consultTransfer

咨询转移

status

BUSY

busyConsult

座席被咨询

status

BUSY

busyTransfer

座席被转移

status

WRAPUP

wrapup

整理开始

ringing

-

-

设备响铃

breakLine

-

-

断线

kickout

-

-

被踢下线

4. 接口版

4.1. 快速集成

4.1.1. 引入依赖

首先在页面中引入clink-client.js

<script type="text/javascript" src="{host}/clink-client.js?id={identifier}"></script>

参数说明:

参数 说明

host

平台接入地址:

北京平台:https://ws-bj.clink.cn/

上海平台:https://ws-sh.clink.cn/

其它平台:请咨询技术支持

identifier

企业编号,开户时创建的企业编号

4.1.2. 参数设置

clink-client.js加载完成后,即可通过ClinkAgent对象调用setup方法进行初始设置

ClinkAgent.setup(params, callback);

参数说明:

参数 类型 必选 说明

sipPhone

boolean

是否使用软电话

debug

boolean

是否开启控制台日志

callback回调函数

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    // 回调操作
});

4.1.3. 事件注册

在ClinkAgent.setup的回调函数中进行事件注册多次注册同一事件,只保留最后一次注册的回调函数。注册方式如下:

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    ClinkAgent.registerListener(ClinkAgent.EventType.STATUS, function (token) {

    });
});

4.1.4. 方法调用

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    // 以登录为例,注册回调方法
    ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGIN, function (result) {
        if(result.code === 0) {
            // 登录成功
        } else {
            // 登录失败
        }
    });

    // 传入参数对象
    var params = {};
    params.pauseType = 1;
    params.pauseDescription = "忙碌";

    ClinkAgent.pause(params);

    // 不传入参数对象
    ClinkAgent.unpause();
});

4.2. 座席操作

座席操作相关回调方法注册示例:

ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGIN, function(event) {}); // 登录

ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGOUT, function(event) {}); //退出

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PAUSE, function(event) {}); // 置忙

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNPAUSE, function(event) {}); // 置闲

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PREVIEW_OUTCALL, function(event) {}); // 预览外呼

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PREVIEW_OUTCALL_CANCEL, function(event) {}); // 外呼取消

ClinkAgent.registerCallback(ClinkAgent.ResponseType.REFUSE, function(event) {}); // 拒接

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNLINK, function(event) {}); // 挂断

ClinkAgent.registerCallback(ClinkAgent.ResponseType.HOLD, function(event) {}); // 保持

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNHOLD, function(event) {}); // 保持接回

ClinkAgent.registerCallback(ClinkAgent.ResponseType.MUTE, function(event) {}); // 静音

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNMUTE, function(event) {}); // 取消静音

ClinkAgent.registerCallback(ClinkAgent.ResponseType.CONSULT, function(event) {}); // 咨询

ClinkAgent.registerCallback(ClinkAgent.ResponseType.CONSULT_CANCEL, function(event) {}); // 咨询取消

ClinkAgent.registerCallback(ClinkAgent.ResponseType.CONSULT_TRANSFER, function(event) {}); // 咨询转移

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNCONSULT, function(event) {}); // 咨询接回

ClinkAgent.registerCallback(ClinkAgent.ResponseType.TRANSFER, function(event) {}); // 转移

ClinkAgent.registerCallback(ClinkAgent.ResponseType.INTERACT, function(event) {}); // 交互

ClinkAgent.registerCallback(ClinkAgent.ResponseType.INVESTIGATION, function(event) {}); // 满意度调查

ClinkAgent.registerCallback(ClinkAgent.ResponseType.DTMF, function(event) {}); // 发送按键

ClinkAgent.registerCallback(ClinkAgent.ResponseType.CHANGE_BIND_TEL, function(event) {}); // 修改绑定电话

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PROLONG_WRAPUP, function(event) {}); // 延长整理时间(方法已废弃,该回调无效)

ClinkAgent.registerCallback(ClinkAgent.ResponseType.SIP_LINK, function(event) {}); // 软电话接听

ClinkAgent.registerCallback(ClinkAgent.ResponseType.SIP_UNLINK, function(event) {}); // 软电话挂断

ClinkAgent.registerCallback(ClinkAgent.ResponseType.STATUS, function(event) {}); // 座席状态

ClinkAgent.registerCallback(ClinkAgent.ResponseType.ENTERPRISE_PAUSE, function(event) {}); // 企业置忙状态

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PARALLEL_RINGING, function(event) {}); // 座席同振

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PARALLEL_PICKUP, function(event) {}); // 同振抢线

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PARALLEL_REFUSE, function(event) {}); // 同振拒接

4.2.1. 登录

登录

ClinkAgent.login(params);

参数params

参数 类型 可选 描述

identifier

String

必选

企业编号

cno

String

必选

座席工号

password

String

必选

座席密码

bindTel

String

必选

绑定电话

bindType

Integer

必选

绑定类型,1:普通电话、2:IP话机、3:软电话

loginStatus

Integer

必选

登录状态,1:空闲、2:忙碌

pauseDescription

String

可选

置忙描述,当loginStatus为2时需要给定参数值,描述需包含在企业自定义的置忙状态内

needPasswordEncry

Integer

可选

是否需要对密码加密,1-前端加密 0-明文

queueMembers

Objects[]

可选

座席绑定队列;

数据源 参考 查看座席详情接口 返回的 queues 数据。(queueId:队列id,penalty:优先级)

赋值示例:[{"queueId":44170,"penalty":1}]

chatLoginStatus

Integer

 — 

1:空闲 2:置忙,全渠道、在线类型座席必选

chatPauseDescription

String

 — 

置忙登录时的置忙状态

chatLimitNumber

Integer

 — 

可接待会话数,指定则更新当前设置值

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:login

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

object

返回数据对象

示例

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    // 注册登录响应回调方法
    ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGIN, function (result) {
        if(result.code === 0){
            // 登录成功
        } else {
            // 登录失败
        }
    });
});

var params = {};
params.identifier = "";
params.cno = "";
params.loginStatus = 1;
params.bindTel = "";
params.bindType = 1;
params.password = "";

ClinkAgent.login(params);

4.2.2. token登录

token登录

ClinkAgent.login(params);

参数params

参数 类型 可选 描述

identifier

String

必选

企业编号

agentToken

String

必选

token

agentTokenLogin

Integer

必选

登录类型 值为:1

bindTel

String

必选

绑定电话,使用默认绑定电话请传空字符串:""

bindType

Integer

必选

绑定类型,1:普通电话、2:IP话机、3:软电话

loginStatus

Integer

必选

登录状态,1:空闲、2:忙碌

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:login

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

object

返回数据对象

示例

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    // 注册登录响应回调方法
    ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGIN, function (result) {
        if(result.code === 0){
            // 登录成功
        } else {
            // 登录失败
        }
    });
});

var params = {};
params.identifier = "";
params.agentToken = "";
params.agentTokenLogin = 1;
params.bindTel = "";
params.bindType = 1;

ClinkAgent.login(params);

4.2.3. 退出

ClinkAgent.logout(params);

参数params

参数 类型 可选 描述

logoutMode

Integer

必选

退出方式,0:退出后台在线、1:完全退出

removeBinding

Integer

必选

解绑电话,0:不解绑、1:解绑

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:logout

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

示例

ClinkAgent.setup({sipPhone: false, debug: false}, function () {
    // 注册退出响应回调方法
    ClinkAgent.registerCallback(ClinkAgent.ResponseType.LOGOUT, function (result) {
        if(result.code === 0) {
            // 退出成功
        } else {
            // 退出失败
        }
    });
});

var params = {};
params.logoutMode = 1;
params.removeBinding = 0;

ClinkAgent.logout(params);

4.2.4. 置忙

ClinkAgent.pause(params);

参数params

参数 类型 可选 描述

pauseType

Integer

必选

类型,1:置忙、2:休息

pauseDescription

String

可选

置忙描述

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:pause

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.5. 置闲

// 例: ClinkAgent.unpause({});
ClinkAgent.unpause(params);

参数params:无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unpause

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

4.2.6. 预览外呼

// 注意: 预览外呼须在 EVENT_TYPE.SIP_REGISTERED 事件发生后进行 !!!
// 例: ClinkAgent.registerListener(ClinkAgent.EventType.SIP_REGISTERED, function(token) {})
ClinkAgent.previewOutcall(params);

参数params

参数 类型 可选 描述

tel

String

必选

外呼号码 , 当开启号码隐藏设置时,可从弹屏事件中获取customerNumberKey的值,进行外呼

timeout

Integer

可选

呼叫座席超时时间,取值范围 5⇐timeout⇐60,默认30单位:秒

dialTelTimeout

Integer

可选

取值范围 5⇐dialTelTimeout⇐60,默认45,单位:秒

obClid

String

可选

客户侧外显号码

obClidGroup

String

可选

客户侧外显号码组 (字段废弃),使用obClidGroup需要账号支持按标识路由,使用此参数时,obClid参数无效

obClidGroupName

String

可选

客户侧外显号码组,使用obClidGroupName需要账号支持按标识路由,使用此参数时,obClid参数无效

userField

String

可选

用户自定义变量

requestUniqueId

String

可选

请求id

backupTels

String

可选

备用号码,多个号码以`,`链接。

task

String

可选

外呼任务 外呼任务ID。

taskInventoryId

String

可选

外呼任务详情id。

1. 将对象数据转化为json格式字符串,例如:"{\"key\":\"value\"}"

传入的值若需要在通话记录中进行展示,则需要在管理员控制台-企业配置-系统对接-话单变量,配置相应属性

requestUniqueId

String

可选

请求唯一标识,不传会自动生成,会存入通话记录表中

backupTels

String

可选

备用外呼号码,tel没呼通时呼叫备用号码,最多支持5个号码,多个之间用逗号分隔

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:previewOutcall

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.7. 预览外呼取消

// 例:ClinkAgent.previewOutcallCancel({});
ClinkAgent.previewOutcallCancel(params);

参数params :无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:previewOutcallCancel

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.8. 拒接

ClinkAgent.refuse(params);

参数params:无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:refuse

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.9. 挂断

ClinkAgent.unlink(params);

参数params

参数 类型 可选 描述

side

Integer

可选

挂机侧,1:座席侧、2:客户侧,默认座席侧

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unlink

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.10. 保持

ClinkAgent.hold(params);

参数params

参数 类型 可选 描述

holdType

Integer

可选

保持类型,0:通话保持、1:咨询保持、2:转移保持,默认通话保持

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:hold

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.11. 保持接回

ClinkAgent.unhold(params);

参数params

参数 类型 可选 描述

holdType

Integer

可选

保持类型,0:通话保持、1:咨询保持、2:转移保持,默认通话保持

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unhold

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.12. 静音

ClinkAgent.mute(params);

参数params

参数 类型 可选 描述

direction

String

必选

静音方向,in:座席侧、out:客户侧、all:全部侧

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:mute

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.13. 取消静音

ClinkAgent.unmute(params);

参数params

参数 类型 可选 描述

direction

String

必选

静音方向,in:座席侧、out:客户侧、all:全部侧

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unmute

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.14. 咨询

ClinkAgent.consult(params);

参数params

参数 类型 可选 描述

objectType

Integer

必选

咨询类型,0:电话号码,1:座席号,2:IP话机号

consultObject

String

必选

咨询对象 (电话号码 或 座席号 或 IP话机号)

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consult

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.15. 咨询取消

// 例如: ClinkAgent.consultCancel({});
ClinkAgent.consultCancel(params);

参数params: 无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consultCancel

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.16. 咨询转移

ClinkAgent.consultTransfer(params);

参数params

参数 类型 可选 描述

limitTimeSecond

Integer

可选

通话限制时间,单位:秒

limitTimeAlertSecond

Integer

可选

提前提醒时间,单位:秒

limitTimeFile

String

可选

提醒语音文件名称

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consultTransfer

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.17. 咨询三方

ClinkAgent.consultThreeway(params);

参数params

参数 类型 可选 描述

limitTimeSecond

Integer

可选

通话限制时间,单位:秒

limitTimeAlertSecond

Integer

可选

提前提醒时间,单位:秒

limitTimeFile

String

可选

提醒语音文件名称

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consultThreeway

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.18. 咨询三方静态转接

ClinkAgent.consultTransferThreeway(params);

参数params

参数 类型 可选 描述

limitTimeSecond

Integer

可选

通话限制时间,单位:秒

limitTimeAlertSecond

Integer

可选

提前提醒时间,单位:秒

limitTimeFile

String

可选

提醒语音文件名称

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consultTransferThreeway

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.19. 咨询接回

ClinkAgent.unconsult(params);

参数params

参数 类型 可选 描述

limitTimeSecond

Integer

 — 

通话限制时间,单位:秒

limitTimeAlertSecond

Integer

 — 

提前提醒时间,单位:秒

limitTimeFile

String

 — 

提醒语音文件名称

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unconsult

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.20. 咨询三方接回

ClinkAgent.consultUnthreeway(params);

参数params: 无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:consultUnthreeway

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.21. 转移

ClinkAgent.transfer(params);

参数params

参数 类型 可选 描述

objectType

Integer

必选

转移类型,0:电话号码、1:座席号、2:IP话机号、3:语音导航节点

transferObject

String

必选

转移对象,转移类型为语音导航节点时传递json格式字符串

ivrNode: 语音导航节点endPoint

{\"ivrName\":\"XXX\", \"ivrNode\":\"XXXXXXXXX\"}

hold

Integer

可选

座席保持通话,1:保持,0:不保持,默认不保持。仅转移类型为语音导航节点时,支持保持通话功能

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:transfer

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.22. 交互

ClinkAgent.interact(params);

参数params

参数 类型 可选 描述

interactType

String

必选

交互类型;1(默认):语音导航节点;2:坐席

ivrId

Integer

可选

语音导航id (字段废弃)

ivrName

String

可选

语音导航名称

ivrNode

String

可选

语音导航节点endPoint

interactedCno

String

可选

交互座席

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:interact

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.23. 满意度调查

ClinkAgent.investigation(params);

参数params :无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:investigation

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.24. 内部呼叫

ClinkAgent.internalCall(params);

参数params

参数 类型 可选 描述

internalType

Integer

必选

内部呼叫类型,0:座席号、1:IP话机号

calleeNumber

String

必选

被叫号码

timeout

Integer

可选

呼叫座席超时时间,取值范围 5⇐timeout⇐60,默认30单位:秒

dialTelTimeout

Integer

可选

取值范围 5⇐dialTelTimeout⇐60,默认45,单位:秒

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:internalCall

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.25. 发送按键

ClinkAgent.dtmf(params);

参数params

参数 类型 可选 描述

digits

String

必选

按键值,数字类型的字符串,最大 20 位

direction

String

必选

发送按键方向,in:座席侧;out:客户侧,all:双方,consult:被咨询侧

duration

Integer

可选

按键持续毫秒数,取值 100-500 之间,默认值 100

gap

Integer

可选

按键之间间隔毫秒数,取值 250-1000 之间,默认值 250

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:dtmf

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.26. 修改绑定电话

ClinkAgent.changeBindTel(params);

参数params

参数 类型 可选 描述

bindTel

String

必选

绑定号码

bindType

Integer

可选

号码类型,1:电话号码、2:IP话机号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:changeBindTel

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.27. 延长整理时间 (方法已被禁用)

ClinkAgent.prolongWrapup(params);

参数params

参数 类型 可选 描述

wrapupTime

Integer

必选

延长时间,取值30-600之间,单位:秒

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:prolongWrapup

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.2.28. 软电话接听

ClinkAgent.sipLink();

4.2.29. 软电话挂断

ClinkAgent.sipUnlink();

4.2.30. 座席状态

// ClinkAgent.status({});
ClinkAgent.status(params);

参数params:无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:status

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

4.2.31. 企业置忙状态

ClinkAgent.enterprise_pause();

参数params:无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:enterprise_pause

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

4.2.32. 座席同振

ClinkAgent.parallelRinging(params);

参数params:

参数 类型 可选 描述

parallelCnos

String

必选

同振座席,以`,`连接。

exten

String

必选

分机号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:parallelRinging

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

4.2.33. 同振抢线

ClinkAgent.parallelPickup(params);

参数params:

参数 类型 可选 描述

initiateCno

String

必选

发起同振座席

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:parallelPickup

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

4.2.34. 同振拒接

ClinkAgent.parallelPickup(params);

参数params:

参数 类型 可选 描述

initiateCno

String

必选

发起同振座席

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:parallelPickup

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

4.2.35. Ping响应

// 无需主动调用

参数params:无

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:ping

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

values

Object

返回数据对象

latency

Integer

延迟时间,单位:毫秒。

latency ⇐ 100:好

100 < latency ⇐ 200:中

200 < latency ⇐ 500:差

500 < latency:极差

4.3. 班长席操作

班长席操作相关回调方法注册示例:

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PAUSE_CLIENT, function(event) {}); // 置忙

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNPAUSE_CLIENT, function(event) {}); // 置闲

ClinkAgent.registerCallback(ClinkAgent.ResponseType.SPY, function(event) {}); // 监听

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNSPY, function(event) {}); // 取消监听

ClinkAgent.registerCallback(ClinkAgent.ResponseType.THREEWAY, function(event) {}); // 三方

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNTHREEWAY, function(event) {}); // 取消三方

ClinkAgent.registerCallback(ClinkAgent.ResponseType.WHISPER, function(event) {}); // 耳语

ClinkAgent.registerCallback(ClinkAgent.ResponseType.UNWHISPER, function(event) {}); // 取消耳语

ClinkAgent.registerCallback(ClinkAgent.ResponseType.BARGE, function(event) {}); // 强插

ClinkAgent.registerCallback(ClinkAgent.ResponseType.DISCONNECT, function(event) {}); // 强拆

ClinkAgent.registerCallback(ClinkAgent.ResponseType.PICKUP, function(event) {}); // 抢线

4.3.1. 置忙

ClinkAgent.pause_client(params);

参数params

参数 类型 可选 描述

cno

String

必选

被置忙的座席编号

pauseDescription

String

可选

置忙描述

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:pause_client

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.2. 置闲

ClinkAgent.unpause_client(params);

参数params

参数 类型 可选 描述

cno

String

必选

被置闲的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:unpause_client

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.3. 监听

ClinkAgent.spy(params);

参数params

参数 类型 可选 描述

cno

String

必选

被监听的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:spy

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.4. 取消监听

ClinkAgent.unspy();

4.3.5. 三方

ClinkAgent.threeway(params);

参数params

参数 类型 可选 描述

cno

String

必选

被三方的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:threeway

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.6. 取消三方

ClinkAgent.unthreeway();

参数params

参数 类型 可选 描述

cno

String

必选

被三方的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:threeway

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.7. 耳语

ClinkAgent.whisper(params);

参数params

参数 类型 可选 描述

cno

String

必选

被耳语的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:whisper

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.8. 取消耳语

ClinkAgent.unwhisper();

4.3.9. 强插

ClinkAgent.barge(params);

参数params

参数 类型 可选 描述

cno

String

必选

被强插的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:barge

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.10. 强拆

ClinkAgent.disconnect(params);

参数params

参数 类型 可选 描述

cno

String

必选

被强拆的座席编号

callback方法的参数

属性 类型 描述

type

String

消息类型,始终为:response

reqType

String

请求类型,始终为:disconnect

code

Integer

响应结果,0:成功、-1:失败

errorCode

Integer

错误码

msg

String

响应消息

4.3.11. 订阅监控事件

 ClinkAgent.subscribeMonitor()

参数params:无

callback方法的参数:无

4.3.12. 取消订阅监控事件

 ClinkAgent.unsubscribeMonitor()

参数params:无

callback方法的参数:无

4.4. 事件说明

ClinkAgent.EVENT_TYPE对象封装了所有的事件类型,示例如下

ClinkAgent.setup({sipPhone: false, debug: false}, function () {

    ClinkAgent.registerListener(ClinkAgent.EventType.STATUS, handleState); // 座席状态

    ClinkAgent.registerListener(ClinkAgent.EventType.PREVIEW_OUTCALL_START, handleState); // 预览外呼呼叫客户

    ClinkAgent.registerListener(ClinkAgent.EventType.PREVIEW_OUTCALL_RINGING, handleState); // 预览外呼客户响铃

    ClinkAgent.registerListener(ClinkAgent.EventType.PREVIEW_OUTCALL_BRIDGE, handleState); // 预览外呼客户接听

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_START, handleState); // 咨询开始

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_LINK, handleState); // 咨询接听

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_ERROR, handleState); // 咨询失败

    ClinkAgent.registerListener(ClinkAgent.EventType.UNCONSULT, handleState); // 咨询接回/挂断/取消

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_THREEWAY, handleState); // 咨询三方

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_THREEWAY_UNLINK, handleState); // 咨询三方挂断

    ClinkAgent.registerListener(ClinkAgent.EventType.CONSULT_TRANSFER, handleState); // 咨询转移

    ClinkAgent.registerListener(ClinkAgent.EventType.RINGING, handleRinging); // 弹屏、响铃

    ClinkAgent.registerListener(ClinkAgent.EventType.PREVIEW_OUTCALL, function (token) { }); // 预览外呼

    ClinkAgent.registerListener(ClinkAgent.EventType.KICKOUT, function (token) { }); // 被踢下线

    ClinkAgent.registerListener(ClinkAgent.EventType.BREAK_LINE, breakLineInfo); // 断线

    ClinkAgent.registerListener(ClinkAgent.EventType.INTERACT_RETURN, function (token) { }); // 交互返回

    ClinkAgent.registerListener(ClinkAgent.EventType.QUEUE_STATUS, function (token) { }); // 队列状态

    ClinkAgent.registerListener(ClinkAgent.EventType.OB_REMEMBER_BUSY, function (token) { }); // 外呼主叫记忆未接

    ClinkAgent.registerListener(ClinkAgent.EventType.NO_ANSWER, function (token) { }); // 未接来电

    ClinkAgent.registerListener(ClinkAgent.EventType.UNREACHABLE_AUTO_PAUSE, function (token) { }); // 话机不可达置忙

    ClinkAgent.registerListener(ClinkAgent.EventType.ORDER_CALL_BACK, function (token) { }); // 预约回呼

    ClinkAgent.registerListener(ClinkAgent.EventType.PARALLEL_RINGING, function (token) { }); // 座席同振

    ClinkAgent.registerListener(ClinkAgent.EventType.SIP_DISCONNECTED, function (token) { }); // 软电话断线

    ClinkAgent.registerListener(ClinkAgent.EventType.SIP_CONNECTED, function (token) { }); // 软电话连接

    ClinkAgent.registerListener(ClinkAgent.EventType.SIP_REGISTERED, function (token) { }); // 软电话注册

    ClinkAgent.registerListener(ClinkAgent.EventType.JOIN_QUEUE, function (token) { }); // 客户进入队列

    ClinkAgent.registerListener(ClinkAgent.EventType.QUEUE_CALL, function (token) { }); // 排队正在呼叫座席

    ClinkAgent.registerListener(ClinkAgent.EventType.QUEUE_RNA, function (token) { }); // 排队呼叫座席未应答

    ClinkAgent.registerListener(ClinkAgent.EventType.LEAVE_QUEUE, function (token) { }); // 客户离开队列

});

4.4.1. 座席状态

参数 类型 描述

type

String

event

event

String

status

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作,座席状态动作对照表

loginStatus

Integer

登录状态

deviceStatus

Integer

设备状态

pauseDescription

String

loginStatus=2时,置忙描述

callType

Integer

deviceStatus=2,3或4时,通话类型

4.4.2. 预览外呼呼叫客户

参数 类型 描述

type

String

event

event

String

previewOutcallStart

enterpriseId

Integer

企业id

cno

String

座席工号

customerNumberType

Integer

客户号码类型,1:固话 、2:手机

customerAreaCode

String

客户号码区号

calleeNumber

String

被叫号码

customerNumber

String

客户号码

callType

Integer

通话类型

4.4.3. 预览外呼客户响铃

参数 类型 描述

type

String

event

event

String

previewOutcallRinging

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

4.4.4. 预览外呼客户接听

参数 类型 描述

type

String

event

event

String

previewOutcallRinging

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

customerNumberType

Integer

客户号码类型,1:固话 、2:手机

customerAreaCode

String

客户号码区号

calleeNumber

String

被叫号码

customerNumber

String

客户号码

callType

Integer

通话类型

4.4.5. 内部呼叫开始

参数 类型 描述

type

String

event

event

String

internalCallStart

enterpriseId

Integer

企业id

cno

String

座席工号

4.4.6. 内部呼叫接听

参数 类型 描述

type

String

event

event

String

internalCallBridge

enterpriseId

Integer

企业id

cno

String

座席工号

4.4.7. 咨询开始

参数 类型 描述

type

String

event

event

String

consultStart

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

channel

String

通道名称

4.4.8. 咨询接听

参数 类型 描述

type

String

event

event

String

consultStart

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

channel

String

通道名称

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

4.4.9. 咨询接回/挂断/取消

参数 类型 描述

type

String

event

event

String

unconsult

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

4.4.10. 咨询失败

参数 类型 描述

type

String

event

event

String

consultError

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

4.4.11. 咨询三方

参数 类型 描述

type

String

event

event

String

consultThreeway

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

4.4.12. 咨询三方挂断

参数 类型 描述

type

String

event

event

String

consultThreewayUnlink

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

4.4.13. 咨询转移

参数 类型 描述

type

String

event

event

String

consultThreewayUnlink

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

objectType

Integer

咨询类型,0:电话号码、1:座席号、2:IP话机号

consultObject

String

咨询对象

4.4.14. 弹屏

参数 类型 描述

type

String

event

event

String

ringing

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

座席对应状态

action

String

状态对应动作

customerNumberType

Integer

客户号码类型,1:固话 、2:手机

customerAreaCode

String

客户号码区号

calleeNumber

String

被叫号码

customerNumber

String

客户号码

callType

Integer

通话类型

uniqueId

String

通话唯一标识

mainUniqueId

String

主通话唯一标识

4.4.15. 预览外呼结果

参数 类型 描述

type

String

event

event

String

previewOutcall

enterpriseId

Integer

企业id

cno

String

座席工号

result

String

结果,success接通成功;error失败,如外呼取消等

4.4.16. 被踢下线

参数 类型 描述

type

String

event

event

String

kickout

enterpriseId

Integer

企业id

cno

String

座席工号

4.4.17. 断线

参数 类型 描述

type

String

event

event

String

breakLine

enterpriseId

Integer

企业id

cno

String

座席工号

code

String

重连状态,0:成功、1:失败

randoms

Integer

随机数,重连间隔

attempts

Integer

重连次数

4.4.18. 客户进入队列

参数 类型 描述

type

String

event

event

String

joinQueue

enterpriseId

Integer

企业id

qno

String

队列号

customerNumber

String

客户号码

customerNumberEncrypt

String

客户加密号码

uniqueId

String

通话唯一标识

queueEntryCount

Integer

队列内客户数

queueEntryNPCount

Integer

队列内排队数

4.4.19. 排队正在呼叫座席

参数 类型 描述

type

String

event

event

String

queueCall

enterpriseId

Integer

企业id

qno

String

队列号

cno

String

座席工号

uniqueId

String

通话唯一标识

queueEntryCount

Integer

队列内客户数

queueEntryNPCount

Integer

队列内排队数

4.4.20. 排队呼叫座席未应答

参数 类型 描述

type

String

event

event

String

queueRna

enterpriseId

Integer

企业id

qno

String

队列号

uniqueId

String

通话唯一标识

queueEntryCount

Integer

队列内客户数

queueEntryNPCount

Integer

队列内排队数

4.4.21. 客户离开队列

参数 类型 描述

type

String

event

event

String

leaveQueue

enterpriseId

Integer

企业id

qno

String

队列号

uniqueId

String

通话唯一标识

queueEntryCount

Integer

队列内客户数

queueEntryNPCount

Integer

队列内排队数

4.4.22. 座席状态动作对照表

event code action 描述

status

OFFLINE

offline

离线

status

IDLE

-

空闲

status

PAUSE

pause

忙碌

status

CALLING

calling

呼叫中

status

RINGING

ringingIb

呼入座席响铃

status

RINGING

ringingAgentOb

外呼座席响铃

status

RINGING

ringingConsult

咨询响铃

status

RINGING

ringingTransfer

转移响铃

status

BUSY

busyAgentOb

外呼座席接通,呼叫客户中

previewOutcallRinging

BUSY

ringingCustomerOb

外呼客户响铃

previewOutcallBridge

BUSY

busyOb

外呼客户接听,双方通话

status

BUSY

busyIb

呼入接听

status

BUSY

hold

保持开始

status

BUSY

unhold

保持取消

consultStart

BUSY

consultStart

咨询开始

consultLink

BUSY

consultLink

咨询成功

unconsult

BUSY

unconsult

咨询接回

consultThreeway

BUSY

consultThreeway

咨询三方

consultError

BUSY

consultError

咨询失败

consultTransfer

BUSY

consultTransfer

咨询转移

status

BUSY

busyConsult

座席被咨询

status

BUSY

busyTransfer

座席被转移

status

WRAPUP

wrapup

整理开始

ringing

-

-

设备响铃

breakLine

-

-

断线

kickout

-

-

被踢下线

5. 桌面版

5.2. 座席操作

5.2.1. 登录

<a href="tinet://startapp/here?"+path >登录</a>

path参数说明:

参数 类型 可选 描述

identifier

String

必选

企业编号

cno

String

必选

座席工号

password

String

必选

座席密码

bindTel

String

必选

绑定电话

bindType

Integer

必选

绑定类型,1:普通电话、2:IP话机、3:软电话

initStatus

Integer

必选

登录状态,1:空闲、2:忙碌

pauseDescription

String

可选

置忙描述

chatLoginStatus

Integer

可选

1:空闲 2:置忙,全渠道、在线类型座席必选

chatPauseDescription

String

可选

置忙登录时的置忙状态

chatLimitNumber

Integer

可选

可接待会话数,指定则更新当前设置值

platform

Integer

可选

指定平台,1:北京平台、2:上海平台、3:新加坡平台;不传默认北京平台

handleType

String

必选

'login' 执行登录事件

5.2.2. token登录

<a href="tinet://startapp/here?"+path >登录</a>

path参数说明:

参数 类型 可选 描述

identifier

String

必选

企业编号

agentToken

String

必选

token

agentTokenLogin

Integer

必选

登录类型 值为:1

bindTel

String

必选

绑定电话

bindType

Integer

必选

绑定类型,1:普通电话、2:IP话机、3:软电话

initStatus

Integer

必选

登录状态,1:空闲、2:忙碌

pauseDescription

String

可选

置忙描述

chatLoginStatus

Integer

可选

1:空闲 2:置忙,全渠道、在线类型座席必选

chatPauseDescription

String

可选

置忙登录时的置忙状态

chatLimitNumber

Integer

可选

可接待会话数,指定则更新当前设置值

platform

Integer

可选

指定平台,1:北京平台、2:上海平台、3:新加坡平台;不传默认北京平台

handleType

String

必选

'login' 执行登录事件

5.2.3. 预览外呼

<a href="tinet://startapp/here?"+path >登录</a>

path参数说明:

参数 类型 可选 描述

tel

String

必选

外呼号码 , 当开启号码隐藏设置时,可从弹屏事件中获取customerNumberKey的值,进行外呼

timeout

Integer

可选

呼叫座席超时时间,取值范围 5⇐timeout⇐60,默认30单位:秒

dialTelTimeout

Integer

可选

取值范围 5⇐dialTelTimeout⇐60,默认45,单位:秒

obClid

String

可选

客户侧外显号码

obClidGroup

String

可选

客户侧外显号码组,使用obClidGroup需要账号支持按标识路由,使用此参数是obClid参数无效 (字段废弃)

obClidGroupName

String

可选

客户侧外显号码组,使用obClidGroupName需要账号支持按标识路由,使用此参数时obClid参数无效

userField

String

可选

用户自定义变量

handleType

String

必选

'previewOutcall' 执行预览外呼事件