开发者文档 开发者文档
帮助中心 (opens new window)
帮助中心 (opens new window)
  • 呼叫中心V6

    • 接口功能规范
    • 基础管理 API
    • 数据服务 API
    • 呼叫能力 (https)
    • 呼叫能力 (JS-SDK)
    • 呼叫能力 (UI电话条)
    • 呼叫事件 (TS)
    • 呼叫能力 (Andorid-SDK)
    • 呼叫能力 (iOS-SDK)
  • 外呼机器人V5
  • 语音类产品 API
  • 呼叫中心V6
智齿科技
2022-09-15
目录

JavaScript-SDK API 设计

# javascript-sdk api设计

# 更新日志

版本号 时间 说明
---
---
---
6.2.0 2022-05-26 初始版本。
--- --- ---

# javascript-sdk插件引用地址

<script type="text/javascript" src="https://static.soboten.com/call-sdk/6.3.1/sobot-call-sdk.js"></script>
1

# 初始化

# ● 初始化插件

使用JavaScript SDK第一步需要创建实例

    const agent = new SobotClient.agent()
1

使用JavaScript SDK第二步需要初始化

    agent.initAgent({
        token: 'xxxxxxxxxxxx',
        companyId: 'xxxxxxxxxxxxxx',
        agent: "1005",
        agentType: "0",
        allowStorageListen: true,
        success: function (msg){
            console.log('new Client success : ', msg)
        },
        error: function (msg){
            console.log('new Client error : ', msg)
        }
    })
    // 初始化成功会在success回调函数中返回msg,msg中status为success  参数见下表1

    // 如果座席在登录之前在智齿系统中为非离线状态,并且在第二步事件订阅的时候订阅了EventAgentRegainStatus座席重连成功事件或者是通过EventAgentAll订阅座席所有事件,在初始化成功后会在订阅事件的地方收到EventAgentRegainStatus消息,收到该消息表示座席重连成功,该消息会携带当前座席的登录状态和话务状态以便于恢复页面。 参数见下表2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

表1 初始化请求参数说明

# 请求参数
属性 名称 类型 可空 说明
token 登录鉴权 string 否 座席登录鉴权(对接token方式请参照智齿接口认证文档)
companyId 公司编码 string 否 公司编码
agent 座席 string 否 座席工号 或 座席id。
agentType 接口座席参数类别 string 是 0:座席工号;1:座席id;为空时默认为座席工号
allowStorageListen 允许多标签外呼 boolean 是 false:不开启;true:开启多标签外呼;为空时默认不开启
success 成功回调函数 function 是 成功后的回调函数。
error 失败回调函数 function 是 失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败

表2 EventAgentRegainStatus事件参数说明

属性 名称 类型 说明
messageID 消息ID string 此处为EventAgentRegainStatus
agentStateInfo 座席登录状态信息 object 参数见表3
workStatusInfo 座席当前话务状态信息 object 无此参数则为座席未在通话,参数见表4

表3 agentStateInfo事件参数说明

属性 名称 类型 说明
agent 座席 string 座席工号 或 座席id。
agentType 座席参数类别 string 0:座席工号;1:座席id;
companyId 公司编码 string 公司编码
phoneType 接听方式 string sip:SIP话机;pstn:手机;webrtc:网页。
thisDN 绑定分机账号 string 座席登录接口指定的分机账号。
agentState 座席当前登录状态 string 1:在线;2:勿扰。
agentStateTimestamp 座席登录时间 timestamp 座席登录的时间戳
reasonCode 座席置忙原因 string 置忙的原因。
2:勿扰;11:小休;12:小休(培训);13:小休(会议);14:小休(用餐);15:小休(活动);16:小休(自定义1);17:小休(自定义2);18:小休(自定义3)。
reasonCodeTimestamp 座席置忙时间 timestamp 座席置忙的时间戳
workStatus 座席当前话务状态 string 座席当前话务状态
workStatusTimestamp 座席当前话务状态时间戳 timestamp 座席当前话务状态时间戳

表4 workStatusInfo事件参数说明

属性 名称 类型 说明
callID 通话ID string 通话ID。
callType 通话类型 string "Outbound":外呼;"Inbound":呼入
companyId 公司编码 string 公司编码
otherDN 客户号码 string 客户号码
otherDNRole 客户角色 string 参数见下DNRole说明。
thisDN 座席绑定分机账号 string 座席登录接口指定的分机账号。
thisDNRole 座席角色 string 参数见下DNRole说明。
thirdDN 第三方号码 string 第三方号码。
thirdDNRole 第三方角色 string 参数见下DNRole说明。

DNRole说明

    Unknown(0, ""),
    Origination(1, "发起电话者")
    Destination(2, "接电话者")
    AddedBy(3, "加入会议者")
    NewParty(4, "被加入会议中者")
    DeletedBy(5, "踢出会议者")
    DeletedParty(6, "退出会议者")
    ObserveBy(7, "监听者")
    TransferBy(8, "发起转接成功者")
    ConsultBy(9, "发起咨询者")
    BargeinBy(10, "发起强插者")
    BargeinTo(11, "被强插者")
    InterceptTo(12, "被抢接者")
    TransferTo(13, "被转接者")
    ObserveTo(14, "被监听者")
    InterceptBy(15, "发起抢接者")
    ConferenceBy(16, "")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

第三步需要订阅需要的通话事件以及座席状态发生变化的相关事件(例1、例2 二选一即可,如两种方法同时采用,则均会收到事件推送)

例1:监听座席相关的所有事件

    agent.on('EventAgentAll', function (msg) {
        // 根据msg中的messageID进行各自的逻辑处理
        switch(msg.messageID) {
            case 'EventAgentConnectionChanged' :
                // 座席被挤下线事件
                // do something ...
                break
            case 'EventAgentReady' :
                // 座席就绪事件
                // do something ...
                break
            case 'EventAgentNotReady' :
                // 座席置忙事件
                // do something ...
                break
            default: 
                //  do something ...
        }
    })
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

例2:监听所需的座席相关的事件(完整事件请参照呼叫能力消息格式文档)

    // 进行链式调用
    agent
        .on('EventAgentRegainStatus', function (msg) {
            // 座席重连成功事件
            // do something ...
        })
        .on('EventAgentConnectionChanged', function (msg) {
            // 座席被挤下线事件
            // do something ...
        })
        .on('EventAgentReady', function (msg) {
            // 座席就绪事件
            // do something ...
        })
        .on('EventAgentNotReady', function (msg) {
            // 座席置忙事件
            // do something ...
        })
        .on('EventDialing', function (dialingMsg) {
            // dialingMsg -- 拨号事件
            // do something ...
        })
        .on('EventRinging', function (ringingMsg) {
            // ringingMsg -- 响铃事件
            // do something ...
        })
        ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

取消订阅事件方法

    // 订阅事件后可以取消订阅事件
    agent
        .off('EventAgentConnectionChanged')
        .off('EventAgentReady')
        ...
    // agent.off方法提供两个参数 如: agent.off(eventName, functionName)
    // eventName为您订阅的事件名称,functionName为您定义的执行函数名称,同一事件可以进行多次订阅以及独立取消,如果off方法只传递了eventName则会取消所有订阅函数,使用方法如下:
    function test1 (msg) {
        // 第一次订阅的座席就绪事件
        // do something ...
    }
    function test2 (msg) {
        // 第二次订阅的座席就绪事件
        // do something ...
    }
    agent
        .on('EventAgentReady', test1)
        .on('EventAgentReady', test2)
    
    // 取消订阅方式,如下:
    // 单独取消test1的订阅
    agent.off('EventAgentReady', test1)
    // 单独取消test2的订阅
    agent.off('EventAgentReady', test2)
    // 或者取消所有座席就绪事件的订阅
    agent.off('EventAgentReady')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 登录操作

# ● 签入

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 系统在本接口中获取最新的座席工号,如更换工号,请再重新签入后,更换的工号才生效。
  3. 从一个端调用签入接口会导致其他端断开连接(非座席离线);
  4. 支持座席服务端的登录状态=离线、在线等全部状态签入。但座席服务端工作状态=呼叫中、振铃中、通话中、保持中、整理中时,不允许签入。

示例:

    agent.login(
        {
            agentState: 2,
            phoneType: "webrtc",
            bindExt: "1000",
            bindMobile: '13333333333',
            unbindExtOnLogout: false,
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 请求参数
属性 名称 类型 可空 说明
agentState 登录状态 string 是 签入成功后的座席登录状态。
1:在线;2:勿扰。
为空时,默认勿扰。
phoneType 接听方式 string 否 接口指定的接听方式签入成功后,会修改座席默认的接听方式。管理员重置座席接听方式权限也会改变座席默认的接听方式。
sip:SIP话机;pstn:手机;webrtc:网页。
为空时,系统取座席默认的接听方式。
bindExt 绑定分机账号 string 否 接口指定的分机账号会改变座席设置中绑定的分机账号。
不同座席绑定的分机账号不可相同。数据权限为操作座席已绑定的分机加其他未绑定座席的分机。
bindMobile 绑定电话号码 string 是 手机号码或固话号码。
接听方式为手机时,绑定电话号码非空,接口指定的绑定电话号码会改变座席设置中绑定的电话号码。
不同座席绑定的电话号码不可相同。
unbindExtOnLogout 离线时解绑分机 boolean 是 false:不解绑;true:离线后自动解绑。
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
agentState 登录状态 string 签入成功后的座席登录状态。
1:在线;2:勿扰。
为空时,默认勿扰。
phoneType 接听方式 string 接口指定的接听方式签入成功后,会修改座席默认的接听方式。管理员重置座席接听方式权限也会改变座席默认的接听方式。
sip:SIP话机;pstn:手机;webrtc:网页。
为空时,系统取座席默认的接听方式。
bindExt 绑定分机账号 string 接口指定的分机账号会改变座席设置中绑定的分机账号。
为空时,系统取座席设置中绑定的分机账号。
bindMobile 绑定电话号码 string 手机号码或固话号码。
接口指定的电话号码会改变座席设置中绑定的电话号码。
为空时,系统取座席设置中绑定的电话号码。
reasonCode 置忙原因 number 置忙的原因。
2:勿扰;11:小休;12:小休(培训);13:小休(会议);14:小休(用餐);15:小休(活动);16:小休(自定义1);17:小休(自定义2);18:小休(自定义3)。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 签出

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席工作状态为就绪中、置忙中、锁定中才可以。否则,不允许。

示例:

    agent.logout(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 置忙

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.notReady(
        {
            reasonCode: 11,
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
reasonCode 置忙原因 number 否 置忙后显示的登录状态。
2:勿扰;11:小休;12:小休(培训);13:小休(会议);14:小休(用餐);15:小休(活动);16:小休(自定义1);17:小休(自定义2);18:小休(自定义3)。
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 置闲

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.ready(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 座席重置离线

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席在任何登录状态、任何电话状态下都可以强制挂断座席电话并签出到离线状态;
  3. 可以用于座席端状态异常时,重置座席为离线。

示例:

    agent.resetLogout(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 查询座席的登录状态

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 仅仅查询座席有权限的小休状态和自定义小休状态集合。

示例:

    agent.queryStates(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
states 座席的登录状态列表 object 座席的登录状态列表。见下表1

表1 states登录状态列表

属性 名称 类型 说明
code 编码 string 11:小休;12-18自定义小休。
name 名称 string 状态名称。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
message 失败原因 string 失败原因

# ● 查询座席的接听方式

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 查询座席有权限的接听方式集合,并返回其中的默认接听方式(管理工作台中,设置UI修改座席的接听方式权限,会导致座席默认的接听方式被重置)。

示例:

    agent.queryPhoneType(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
agentUUID 座席ID string 座席ID
agentID 座席工号 string 座席工号
agentName 座席名称 string 座席名称
ext 绑定的分机账号 string 绑定的分机账号
phone 绑定电话号码 string 绑定电话号码
phoneTypes 接听方式列表 object 接听方式集合。见下表1

表1 phoneTypes接听方式列表

属性 名称 类型 说明
phoneType 接听方式 string sip:SIP话机;pstn:手机;webrtc:网页。
default 集合中默认值接听方式 boolean 集合中只有1条数据为默认数据。
true:默认接听方式;false:非默认接听方式。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# ● 查询企业的分机列表

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.queryUnusedExts(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
exts 分机账号信息 object 分机账号的数组(见下表1)

表1 exts说明

属性 名称 类型 说明
ext 分机账号 string 分机账号
default 集合中的默认值 boolean 集合中只有1条数据为默认数据。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# 呼叫操作

# ● 外呼

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.makeCall(
        {
            otherDN: "133****3333",
            privacyNumber: "XFHAOWHFEFLASJLKWJLD",
            ANI: "01066666666",
            agentANI: "01088888888",
            outboundRouteType: "1",
            outboundPlanCode: "xxxxxxxxxxxxx",
            userData: {},
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
otherDN 客户号码 string 否 UI显示的客户号码。例如:135XXXXX5678;13512345678;
privacyNumber 客户号码加密 string 是 支持加密号码外呼;例如:XFHAOWHFEFLASJLKWJLD;
ANI 指定客户侧的外显号码 string 是 企业数据权限范围内的有效号码,可不在座席设置数据权限范围内。
非空时,系统使用该号码外呼客户。座席外呼路由中设置的数据都失效。
指定客户侧的外显号码和指定客户侧的外显号码方案编码都为空时,系统使用<外呼路由>中座席设置的规则和号码外呼。
outboundPlanCode 指定客户侧的外显号码方案编码 string 是 企业数据权限范围内的有效动态外显号码方案,可不在座席设置数据权限范围内。
指定客户侧的外显号码非空时,指定客户侧的外显号码方案编码必须为空。
非空时,系统使用该方案查询号码外呼。座席外呼路由中设置的数据都失效。
指定客户侧的外显号码和指定客户侧的外显号码方案编码都为空时,系统使用<外呼路由>中座席设置的规则和号码外呼。
agentANI 指定座席侧的外显号码 string 是 座席手机接听场景下呼叫座席侧的外显号码。企业数据权限范围内的有效号码。
非空时,系统使用该号码呼叫座席。
为空时,系统使用本次外呼客户时的外显号码呼叫座席手机。
userData 自定义数据 object 是 在电话事件中会返回该值。
在通话记录中会存储该值。
需要encodeURIComponent编码

# ● 拒接

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.rejectCall()
1

# ● 接听

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.answer()
1

# ● 挂机

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.hangup()
1

# ● 保持

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 暂时挂起座席和客户的通话,保持后,客户会听到保持音乐,座席侧静音。
  3. 本操作支持SIP话机;网页;手机;3种接听方式。

示例:

    agent.holdCall()
1

# ● 取消保持

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 恢复挂起的座席和客户的通话,取消保持后,客户和座席恢复正常通话。

示例:

    agent.retrieveCall()
1

# ● 静音

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 关闭操作座席的麦克风,使其他人都无法听到当前座席端的声音。例如:座席A咨询座席B,座席A和座席B都可以操作静音关闭自己的麦克风。
  3. 监听发起者不支持该操作(发起者的麦克风在监听中,始终是关闭状态)。
  4. 本操作支持SIP话机;网页;手机;3种接听方式。

示例:

    agent.muteCall()
1

# ● 取消静音

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 恢复座席侧的麦克风,使其他人和座席恢复正常通话。

示例:

    agent.unmute()
1

# ● 转移

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 将客户直接呼叫转移到其他技能组/其他座席/电话号码/分机号,操作成功后挂断当前座席通话。如果中继号码只有1路并发,且中继号码被呼入来电占用1路,则无法支持该号码进行转移到第三方电话号码操作(转移操作的呼叫会失败)。

示例:

    agent.singleTransfer(
        {
            targetType: "0",
            target: "1002",
        }
    )
1
2
3
4
5
6
# 请求参数
属性 名称 类型 可空 说明
targetType 类型 string 否 0:座席;1:第三方号码;2:分机账号;3:技能组。
target 目标 string 否 技能组组号。
座席工号 或 座席id,根据<接口座席参数类别>定义。
电话号码。
分机账号。

# ● 咨询

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 邀请第三者(座席/第三方号码)加入当前通话之前,先咨询第三者,询问其是否愿意加入通话。
  3. 如果中继号码只有1路并发,且中继号码被呼入来电占用1路,则无法支持该号码进行咨询第三方电话号码操作(咨询操作的呼叫会失败)。

示例:

    agent.initiateConsult(
        {
            targetType: "0",
            target: "1002",
        }
    )
1
2
3
4
5
6
# 请求参数
属性 名称 类型 可空 说明
targetType 类型 string 否 0:座席;1:第三方号码;2:分机账号;
target 目标 string 否 座席工号 或 座席id,根据<接口座席参数类别>定义。
电话号码。
分机账号。

# ● 咨询取消

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 被咨询方(第三者)接通之前,发起者可以取消咨询。

示例:

    agent.cancelConsult()
1

# ● 咨询后取回

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 结束第三者(座席/第三方号码)的通话,恢复前序座席和客户的通话。包含“咨询三方后取回“的场景也使用该接口。

示例:

    agent.retrieveConsult()
1

# ● 咨询后转移

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 咨询第三者(座席/第三方号码)通话之后,将该通话转移给第三者,同时结束前序座席的通话。包含”咨询三方后转移“的场景也使用该接口。

示例:

    agent.consultTransfer()
1

# ● 咨询后三方

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 咨询第三者(座席/第三方号码)通话后,第三者同意加入三人通话,此时前序座席把第三者拉入到当前通话,形成三方一起通话。

示例:

    agent.consultConference()
1

# ● 发送满意度

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席发送满意度后,系统断开所有座席侧话路(包括监听;三方等),保留客户侧话路,播放满意度评价;同时挂断所有座席侧话路。

示例:

    agent.sendSatisfy()
1

# ● 延长整理时长

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席电话状态为整理中时,可以延长整理时长;30-900秒。

示例:

    agent.delayACW(
        {
            delayTime: 60,
        }
    )
1
2
3
4
5
# 请求参数
属性 名称 类型 可空 说明
delayTime 延长时间 number 否 正整数,30-900秒

# ● 结束整理

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席电话状态为整理中时,可以提前结束整理状态。

示例:

    agent.completeACW()
1

# ● 发送按键

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.sendDtmf(
        {
            dtmfDigits: '801#',
        }
    )
1
2
3
4
5
# 请求参数
属性 名称 类型 可空 说明
dtmfDigits 按键集合 string 否 最大24位。字符包含1-9、*、#。例如:801#。

# 辅助操作

# ● 查询座席的外呼路由规则

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席签入后,可以查询座席《外呼路由》中设置的外呼路由规则。

示例:

    agent.queryRoutes(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 返回值
属性 名称 类型 说明
agentUUID 座席ID string 座席ID
agentID 座席工号 string 座席工号
agentName 座席名称 string 座席名称
explicitRule 外显规则数组 object 外显规则集合。见下表1
explicitSchema 动态外显方案数组 object 动态外显方案集合。见下表2
explicitNumbers 外显号码数组 object 外显号码集合。见下表3

表1 explicitRule 外显规则数组说明

属性 名称 类型 说明
code 编码 string 1:企业号码池随机匹配;2:动态外显号码方案匹配;3:座席号码池指定。
name 名称 string 名称。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认外显规则;false:非默认外显规则。

表2 explicitSchema 动态外显方案数组说明

属性 名称 类型 说明
code 编码 string 方案id
planName 名称 string 名称。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认方案;false:非默认方案。

表3 explicitNumbers 外显号码数组说明

属性 名称 类型 说明
number 外显号码 string 中继号码。
nickName 号码别名 string 中继号码的别名。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认外显号码;false:非默认外显号码。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# ● 修改座席的外呼路由规则

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 座席电话空闲的时候,可以切换座席最后使用的外显规则。

示例:

    agent.setRoute(
        {
            explicitRule: "1",
            explicitCode: "xxxxxxxx",
            explicitNumber: "13333333333",
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
12
13
# 请求参数
属性 名称 类型 可空 说明
explicitRule 外显规则 string 否 需在<外呼路由>中座席的外显规则数据权限范围内。
1:企业号码池随机匹配;2:动态外显号码方案匹配;3:座席号码池指定。
explicitCode 动态外显方案编码 string 是 需在<外呼路由>中座席的动态外显方案数据权限范围内。
当外显规则=动态外显号码方案匹配时,非空。
explicitNumber 外显号码 string 是 需在<外呼路由>中座席的个人号码池数据权限范围内。
当外显规则=座席号码池指定时,非空。
# 返回值
属性 名称 类型 说明
agentUUID 座席ID string 座席ID
agentID 座席工号 string 座席工号
agentName 座席名称 string 座席名称
explicitRule 外显规则数组 object 外显规则集合。见下表1
explicitSchema 动态外显方案数组 object 动态外显方案集合。见下表2
explicitNumbers 外显号码数组 object 外显号码集合。见下表3

表1 explicitRule 外显规则数组说明

属性 名称 类型 说明
code 编码 string 1:企业号码池随机匹配;2:动态外显号码方案匹配;3:座席号码池指定。
name 名称 string 名称。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认外显规则;false:非默认外显规则。

表2 explicitSchema 动态外显方案数组说明

属性 名称 类型 说明
code 编码 string 方案id
planName 名称 string 名称。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认方案;false:非默认方案。

表3 explicitNumbers 外显号码数组说明

属性 名称 类型 说明
number 外显号码 string 中继号码。
nickName 号码别名 string 中继号码的别名。
hasSet 是否默认 boolean 集合中只有1条数据为默认数据。
true:默认外显号码;false:非默认外显号码。
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# ● 查询企业技能组列表

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.queryQueues(
        {
            queue: '技能组1',
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
queue 技能组 string 是 模糊搜索。支持搜索技能组组号或名称。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
queues 技能组列表 object 技能组排队情况的数组(见下表1)

表1 queues参数说明

属性 名称 类型 说明
queueCode 技能组组号 string 技能组ID
queueName 技能组名称 string 技能组名字
readyMembers 就绪中座席数 number 座席工作状态=就绪中的座席人数;
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# ● 查询企业的座席列表

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!

示例:

    agent.queryAgents(
        {
            agentName: '张三',
            agentState: '1',
            queueCode: '12345',
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
12
13
# 请求参数
属性 名称 类型 可空 说明
agentName 座席姓名 string 是 精确搜索
agentState 座席工作状态 number 是 座席当前的状态(0:离线;1-空闲/就绪;2-勿扰) 1:在线;2:勿扰;为空时,默认就绪中。
queueCode 技能组组号 string 是 精确搜索
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
agents 座席列表 object 座席的数组(见下表1)

表1 queues参数说明

属性 名称 类型 说明
agentUUID 座席ID string 座席ID
agentID 座席工号 string 座席工号
agentName 座席名称 string 座席名称
ext 座席绑定的分机账号 string 座席绑定的分机账号
agentState 座席登录状态 number 座席当前的状态(0:离线;1-空闲/就绪;2-勿扰)
workStatus 座席工作状态 number 1:就绪中
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorMessage 失败原因 string 失败原因

# 班长操作

# ● 强制签出

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 操作后该座席会被强行签出。

示例:

    agent.forceLogout(
        {
            targetAgentID: '1001',
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
targetAgentID 目标座席 string 否 座席工号 或 座席id。
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 强制置忙

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 操作后该座席会被强行变为忙碌。

示例:

    agent.forceBusy(
        {
            targetAgentID: '1001',
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
targetAgentID 目标座席 string 否 座席工号 或 座席id。
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 强制置闲

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 操作后该座席会被强行变为就绪。

示例:

    agent.forceReady(
        {
            targetAgentID: '1001',
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
11
# 请求参数
属性 名称 类型 可空 说明
targetAgentID 目标座席 string 否 座席工号 或 座席id。
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# 扩展功能

# ● 查询加入技能组的排队人数

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 查询座席加入的技能组的排队人数。

示例:

    agent.queryCountsInQueue(
        {
            success: function(event) {
                // do something ...
            },
            error: function(cause) {
                // Error, can't go on...
            },
        }
    )
1
2
3
4
5
6
7
8
9
10
# 请求参数
属性 名称 类型 可空 说明
success 成功回调函数 function 是 请求成功后的回调函数。
error 失败回调函数 function 是 请求失败后的回调函数。
# 成功回调函数返回值
属性 名称 类型 说明
status 请求状态 string success:成功
queues 技能组列表 object 技能组排队情况的数组(见下表1)

表1 queues参数说明

属性 名称 类型 说明
queueID 技能组组号 string 技能组ID
queueName 技能组名称 string 技能组名字
count 排队人数 number 技能组排队人数
# 失败回调函数返回值
属性 名称 类型 说明
status 请求状态 string error:失败
errorCode 错误编码 string 错误编码
errorMessage 失败原因 string 失败原因

# ● 查询通信服务网络延时

  1. 本接口的返回值会持续增加属性,请使用正确的兼容方式编码,保障返回值属性增加时,调用端的代码不会抛错!
  2. 仅限接听方式为《网页电话》时,查询座席端到通信服务端(CTI)的网络延时
  3. 订阅该事件后,系统每隔5秒推送1次数据。

示例:

    agent.on('EventJanusLatency', function (msg) {
        // do something
    })
1
2
3
# 成功回调函数返回值
属性 名称 类型 说明
time 延时时长 number 无法连接到服务器时,延时时长=-1。
type 延时分类 string 0~200ms 网络好;200ms 以上 网络差;-1 无法连接到服务器(断网)。
normal:好;poor:差;disconnected:断网。
上次更新: 2022/9/13 下午3:14:30
最近更新
01
Android SDK
09-15
02
iOS-sdk
09-15
03
呼叫能力消息格式
09-15
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式