CCPaaS前端SDK API V2.1.0

API SDK 只提供方法,此文档提供外呼API SDK基本用法、注意事项、示例代码等。

一、基本用法

  1. 引入SDK 文件到需要嵌入外呼组件的页面;
  2. 由CC PaaS系统服务端提供获取加密的Token的方法;
  3. 复制示例代码,修改配置参数信息,调用相应方法使用SDK;
  4. API-SDK可以独立使用,需要UI界面请阅读UI-SDK文档

下载地址:

二、注意事项

浏览器兼容性
  1. SDK目前支持IE9+(含)的IE浏览器与基于它内核(360/qq/…)、其他主流浏览器(chrome/firefox/…)。
  2. 如果有可能,建议您升级到IE10或更高版本,以获得最佳的用户体验。
  3. API-SDK的作用是提供方法,UI-SDK提供界面UI,如果需要使用已有的拨号、输入、弹窗等界面功能需要配合UI-SDK一起使用

AppDataProvider Class使用方法

  1. 通过UdeskCCPaasApiClass.AppDataProvider拿到AppDataProvider Class类;
  2. 新增类继承AppDataProvider,新增类可以重写以下方法;
  3. AppDataProvider内每一个方法返回值统一为Promise,否则SDK组件部分功能可能会异常;

三、SDK初始化和销毁

  <!-- 引入API-SDk的js文件 -->
   <script src="https://ccps.s4.udesk.cn/ccpaas-phone-sdk/sdk/cti-phone/2.1.0/call-center-class.es6.js"></script>
let AppDataProviderBase = UdeskCCPaasApiClass.AppDataProvider;
class AppDataProvider extends AppDataProviderBase {
    GetToken() {
        return new Promise((resolve, reject) => {
            //发送请求获取鉴权信息
            $.ajax({
                url: "https://xxxxxx/xxxxx" //客户提供相应后端接口;负责生成token给前端
            }).
                then(response => {
                    // respose.data={
                    // appId: "xxxxxxx" 租户唯一标识
                    // timestamp: "xxxxxx" 鉴权用的时间戳
                    // token: "xxxxxxxxxx" 鉴权token
                    // };
                    resolve(response.data);
                });
        });
    },
}
// s4环境示例
let UdeskCCPaasApiClassInstance = new UdeskCCPaasApiClass({
    AgentId: "",
    AppId: "",
    AppDataProvider: new AppDataProvider(),
    Domain: "wss://tower-xcc1.s4.udesk.cn:443/ws",
    HttpDomain: "https://apigw-xcc1.s4.udesk.cn:443/backend",
    Log: function (message, type) {
        // reason类型为object
        // 包含message属性,值为错误信息
        // 示例:{message:"外呼失败"}
    }

});
UdeskCCPaasApiClassInstance.Init();
UdeskCCPaasApiClassInstance.Destroy();

四、UdeskCCPaasApiClass实例参数说明

名称 类型 说明 默认值 是否必传
AppId string 租户身份标识 ""
AgentId string 坐席身份标识 ""
LanguageCode string 语言 "ZH-CN"
AutoConnect Bool 是否默认自动连接 true
AppDataProvider object 数据提供类 null
Domain string websocket链接地址 ""
HttpDomain string 接口地址 " "
method
方法名称 类型 说明
GetToken function 获取鉴权信息
名词解释
高级通话功能 功能说明
三方后转接 客户与坐席通话中,坐席A通过三方功能实现客户与坐席A、坐席B三方通话后,可以直接将通话转接给坐席B,坐席A挂断,坐席B与客户通话。
三方外线 客户与坐席通话中,坐席A通过三方通话功能引入外线坐席B,然后客户与坐席A、外线坐席B同时通话。
三方通话 客户与坐席A通话中,坐席A通过三方通话功能引入坐席B,然后客户与坐席A、B同时通话。
三方取回 客户与坐席A通话中,坐席A通过三方通话功能引入坐席B,然后坐席B挂断,客户与坐席A继续通话。
咨询 客户与坐席A通话中,坐席A暂停与客户通话,给客户拨放音频,坐席A与坐席B通话,结束咨询,坐席A恢复与客户通话。
咨询后三方 客户与坐席通话中,坐席A咨询坐席B后,可以继续通过三方功能实现客户与坐席A、坐席B三方通话。
咨询后转接 客户与坐席通话中,坐席A咨询坐席B后,可以将通话转接给坐席B,坐席A挂断,坐席B与客户通话。
咨询外线 客户与坐席通话中,坐席A暂停与客户通话,给客户拨放音频,坐席A与外线坐席B通话,结束咨询,坐席A恢复与客户通话。
咨询后取回 客户与坐席通话中,坐席A咨询坐席B后,坐席B挂断,坐席A与客户继续通话。
密语 客户与坐席通话中,组长通过密语功能,能够与坐席进行私密通话,客户听不到,不影响客户与坐席通话。
强插 客户与坐席通话中,组长通过强插功能,实现组长、坐席和客户的三方通话。
拦截 客户与坐席通话中,组长通过拦截功能,将坐席挂机,然后组长与客户通话。
监听 客户与坐席通话中,组长通过监听功能,能够听到坐席与客户的通话,但坐席和客户无法听到组长的声音。
转接 客户与坐席通话中,坐席A将通话转接给坐席B,坐席A挂断,坐席B和客户通话。
转接外线 客户与坐席通话中,坐席A将通话转接给外线坐席B,坐席A挂断,外线坐席B和客户通话。

五、接口API

返回参数说明

名称 类型 说明
Message string 方法执行成功或失败信息
Code string 对应的code码
Data object/Array 返回的数据
Visible Bool 错误信息是否可以直接暴露给用户

websocket连接

1.断开websocket连接

基本信息

方法名:Disconnect

概述

断开外呼组件websocket连接

示例
调用
UdeskCCPaasApiClassInstance.Disconnect()
请求参数

返回数据

2.连接websocket

基本信息

方法名:ConnectAsync

概述

连接外呼组件websocket

示例
调用
UdeskCCPaasApiClassInstance.ConnectAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}
请求参数

返回数据
名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

外呼相关

01.拨打电话

基本信息

方法名:MakeCallAsync

概述

外呼组件连接成功后,用户手动调用拨打电话方法

示例

调用
UdeskCCPaasApiClassInstance.MakeCallAsync("xxxxxxxxxxx").then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Number string true 拨打的号码
Options object false 附带数据,如:{ BizId: "" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

02.挂断电话

基本信息

方法名:HangupAsync

概述

外呼组件在通话结束后,用户手动调用挂断电话方法

示例

调用
UdeskCCPaasApiClassInstance.HangupAsync(CallId).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options String true 通话ID(在振铃或者通话获取callid)

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

03.接听电话

基本信息

方法名:AnswerAsync

概述

外呼组件在振铃后,用户手动调用接听电话方法

示例

调用
UdeskCCPaasApiClassInstance.AnswerAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

04.设置设备模式

基本信息

方法名:SetPhoneModeAsync

概述

外呼组件在呼叫时,可以选择用哪种模式(IP话机,手机,网页电话)呼叫

示例

调用
UdeskCCPaasApiClassInstance.SetPhoneModeAsync("voip").then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
PhoneMode string true 座席呼叫模式(voip,cellphone,webrtc)

参数说明

名称 说明
voip IP话机
cellphone 手机
webrtc 网页电话

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

05.获取设备模式

基本信息

方法名:GetPhoneModesAsync

概述

获取坐席的所有可选设备

示例

调用
UdeskCCPaasApiClassInstance.GetPhoneModesAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: [{
        Id: "cellphone",
        Name: "手机"
    },
    {
        Id: "voip",
        Name: "IP话机"
    },
    {
        Id: "webrtc",
        Name: "网页电话"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

06.获取全部坐席状态

基本信息

方法名:GetAgentStatesAsync

概述

获取坐席的全部可选状态

示例

调用
UdeskCCPaasApiClassInstance.GetAgentStatesAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: [{
        Code: "idle", Label: "空闲"
    },
    {
        Code: "busy", Label: "忙碌"
    },
    {
        Code: "onBreak", Label: "小休"
    },
    {
        Code: "offline", Label: "离线"
    },
    {
        Code: 101, Label: "午饭", Owner: "onBreak"
    },
    {
        Code: 102, Label: "洗手", Owner: "onBreak"
    },
    {
        Code: 103, Label: "哈哈", Owner: "onBreak"
    },
    {
        Code: 107, Label: "加班", Owner: "onBreak"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

07.设置坐席状态

基本信息

方法名:SetAgentStateAsync

概述

获取坐席的全部状态

示例

调用
切换忙碌,小休,空闲,离线
UdeskCCPaasApiClassInstance.SetAgentStateAsync("busy").then(resp=>{})
切换自定义小休
UdeskCCPaasApiClassInstance.SetAgentStateAsync("onBreak", 101).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 必填 说明
State string true 坐席状态("idle","busy","onBreak","offline")
SubState string false 自定义状态值(如果切换的状态是自定义的小休,需要传相对应的code)

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

08.获取网页电话基本信息

基本信息

方法名:GetWebPhoneInfoAsync

概述

获取网页电话基本信息

示例

调用
UdeskCCPaasApiClassInstance.GetWebPhoneInfoAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: {
        SipServer: "xxxxx",
        Number: "xxxxx",
        Password: "xxxxx",  
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
SipServer string SIP服务器地址
Number string 账号
Password string 密码

09.获取呼入的整理时间

基本信息

方法名:GetCallInWrapUpTimeAsync

概述

获取呼入的整理时间

示例

调用
UdeskCCPaasApiClassInstance.GetCallInWrapUpTimeAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: {
        WrapUpTime: 0
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
WrapUpTime number 整理时间

10.获取中继号列表

基本信息

方法名:GetSpNumbersAsync

概述

获取可选中继号列表

示例

调用
UdeskCCPaasApiClassInstance.GetSpNumbersAsync({OwnerType: "app"}).then(resp=>{})
响应
{
    Code: "0000",
    Data: ["xxxxx", "xxxxx", "xxxxx"]
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { OwnerType: "app" }

请求参数说明

名称 类型 说明
OwnerType string 租户: app
座席:agent

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

11.获取当前的默认中继号

基本信息

方法名:GetCurrentSpNumberAsync

概述

获取当前坐席/租户的默认中继号

示例

调用
UdeskCCPaasApiClassInstance.GetCurrentSpNumberAsync({OwnerType: "app"}).then(resp=>{})
响应
{
    Code: "0000",
    Data: "xxxxx",
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { OwnerType: "app" }

请求参数说明

名称 类型 说明
OwnerType string 租户: app
座席:agent

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

12.设置默认中继续号

基本信息

方法名:SetSpNumberAsync

概述

设置坐席/租户默认中继续号

示例

调用
UdeskCCPaasApiClassInstance.SetSpNumberAsync({OwnerType: "app", DisplayNumber: "xxxxxxxx"}).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { OwnerType: "app", DisplayNumber: "xxxxxxxx" }

请求参数说明

名称 类型 说明
OwnerType string 租户: app
座席:agent
DisplayNumber string 设置的中继号

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

13.获取终端(IP话机,网页电话)的信息

基本信息

方法名:GetAgentTerminalInfoAsync

概述

获取终端(IP话机,网页电话)的信息

示例

调用
UdeskCCPaasApiClassInstance.GetAgentTerminalInfoAsync({TerminalType: "voip"}).then(resp=>{})
响应
{
    Code: "0000",
    Data: {
        SipServer: "xxxxx",
        Number: "xxxxx",
        Password: "xxxxx",  
    },
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true {TerminalType: "voip"}

请求参数说明

名称 类型 说明
TerminalType string IP话机: voip
网页电话:webrtc

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

14.三方取回

基本信息

方法名:RetrieveAfterThreeWayAsync

概述

三方通话过程中,手动调用取回方法

示例

调用
UdeskCCPaasApiClassInstance.RetrieveAfterThreeWayAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

15.咨询取回

基本信息

方法名:EndConsultationAsync

概述

咨询通话过程中,手动调用取回方法

示例

调用
UdeskCCPaasApiClassInstance.EndConsultationAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

16.恢复

基本信息

方法名:RecoveryAsync

概述

保持通话过程中,手动调用恢复方法

示例

调用
UdeskCCPaasApiClassInstance.RecoveryAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

17.咨询后三方

基本信息

方法名:ConsultationToThreeWayAsync

概述

咨询过程中,手动调用三方的方法

示例

调用
UdeskCCPaasApiClassInstance.ConsultationToThreeWayAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

18.三方后转接

基本信息

方法名:TransferAfterThreeWayAsync

概述

三方通话过程中,手动调用转接的方法

示例

调用
UdeskCCPaasApiClassInstance.TransferAfterThreeWayAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

19.密语

基本信息

方法名:WhisperAsync

概述

通话过程中,手动调用密语的方法

示例

调用
UdeskCCPaasApiClassInstance.WhisperAsync({ CallId: "xxxxxxxxx", AgentId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 被密语的ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

20.强插

基本信息

方法名:ForcePickupAsync

概述

通话过程中,手动调用强插的方法

示例

调用
UdeskCCPaasApiClassInstance.ForcePickupAsync({ CallId: "xxxxxxxxx", AgentId: "xxxxxxxxx", AgentPhone: "xxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true 通话Id,{ CallId: "xxxxxxxxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 被密语的ID
AgentPhone string true 匿名座席的电话号码

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

21.转接ivr

基本信息

方法名:TransferIvrAsync

概述

通话过程中,手动调用转接ivr的方法

示例

调用
UdeskCCPaasApiClassInstance.TransferIvrAsync({ CallId: "xxxxxxxxx", IvrId: "", NodeId: "", JumpType: "" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", IvrId: "xx", NodeId: "xx", JumpType: " agent_hangup"} }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
IvrId string true ivr的ID
NodeId string true 节点ID
JumpType string true 转接模式

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

22.获取ivr节点列表

基本信息

方法名:GetIvrNodesAsync

概述

获取ivr节点列表的方法

示例

调用
UdeskCCPaasApiClassInstance.GetIvrNodesAsync("25").then(resp=>{})
响应
{
    Code: "0000",
    Data: [
        {
            id: 1,
            name: "ivr测试"
        },
    ],
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
id string true ivr的节点id

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

23.获取队列列表

基本信息

方法名:GetQueuesAgentsAsync

概述

获取队列列表的方法

示例

调用
UdeskCCPaasApiClassInstance.GetQueuesAgentsAsync().then(resp=>{})
响应
{
    Code: "0000",
    Data: [{
        Name: "郑玲队列",
        QueueId: "2",
        Strategy: 2,
        Timeout: 60,
    }],
    Message: "",
    Visible: false
}

请求参数

请求参数说明

名称 必填 说明
CallId string true 呼叫ID
IvrId string true ivr的ID
NodeId string true 节点ID
JumpType string true 转接模式

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
Name string 队列名称
QueueId string 队列ID

24.转接坐席/转接外线

基本信息

方法名:TransferAsync

概述

通话过程中,手动调用转接的方法

示例

调用
UdeskCCPaasApiClassInstance.TransferAsync({ CallId: "xxxxxxxxx", AgentId: "xxxxxxxxx" }).then(resp=>{})
UdeskCCPaasApiClassInstance.TransferAsync({ CallId: "xxxxxxxxx", AgentPhone: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxxxxxxxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 转接的坐席ID
AgentPhone string true 转接外线的号码

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

25.保持

基本信息

方法名:HoldAsync

概述

通话过程中,手动调用保持通话的方法

示例

调用
UdeskCCPaasApiClassInstance.HoldAsync({ CallId: "xxxxxxxxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx" }

请求参数说明

名称 必填 说明
CallId string true 呼叫ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

26.咨询

基本信息

方法名:ConsultationAsync

概述

通话过程中,手动调用咨询通话的方法

示例

调用
UdeskCCPaasApiClassInstance.ConsultationAsync({ CallId: "xxxxxxxxx", AgentId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxx" }

请求参数说明

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 咨询目标座席ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

27.三方

基本信息

方法名:ThreewayAsync

概述

通话过程中,手动调用三方通话的方法

示例

调用
UdeskCCPaasApiClassInstance.ThreewayAsync({ CallId: "xxxxxxxxx", AgentId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 三方目标座席ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

28.咨询后转接

基本信息

方法名:ConsultationToTransferAsync

概述

咨询过程中,手动调用转接的方法

示例

调用
UdeskCCPaasApiClassInstance.ConsultationToTransferAsync({ CallId: "xxxxxxxxx", AgentId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 转接目标座席ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

29.转接队列

基本信息

方法名:TransferQueueAsync

概述

通话过程中,手动调用转接队列的方法

示例

调用
UdeskCCPaasApiClassInstance.TransferQueueAsync({ CallId: "xxxxxxxxx", QueueId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", QueueId: "xxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
QueueId string true 转接目标队列的ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

30.拦截

基本信息

方法名:SubstituteAsync

概述

手动调用拦截通话的方法

示例

调用
UdeskCCPaasApiClassInstance.SubstituteAsync({ CallId: "xxxxxxxxx", AgentId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 被拦截目标座席ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

31.监听

基本信息

方法名:EavesdropAsync

概述

手动调用监听通话的方法

示例

调用
UdeskCCPaasApiClassInstance.EavesdropAsync({ CallId: "xxxxxxxxx", AgentId: "xxx" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: null,
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { CallId: "xxxxxxxxx", AgentId: "xxx" }

请求参数说明:

名称 必填 说明
CallId string true 呼叫ID
AgentId string true 被监听目标座席ID

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

32.获取其他坐席列表

基本信息

方法名:GetOtherAgentsAsync

概述

获取其他坐席列表的方法

示例

调用
UdeskCCPaasApiClassInstance.GetOtherAgentsAsync({ State: "idle" }).then(resp=>{})
响应
{
    Code: "0000",
    Data: [{
        AgentId: "78",     
        AppId: "xxxxxx", 
        Email: "diandian@test.cn",
        Enable: true, 
        ExtState: 0,
        ExtenInfos: null,
        Extensions: null,
        Mobile: "xxxxxxx",
        Name: "xxxxxxx",
        Queues: null,
        QueuesNames: null,
        Role: "agent",
        State: 1,
        WorkId: "",
        WrapUpTime: 0,
    }],
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
Options object true { State: "idle" }

请求参数说明:

名称 必填 说明
State string false 坐席状态空闲:idle

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
AgentId string 坐席Id
AppId string AppId
Enable string 是否可用

33.获取号码池/中继号列表

基本信息

方法名:GetNumberPoolAndSpNumAsync

概述

获取号码池/中继号列表的方法

示例

调用

 UdeskCCPaasApiClassInstance.GetNumberPoolAndSpNumAsync({type}).then(resp => {})
响应
{
    Code: "0000",
    Data: {
        list: [],     
        defaultId: "xxxxxx", 
    },
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
type string true { type:1 获取中继号,type:2 获取号码池 }

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
号码池或者中继号列表 array resp.Data.list
选中的列表中的id string resp.Data.defaultId

根据type不同返回相应的列表,如果当前列表有选中,defaultId则为相应选中项的id,否则为null。 每次切换中继号和号码池都会重新获取新的列表。

34.选中号码池/中继号列表

基本信息

方法名:SetSpNumberPoolNumAsync

概述

选中相应的号码池或者中继号

示例

调用

 UdeskCCPaasApiClassInstance.SetSpNumberPoolNumAsync({ type,id}).then(resp => {})
响应
{
    Code: "0000",
    Data: {

    },
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
type string true { type:1 代表选中的是中继号,type:2  代表选中的是号码池}
id string true 选中的相应的号码池或者中继号的id

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明

每次切换中继号和号码池都会重新获取新的列表,选中即生效

35.静音/解除静音

基本信息

方法名:MuteAsync/UnmuteAsync

概述

注:只有在网页电话模式下才有此功能

示例

调用

 UdeskCCPaasApiClassInstance.MuteAsync({ CallId: 'xxxxxx' }).then(resp=&gt;{})

 UdeskCCPaasApiClassInstance.UnmuteAsync({ CallId: 'xxxxxx' }).then(resp=&gt;{})
响应
{
    Code: "0000",
    Data: {

    },
    Message: "",
    Visible: false
}

请求参数

名称 类型 必填 说明
callId string true

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明

组件类

1.Init 初始化类实例

2.Destory 销毁类实例

六、事件

udeskCtiPhoneSdkInstance.on("event.udesk-cc-paas", (conversation) => {

});
udeskCtiPhoneSdkInstance.off("event.udesk-cc-paas");

1.坐席状态发生变化时触发

基本信息

方法名:AgentStateChanged

概述

坐席状态发生变化时触发的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("AgentStateChanged",function(resp){})
响应
{
    Code: "0000",
    Data: [{
        CurState: "busy",
        CurStateSubId: "0",
        OldState: "idle"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
CurState string 当前坐席状态
CurStateSubId string 当前坐席的subId
OldState string 是否可用

2.话机模式改变

基本信息

方法名:PhoneModeChanged

概述

话机模式改变的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("PhoneModeChanged",function(resp){})
响应
{
    Code: "0000",
    Data: [{
        CurContact: "voip"
        CurExtState: "offline"
        CurNumber: "90310468561028"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
CurContact string 当前设备模式
CurExtState string 当前设备的状态
CurNumber string 当前设备的号码

3.话机状态改变

基本信息

方法名:PhoneStateChanged

概述

话机状态改变的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("PhoneStateChanged",function(resp){})
响应
{
    Code: "0000",
    Data: [{
        CallID: "",
        CurState: "busy"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
CallID string 通话ID
CurState string 当前客服状态

4.通话组件准备工作完成

基本信息

方法名:Ready

概述

通话组件准备工作完成的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Ready",function(resp){})
响应
{
    Code: "0000",
    Data: [{
        CurExtState:"offline"
        CurMode:"voip"
        CurState:"busy"
    }],
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
CurExtState string 当前设备状态
CurMode string 当前话机模式
CurState string 当前客服状态

5.高级通话呼叫状态改变

基本信息

方法名:AdvancedCallStatusChanged

概述

高级通话呼叫状态改变的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("AdvancedCallStatusChanged",function(resp){})
响应
{
    Code: "0000",
    Data: {
        AdvancedCallStatus: "Originated",
        AgentInfo: {TelNumber: "90310468561028"},
        CallAuthority: {
            OnBarButtonSwitch: true,
            AllowTransferAfterThreeWay: true,    
            AllowHold: false,    
            AllowConsultation: false,  
            AllowThreeWayAfterConsultation: fasle,
            AllowTransferAfterConsultation: fasle,  
            AllowHangup: false,   
            AllowAnswer: false,
            AllowTransfer: false,   
            AllowEndConsultation: false,
            AllowCancel: false,
            AllowUnHold: false,  
            AllowThreeWay: false,
            AdvancedCallStatus: false,  
        },
        CallDirection: "Outbound",
        CallEvent: "Originated",
        CallID: "ea648a5d-56f6-432b-44e1-0941febbb870",
        CallType: "OtherIn",
        CalledInfo: {TelNumber: "15712886965", City: "北京"}, #被叫信息
        CallerInfo: {TelNumber: "90310468561028"},  #主叫信息
        ChannelUUID: "42de0839-74ba-442d-a3a5-7744029bd573",
        CustomerInfo: {TelNumber: "15712886965", City: "北京"}, #客户信息
        DisplayInfo: {TelNumber: "051480114036", City: "扬州市"}, #展示信息
        WorkFlow: "out_callback",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 说明
OnBarButtonSwitch bool 取回按钮的显隐
AllowTransferAfterThreeWay bool 三方后转接按钮的显隐
AllowHold bool 保持按钮的显隐
AllowConsultation bool 咨询按钮的显隐
AllowThreeWayAfterConsultation bool 咨询后三方按钮的显隐
AllowTransferAfterConsultation bool 咨询后转接按钮的显隐
AllowHangup bool 挂断按钮的显隐
AllowAnswer bool 接听按钮的显隐
AllowTransfer bool 转接按钮的显隐
AllowEndConsultation bool 咨询取回按钮的显隐
AllowCancel bool 三方取回按钮的显隐
AllowUnHold bool 恢复按钮的显隐
AllowThreeWay bool 三方按钮的显隐
AdvancedCallStatus bool 当前的状态

6.同步服务端状态

基本信息

方法名:GetState

概述

同步服务端状态的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("GetState",function(resp){})
响应
{
    Code: "0000",
    Data: {
        AdvancedCallStatus: undefined,
        AgentInfo: undefined,
        CallDirection: "",
        CallID: "",
        CallType: undefined,
        CurContact: "90310468561028",
        CurExtState: "idle",
        CurMode: "voip",
        CurState: "idle",
        CurSubStateId: "",
        CustomerInfo: undefined,
        DestNumber: "",
        DestNumberLoc: "",
        Payload: null,
        SpNumber: "",
        StartTime: "",
        UserData: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

| 名称 | 类型 | 说明 | | ------- | ------ | ----- | --------------------------- | | promise | promise | 成功、失败回调(失败回调参数:Message,Code,Data,Visible) |

返回数据说明

| 名称 | 值 | 说明 | | ---------------- | ------ | ----- | ------------- | | CallDirection | string | 呼叫方向(如果当前处于通话中) | | CallID | string | 呼叫ID (如果当前处于通话中) | | CurExtState | string | 当前话机状态 | | CurMode | string | 当前话机模式 | | CurState | string | 当前坐席状态 | | CurSubStateId | string | 当前坐席小休子状态 | | DestNumber | string | 通话号码 (如果当前处于通话中) | | StartTime | string | 当前作息状态开始时间 (如果当前处于通话中) |

7.呼入振铃

基本信息

方法名:Delivered

概述

呼入振铃的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Delivered",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

8.呼出振铃

基本信息

方法名:Originated

概述

呼出振铃的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Originated",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

9.通话中

基本信息

方法名:Established

概述

通话中的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Established",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

10.挂断

基本信息

方法名:ConnectionCleared

概述

挂断的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("ConnectionCleared",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

11.保留通话

基本信息

方法名:Held

概述

保留通话的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Held",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

12.恢复先前保留的呼叫

基本信息

方法名:Retrieved

概述

恢复先前保留的呼叫的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Retrieved",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

13.三方

基本信息

方法名:Conferenced

概述

三方的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Conferenced",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)

14.转接

基本信息

方法名:Transferred

概述

转接的监听事件

示例

调用
UdeskCCPaasApiClassInstance.on("Transferred",function(resp){})
响应
{
    Code: "0000",
    Data: {
        CallID: "",
        AgentInfo: {},
        CustomerInfo: {},
        FromQueue: "",
        DisplayNum: undefined,
        WorkFlow: "",
        CallAuthority: "",
        CallType: "",
    },
    Message: "",
    Visible: false
}

请求参数

返回数据

名称 类型 说明
promise promise 成功、失败回调(失败回调参数:Message,Code,Data,Visible)

返回数据说明

名称 类型 说明
CallID string callId
AgentInfo object 坐席信息,{City}
CustomerInfo object 客户信息,,{City,Number}
FromQueue string 呼叫来源
DisplayNum string 外显号码
WorkFlow string 呼叫方向( out_direct,in,out_callback)
CallAuthority object 呼叫权限
CallType string 呼叫类型(呼入,呼出,三方,咨询等)