Skip to main content

接口文档

如何认证

基于Auth token认证

使用方法

在Header中添加 Authorization字段,内容为:Bearer+(空格)+token,添加 Content-Type字段,内容为:application/json。

举例

认证token是否正确

curl -X GET \
https://account.icsoc.net/oauth2/verify \
-H 'Authorization: Bearer ce6e64d23315e49c772ed8844e4e5cce7657506a' \
-H 'Content-Type: application/json'

正确响应 http code 200 返回客户端信息
{
"client_id": "client1000",
"user_id": null,
"expires": 1514956045,
"scope": "openid"
}


不正确http code 非200(401)
{
"error": "invalid_token",
"error_description": "The access token provided is invalid"
}

API参数和输出

编码(encoding) 不支持协商,全部为UTF-8。无视HTTP header中的编码声明。

输出 不支持协商,仅支持json。无视HTTP header中Accept的要求。 如无特殊说明,API不支持If-Modified-Since/If-None-Match,始终输出完整结果。

数据类型或格式

  • JSON代码中出现的时间格式,如无特殊说明,均采用时间戳。

文档编辑

文中json代码为了书写方便,属性名也许存在未带双引号的情况(也可能在文档升级时解决该问题),编码时请全部按照含双引号的规范方式理解。

公共返回值

{
"code" : 0,
"message" : "",
"data" : {}
}

接口地址

https://ctiplus-api.icsoc.net/interface/v2/

坐席控制

坐席签入

URL

/agent/login

请求方式

POST

请求参数

{
"agNo" : "8001",
"bindTel" : "8001",
"loginType" : 2,
"state" : 0
}

参数说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
bindTelstring绑定电话3-20位数字,若带'-'或',',则可再加10为数字,最长31位
loginTypeint签入模式枚举值 1:动态模式,2:静态模式,默认1,如果未使用wincall SDK的情况下,必须签入为静态模式,动态坐席需要创建ws连接,如果没有ws连接的情况下,只能使用静态模式
stateint签入状态枚举值 1:置闲,2:置忙,签入时必须指定签入后的状态
reasonint置忙原因state为2时填写,不能小于0,默认0,置忙原因为在系统中配置的置忙原因,例如小休、会议等,此值为置忙原因的ID

返回结果

{
"code": 0,
"message": "签入成功",
"data": {
"regId": "7043772057548652544",
"wsLink": "0",
"agType": "1",
"agSta": "0",
"phoSta": "0",
"phoType": "5",
"phoNum": "8001"
}
}
{
"code": 50201,
"message": "坐席已初始化",
"data": {
"regId": "6473432467473838080",
"wsLink" : "0",
"agType" : "1",
"agSta" : "2",
"phoSta" : "1",
"phoNum" : ""
}
}

结果说明

返回字段字段类型说明
regIdstring签入版本ID
wsLinkstring标示是否已经建立了ws链接 0:未连接 1:已连接
agTypestring坐席登录类型 枚举值 1:动态模式,2:静态模式
agStastring坐席状态
phoStastring分机状态
phoNumstring分机号码

坐席签出

URL

/agent/logout

请求方式

POST

请求参数

{
"agNo" : "123456",
"logoutType" : 1
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
logoutTypeint签出类型枚举值 1 : 完全退出 2:仅退出动态模式(默认)

返回结果

{
"code" : 0,
"message" : "签出成功"
}

坐席置闲

URL

/agent/ready

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"description" : "置闲成功"
}

坐席置忙

URL

/agent/busy

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"reason" : 1,
"ischk" : 1
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
reasonint置忙原因ID自定义配置,大于10
ischkint是否校验值为1时校验,默认为0不校验,其他值非法;若ischk为1,则reason需满足 大于10

返回结果

{
"code" : 0,
"message" : "置忙成功"
}

坐席绑定电话修改

URL

/agent/changeBindTel

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"bindTel" : "8080"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
bindTelstring绑定电话3-20位数字,若带'-'或',',则可再加10为数字,最长31位

返回结果

{
"code" : 0,
"message" : "成功"
}

坐席状态查询

URL

/agent/state

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功",
"data" : {
"agSta" : "" ,
"agType" : "" ,
"reason" : "" ,
"phoNum" : "" ,
"webId" : ""
}
}

说明

返回字段字段类型说明
agStastring坐席状态
agTypestring坐席类型
reasonstring分机状态
phoNumstring分机号码
webIdstring客户端标示Id

坐席模式切换

URL

/agent/switchMode

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"agType" : 1 ,
"bindTel" : ""
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
agTypeint坐席签入类型1动态 2静态
bindTelstring绑定电话若填写则校验:3-20位数字,若带'-'或',',则可再加10为数字,最长31位

返回结果

{
"code" : 0 ,
"message" : "成功"
}

进入自动外呼

URL

/agent/agentAtIn

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"proID" : 1
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
proIDint项目ID

返回结果

{
"code" : 0 ,
"message" : "成功"
}

退出自动外呼

URL

/agent/agentAtOut

请求方式

POST

请求参数

{
"agNo" : "123456" ,
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0 ,
"message" : "成功"
}

获取坐席项目列表

URL

/agent/agentPro

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0 ,
"message" : "成功" ,
"data": [
{
"pro_id": "620",
"pro_name": "预测试外呼",
"pro_state": "1"
}
]
}

获取坐席遵时配置

URL

/agent/busyInfo

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"interval" : 10
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
intervalint时间间隔正整数,1~60,其他值非法,默认60

返回结果

{
"code" : 0 ,
"message" : "成功" ,
"data": []
}

获取坐席主叫列表

URL

/agent/callerList

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code": 0,
"message": "成功",
"data": {
"num": [
{
"name": "自动选择",
"value": "",
"type": "auto"
},
{
"name": "",
"value": "r:101",
"type": "route"
},
{
"name": "呼入号码组",
"value": "g:132",
"type": "group"
},
{
"name": "01012345678",
"value": "01012345678",
"type": "phone"
}
]
}
}

查询坐席操作权限

URL

/agent/accessControlInfo

请求方式

POST

请求参数

{}

通过header中的Authorization字段查询

返回结果

{
"code": 0,
"message": "成功",
"data": {
"wincallButtons": [
"consult",
"transfer",
"threeway",
"evaluation",
"autocall",
"auto_answer",
"outbound_callers",
"trans_ivr",
"switch_phone",
"raise_hand",
"dining_remind"
]
}
}

呼叫

呼叫坐席

URL

/agent/callInner

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"calledAgNo" : "8001" ,
"callerID" : ""
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
calledAgNostring被叫坐席工号取值3-20位数字或字母
callerIDstring主叫号码(中继号)若填写则校验:3-20位数字
noAutoAnsint呼叫第一个坐席时不携带自动应答头0/1

返回结果

{
"code" : 0,
"message" : "成功" ,
"data" : {
"callId" : "6400"
}
}

坐席外呼

URL

/agent/callOut

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"agPho" : "" ,
"tel" : "15623885110" ,
"telCode" : "010",
"callerID" : "" ,
"agCallerID" : "",
"queueId" : 0 ,
"userData" : {"a":1}
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
agPhostring坐席分机-
telstring外呼号码3-20位数字,若带'-'或',',则可再加10为数字,最长31位
telCodestring外呼号码区号号码加密时携带
callerIDstring客户侧外显号码若填写则校验:3-20位数字
agCallerIDstring坐席侧显示号码若填写则校验:3-20位数字
queueIdint呼出所属技能组-
sipMsgint通过SIP MESSAGE发送其他消息0/1
noAutoAnsint呼叫坐席时不携带自动应答头0/1
userData对象自定义字段最大500字节,传入的值会打入通道变量,格式:{"key":"value"}

返回结果

{
"code" : 0,
"message" : "成功",
"data" : {
"callId" : "6400"
}
}

坐席外呼取消

URL

/agent/callOutCancel

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

通话控制

拒接

URL

/agent/refuse

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

挂机

URL

/agent/hangup

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

保持

URL

/agent/hold

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

保持接回

URL

/agent/unhold

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

发送DTMF码

URL

/agent/sendDTMF

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"digits" : ""
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
digitsString按键值字符串(0-9,*,#,A,B,C,D)最大20位,如:012*#32D

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询

咨询坐席

URL

/agent/consultAg

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"consultAgNo" : "",
"userData":{"num":123456},
"threeWay":0
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
callerIDstring主叫号码(外线号码)坐席签入时,会告知该坐席所有可用号码,若填写则校验:3-20位数字
consultAgNostring被咨询者的座席工号取值3-20位数字或字母
userDataobject随路数据最大500字节,必须是object类型或者null 默认null
threeWayint自动三方控制0 闭关自动三方 1 开启自动三方 默认0

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询外线

URL

/agent/consultTel

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"callerID" : "" ,
"consultTel" : "",
"userData":{"num":123456},
"threeWay":0
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
callerIDstring主叫号码(外线号码)若填写则校验:3-20位数字
consultTelstring被咨询者的电话3-20位数字,若带'-'或',',则可再加10为数字,最长31位
userDataobject随路数据最大500字节,必须是object类型或者null 默认null
threeWayint自动三方控制0 闭关自动三方 1 开启自动三方 默认0

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询取消/接回

URL

/agent/consultCancel

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询转移

URL

/agent/consultTransfer

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询三方

咨询成功后才可以三方 URL

/agent/consultThreeway

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

咨询三方接回

URL

/agent/consultThreewayReturn

请求方式

POST

请求参数

{
"agNo" : "123456"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

转接

转坐席

URL

/agent/transferAg

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"transferAgNo" : ""
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
transferAgNostring转接的坐席工号取值3-20位数字或字母,被转移的座席工号

返回结果

{
"code" : 0,
"message" : "成功"
}

转电话

URL

/agent/transferTel

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"callerID" : "" ,
"transferTel" : "13012341234"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
callerIDstring主叫号码(外线号码)若填写则校验:3-20位数字
transferTelstring转接的电话号码3-20位数字,若带'-'或',',则可再加10为数字,最长31位

返回结果

{
"code" : 0,
"message" : "成功"
}

转技能组

URL

/agent/transferQueue

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"queueId" : 1000 ,
"transVcc" : 782
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
queueIdint队列Id-
transVccint跨企业转移0为本企业转移,非0则为其他企业代码,默认0

返回结果

{
"code" : 0,
"message" : "成功"
}

排队拦截

URL

/agent/takeOutQueue

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"callId" : "1000",
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
callIdstring通话ID字符串

返回结果

{
"code" : 0,
"message" : "成功"
}

转接满意度

URL

/agent/transferEvaluate

请求方式

POST

请求参数

{
"agNo" : "123456"
}

// 后期追加,转接指定满意度

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

转接IVR

URL

/agent/transferIVR

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"ivrCode" : "782" ,
"ivrNode" : "Node10",
"vccId" : 78
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
ivrCodestringIvr Code
ivrNodestringIVR节点
vccIdint企业ID默认为0,代表本企业

返回结果

{
"code" : 0,
"message" : "成功"
}

IVR交互

URL

/agent/interact

请求方式

POST

请求参数

{
"agNo" : "123456" ,
"ivrCode" : "782" ,
"ivrParam" : "sss"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
ivrCodestringIvr Code
ivrParamstring自定义参数

返回结果

{
"code" : 0,
"message" : "成功"
}

监控

监听

URL

/manager/spy

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456"
}

说明

参数类型说明必选约束
monitoredAgNostring被监听者座席工号取值3-20位数字或字母
noAutoAnsint呼叫坐席时不携带自动应答头0/1

返回结果

{
"code" : 0,
"message" : "成功"
}

强插

URL

/manager/barge

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456"
}

说明

参数类型说明必选约束
monitoredAgNostring被强插者座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

强拆

URL

/manager/disconnect

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456"
}

说明

参数类型说明必选约束
monitoredAgNostring被强拆者座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

强置闲

URL

/manager/setReady

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456"
}

说明

参数类型说明必选约束
monitoredAgNostring被强置闲的坐席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

强置忙

URL

/manager/setBusy

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456",
"reason": 1
}

说明

参数类型说明必选约束
monitoredAgNostring被强置忙的坐席工号被强置忙的坐席工号 取值3-20位数字或字母
reasonint置忙原因1 :强制置忙 3:系统置忙

返回结果

{
"code" : 0,
"message" : "成功"
}

强制签出

URL

/manager/forceLogout

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456",
"customId":""
}

说明

参数类型说明必选约束
monitoredAgNostring座席工号取值3-20位数字或字母
customIdstringws签出消息随路数据256字节以内

返回结果

{
"code" : 0,
"message" : "成功"
}

耳语

URL

/manager/whisper

请求方式

POST

请求参数

{
"monitoredAgNo" : "123456"
}

说明

参数类型说明必选约束
monitoredAgNostring被耳语者座席工号取值3-20位数字或字母

返回结果

{
"code" : 0,
"message" : "成功"
}

耳语取消

URL

/manager/whisperCancel

请求方式

POST

请求参数

返回结果

{
"code" : 0,
"message" : "成功"
}

设置随路数据

URL

/agent/setUserData

请求方式

POST

请求参数

{
"agNo": "7777",
"UserData": {"num":"123"}
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母
userDataobject随路数据最大500字节,必须是object类型

返回结果

{
"code" : 0,
"message" : "成功"
}

获取随路数据

URL

/agent/getUserData

请求方式

POST

请求参数

{
"agNo": "7777"
}

说明

参数类型说明必选约束
agNostring座席工号取值3-20位数字或字母

返回结果

{
"code": 0,
"message": "成功",
"data": { "num":"123"}
}