呼叫能力 (https)
# 呼叫能力 (https)
# 登录操作
# ● 座席签入
说明:座席签入(不支持网页电话接听方式)
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_login
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
bindExt | String | 是 | 签入时绑定的分机账号 |
phoneType | String | 是 | sip:SIP话机接听方式;pstn:电话接听方式 |
bindMobile | String | 否 | 当座席接听方式是手机方式时必填 |
agentState | String | 否 | 座席签入以后的状态 1:在线;2:勿扰;默认勿扰 |
edgeOut | String | 否 | 登录时挤出其他端的登录,当前登录信息与电话条不一致时,可以选择挤出;1-挤出;非1-不挤出 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentState | String | 是 | 1:在线;2:勿扰;为空时,默认勿扰 |
bindExt | String | 是 | 签入时绑定的分机账号 |
phoneType | String | 是 | sip:SIP话机接听方式;pstn:电话接听方式;webrtc:网页电话接听方式 |
reasonCode | String | 是 | 置忙原因,0:非置忙;2:勿扰;当agentState为1时,值为0 |
creationTime | long | 是 | 上游服务响应时间戳(毫秒) |
bindMobile | String | 否 | 当座席接听方式是手机方式时必填 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentLogin",
"creationTime": 1656568762440,
"data": {
"creationTime": 1656568762237,
"agentState": "1",
"reasonCode": "0",
"phoneType": "sip",
"bindExt": "5001",
"bindMobile": "18889671923"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ● 座席签出
说明:座席签出
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_logout
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentLogout",
"creationTime": 1656398763545
}
2
3
4
5
6
7
8
9
# ● 座席置忙
说明:座席从置闲状态切换为忙碌状态或从一种忙碌状态切换为另一种忙碌状态,如:勿扰变为小休
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_notReady
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
reasonCode | String | 是 | 2:勿扰;11:小休;12至18:自定义 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentNotReady",
"creationTime": 1656398763545
}
2
3
4
5
6
7
8
9
# ● 座席置闲
说明:座席从置忙状态切换为就绪状态
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_ready
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentReady",
"creationTime": 1656398763545
}
2
3
4
5
6
7
8
9
# ● 座席重置离线
说明:重置座席状态并签出
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_resetLogout
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentResetLogout",
"creationTime": 1656398763545
}
2
3
4
5
6
7
8
9
# ● 查询接听方式
说明:http方式签入时目前支持sip、pstn方式,但该接口会返回其他接听方式。
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agent/phone-types
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agent":"5001",
"agentType":"0"
}
2
3
4
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUuid | String | 否 | 座席ID |
agentID | String | 是 | 座席工号 |
agentName | String | 是 | 座席名称 |
ext | String | 是 | 绑定分机号 |
phone | String | 否 | 绑定电话号码 |
phoneTypes | List<PhoneType> | 否 | 接听方式集合,见表1 |
表1 PhoneType 接听方式
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
phoneType | String | 是 | http方式仅支持sip、pstn |
defaultPhoneType | boolean | 是 | true表示座席当前使用该接听方式;false表示座席不使用该接听方式 |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "AgentPhoneTypesInfo",
"metaData": {},
"data": {
"agentUuid": "59220de7f88141829a1f38d8698acb26",
"agentID": "5001",
"agentName": "jc_v6_cs1",
"phone": "18889671923",
"ext": "5001",
"phoneTypes": [
{
"phoneType": "webrtc",
"defaultPhoneType": false
},
{
"phoneType": "wechat",
"defaultPhoneType": false
},
{
"phoneType": "pstn",
"defaultPhoneType": false
},
{
"phoneType": "sip",
"defaultPhoneType": false
},
{
"phoneType": "sobotapp",
"defaultPhoneType": false
}
]
}
}
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
28
29
30
31
32
33
34
35
36
37
38
# ● 查询座席的签入信息
说明:请求的前提是座席已签入电话条。接口返回座席、分机、接听方式信息。
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agent/login-binding-info
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agent":"5001",
"agentType":"0"
}
2
3
4
5
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUuid | String | 否 | 座席ID |
agentID | String | 是 | 座席工号 |
agentName | String | 是 | 座席名称 |
ext | String | 是 | 绑定分机号 |
phone | String | 否 | 绑定电话号码 |
phoneTypes | List<PhoneType> | 否 | 接听方式集合,见表1 |
表1 PhoneType 接听方式
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
phoneType | String | 是 | http方式仅支持sip、pstn |
defaultPhoneType | boolean | 是 | true表示座席当前使用该接听方式;false表示座席不使用该接听方式 |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "AgentLoginBindInfo",
"metaData": {},
"data": {
"agentUuid": "ad18f634ceebc0f0a84969552e60edb7",
"agentID": "5001",
"agentName": "jc_v6_cs1",
"phone": "18889671923",
"ext": "5001",
"phoneTypes": [
{
"phoneType": "pstn",
"defaultPhoneType": false
},
{
"phoneType": "sip",
"defaultPhoneType": true
}
]
}
}
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
# ● 查询座席可用分机信息
说明:该接口返回的分机信息包含座席已绑定的分机和其他未绑定分机信息
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agent/available-exts
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agent":"5001",
"agentType":"0"
}
2
3
4
5
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
data | List<Ext> | 否 | 分机集合信息,见表1 |
表1 分机信息
Ext
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ext | String | 是 | 分机号 |
bindStatus | int | 是 | 0-未绑定,1-表示已绑定 ;1-表示座席当前绑定的分机 |
langCodeTxt | String | 是 | 语言编码格式,Opus,G.711 alaw,G.711 ulaw |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "List",
"metaData": {},
"data": [
{
"ext": "1114",
"bindStatus": 0,
"langCodeTxt": "Opus"
},
{
"ext": "5001",
"bindStatus": 1,
"langCodeTxt": "G.711 ulaw"
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# ● 修改分机属性
说明:修改分机语言编码
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/agent/exts/langCode
请求方法: PUT
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ext | String | 是 | 分机号 |
langCodeTxt | String | 是 | 语言编码格式,Opus,G.711 alaw,G.711 ulaw |
请求body示例:
{
"agent":"5001",
"agentType":"0",
"ext":"5001",
"langCodeTxt":"Opus"
}
2
3
4
5
6
7
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ext | String | 是 | 分机号 |
langCodeTxt | String | 是 | 语言编码格式,Opus,G.711 alaw,G.711 ulaw |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "Ext",
"metaData": {},
"data": {
"ext": "5002",
"langCodeTxt": "Opus"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
# ● 查询座席可用的置忙原因
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agent/busy-statuses
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agent":"5001",
"agentType":"0"
}
2
3
4
5
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
data | List<AgentBusyStatus> | 否 | 座席可用置忙原因集合,见表1 |
表1 AgentBusyStatus 置忙原因
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
code | String | 是 | 状态编码,系统内置置忙原因:2-勿扰;11-小休;98-系统锁定(系统基于配置触发场景产生) |
name | String | 是 | 状态名称 |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "List",
"metaData": {},
"data": [
{
"name": "勿扰",
"code": "2"
},
{
"name": "小休",
"code": "11"
},
{
"name": "会议",
"code": "13"
},
{
"name": "用餐",
"code": "14"
},
{
"name": "活动",
"code": "15"
},
{
"name": "自定义1",
"code": "16"
},
{
"name": "自定义2",
"code": "17"
},
{
"name": "自定义3",
"code": "18"
}
]
}
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 呼叫操作
# ● 外呼电话
说明:外呼电话
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_makeCall
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | 幂等性字符串,基于当次请求参数生成的摘要字符串,相同的请求参数生成的摘要字符串相同,示例仅供参考; |
幂等UUID生成示例:
String requestData = "{\"agentID\":\"59220de7f88141829a1f38d8698acb26\",\"agentType\":\"1\",\"otherDN\":\"18889671923\"}";
String idempotencyKey = UUID.nameUUIDFromBytes(requestData.getBytes()).toString();
2
3
4
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
otherDN | String | 是 | 客户号码 |
ANI | String | 否 | 客户侧外显号码 |
agentANI | String | 否 | 座席侧外显号码 |
outboundPlanCode | String | 否 | 客户侧的动态外显号码方案编码;如果不传ANI,这个参数必传 |
userData | Map<String, String> | 否 | 扩展数据;根据需要使用,缺省不传值 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callID | String | 是 | 代表一通电话 |
creationTime | long | 是 | 电话创建unix时间戳(毫秒) |
userData | Map<String, String> | 否 | 扩展数据;根据需要使用,缺省不传值 |
请求示例:
{
"agentID": "59220de7f88141829a1f38d8698acb26",
"agentType": "1",
"userData": {
"key1": "value1",
"key2": "value2"
}
}
2
3
4
5
6
7
8
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentMakeCall",
"creationTime": 1656570907080,
"data": {
"creationTime": 1656570906917,
"callID": "6bc626a40894fM4deb68502U6a93a0b98e9b"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# ● 接听电话
说明:电话振铃时接听电话
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_answerCall
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callID | String | 是 | 代表一通电话 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentAnswerCall",
"creationTime": 1656398763545,
"data": {
"callID": "6bc626a40894fM4deb68502U6a93a0b98e9b"
}
}
2
3
4
5
6
7
8
9
10
11
12
# ● 挂断电话
说明:处于通话中的座席调用此接口挂断电话
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_hangup
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callID | String | 是 | 代表一通电话 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentHangup",
"creationTime": 1656398763545,
"data": {
"callID": "6bc626a40894fM4deb68502U6a93a0b98e9b"
}
}
2
3
4
5
6
7
8
9
10
11
12
# ● 保持电话
说明:处于通话中电话进入保持中
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_holdCall
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callID | String | 是 | 代表一通电话 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentHoldCall",
"creationTime": 1656398763545,
"data": {
"callID": "6bc626a40894fM4deb68502U6a93a0b98e9b"
}
}
2
3
4
5
6
7
8
9
10
11
12
# ● 取消保持
说明:处于保持中的电话恢复通话
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_retrieveCall
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callID | String | 是 | 代表一通电话 |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentRetrieveCall",
"creationTime": 1656570907080,
"data": {
"callID": "6bc626a40894fM4deb68502U6a93a0b98e9b"
}
}
2
3
4
5
6
7
8
9
10
11
12
# ● 延长话后小结
说明:话后小结剩余时长不充足时调用此接口延长小结时长
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_delayCallAfterWork
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
delayTime | int | 是 | 30-900秒 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
expirationTime | long | 是 | 话后小结到期时间戳(毫秒) |
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentDelayCallAfterWork",
"creationTime": 1656570907080,
"data": {
"expirationTime": 1656570937080
}
}
2
3
4
5
6
7
8
9
10
11
12
# ● 结束话后小结
说明:话后小结工作提前完成时调用此接口结束话后小结;结束话后小结时座席可以选择进入就绪状态或忙碌勿扰状态;
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/agent/_ready
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
userData | Map<String, String> | 否 | 扩展数据; |
userData:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
endACW2Busy | String | 否 | 值为“true”时,结束话后小结后座席进入勿扰状态;;为“false”时,结束话后小结后进入座席就绪状态;缺省时结束话后小结座席就绪 |
请求示例:
结束话后小结进入就绪状态:
{
"agentID": "59220de7f88141829a1f38d8698acb26",
"agentType": "1"
}
2
3
4
结束话后小结进入勿扰状态:
{
"agentID": "59220de7f88141829a1f38d8698acb26",
"agentType": "1",
"userData":{"endACW2Busy":"true"}
}
2
3
4
5
响应示例:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "AgentReady",
"creationTime": 1656570907080
}
2
3
4
5
6
7
8
9
# 班长操作
# ● 通话监听
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_monitorcall
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号或座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"message": "OK",
"code": 200,
"reason": "OK",
"kind": "MonitoringMonitorcall",
"creationTime": 1673007056162
}
2
3
4
5
6
7
8
9
10
11
失败响应消息:
{
"apiVersion": "6.2.0", //api版本
"status": "Failure", //Success 或者 Failure
"message": "操作失败 请先签入,再操作", // 错误消息, 根据 http header Accept-Language 显示不同语言。默认中文
"code": 306014, // 错误编码
"reason": "OPERATION_FAILURE", // 错误消息 Key
"kind": "MonitoringMonitorcall",
"creationTime": 1673007056162
}
2
3
4
5
6
7
8
9
10
11
# ● 通话抢接
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_intercept
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 否 | 座席UUID/工号 |
agentType | int | 否 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 否 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
成功响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"message": "OK",
"code": 200,
"reason": "OK",
"kind": "MonitoringIntercept",
"creationTime": 1673007056162
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0",
"status": "Failure",
"code": 306014,
"message": "操作失败 请先签入,再操作",
"reason": "OPERATION_FAILURE",
"kind": "MonitoringIntercept",
"creationTime": 1673007056162
}
2
3
4
5
6
7
8
9
10
# ● 通话强插
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_bargein
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"message": "OK",
"code": 200,
"reason": "OK",
"kind": "MonitoringBargein",
"creationTime": 1673007385399
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0",
"status": "Failure",
"code": 306014,
"message": "操作失败 目标座席未在通话中",
"reason": "OPERATION_FAILURE",
"kind": "MonitoringBargein",
"creationTime": 1673007385399
}
2
3
4
5
6
7
8
9
10
# ● 强制置忙
说明:将目标座席从空闲状态强制切换至置忙勿扰状态
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_agentNotReady
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "MonitoringAgentNotReady",
"creationTime": 1673007267253
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0", //api版本
"status": "Failure", //Success 或者 Failure
"message": "操作失败 目标座席非在线状态或信息不正确.", // 给使用用户提示错误信息
"code": 306014,
"reason": "OPERATION_FAILURE",
"kind": "MonitoringAgentNotReady",
"creationTime": 1673007267253
}
2
3
4
5
6
7
8
9
10
11
# ● 强制置闲
说明:将目标座席从置忙状态强制切换至空闲状态
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_agentReady
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "MonitoringAgentReady",
"creationTime": 1673007296437
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0",
"status": "Failure",
"code": 306014,
"message": "操作失败 座席已处于就绪中",
"reason": "OPERATION_FAILURE",
"kind": "MonitoringAgentReady",
"creationTime": 1673007339466
}
2
3
4
5
6
7
8
9
10
# ● 强制签出
说明:班长将处于在线状态目标座席强制签出
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_agentLogout
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "MonitoringAgentLogout",
"creationTime": 1673007189440
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0",
"status": "Failure",
"code": 306014,
"message": "操作失败 目标座席非在线状态或信息不正确",
"reason": "OPERATION_FAILURE",
"kind": "MonitoringAgentLogout",
"creationTime": 1673007202275
}
2
3
4
5
6
7
8
9
10
# ● 班长重置离线座席
说明:班长将处于在线状态目标座席强制签出,并将座席缓存状态重置
接口地址:https://openapi.soboten.com/callservice/v6/webmsg/monitoring/_agentResetLogout
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
target | String | 是 | 目标: 座席工号 或 座席id; 座席分机; 座席电话号码 |
targetType | int | 是 | 目标类型: 1: 座席,target值是座席工号或座席id,与agentType类型一致。agentType为0,target为工号,agentType为1,target为目标座席id; 2: 座席分机,目标座席非pstn方式签入时,target可以使用目标座席分机号 3: 座席电话号码,目标座席pstn方式签入时,target可以使用目标座席电话号码 |
响应消息:
{
"apiVersion": "6.2.0",
"status": "Success",
"code": 200,
"message": "OK",
"reason": "OK",
"kind": "MonitoringAgentResetLogout",
"creationTime": 1673007242441
}
2
3
4
5
6
7
8
9
10
失败响应消息:
{
"apiVersion": "6.2.0",
"status": "Failure",
"code": 306014,
"message": "操作失败 目标座席非在线状态或信息不正确",
"reason": "OPERATION_FAILURE",
"kind": "MonitoringAgentResetLogout",
"creationTime": 1673007213805
}
2
3
4
5
6
7
8
9
10
# 辅助操作
# ● 查询座席外呼路由
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agents/outbound-routes/rules
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agent":"1000",
"agentType":"0"
}
2
3
4
5
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUuid | 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:非默认外显号码。 |
响应示例:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "OutboundRuleResult",
"metaData": {},
"data": {
"agentUuid": "座席ID",
"agentName": "座席名称",
"agentID": "座席工号",
"explicitNumbers": [],
"explicitSchema": [],
"explicitRule": [
{
"code": "1",
"name": "企业号码池随机匹配",
"hasSet": true
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ● 修改座席外呼路由
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agents/outbound-routes/rules
请求方法:PUT
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别: 0:座席工号; 1:座席uuid |
explicitRule | int | 是 | 外显规则,需在<外呼路由>中座席的外显规则数据权限范围内。 1:企业号码池随机匹配;2:动态外显号码方案匹配;3:座席号码池指定。 |
explicitCode | String | 否 | 动态外显方案编码,需在<外呼路由>中座席的动态外显方案数据权限范围内。 当外显规则=动态外显号码方案匹配时,非空。 |
explicitNumber | String | 否 | 外显号码,需在<外呼路由>中座席的个人号码池数据权限范围内。 当外显规则=座席号码池指定时,非空。 |
请求body示例:
{
"agent":"1000",
"agentType":"0",
"explicitRule": 0,
"explicitCode": "xxxxxxxx",
"explicitNumber": "13333333333"
}
2
3
4
5
6
7
8
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUuid | 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:非默认外显号码。 |
响应示例:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "OutboundRuleResult",
"metaData": {},
"data": {
"agentUuid": "座席ID",
"agentName": "座席名称",
"agentID": "座席工号",
"explicitNumbers": [],
"explicitSchema": [],
"explicitRule": [
{
"code": "1",
"name": "企业号码池随机匹配",
"hasSet": true
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# ● 查询呼叫座席
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agents/state/search
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 否 | 座席参数类别: 0:座席工号; 1:座席uuid |
agentName | String | 否 | 座席姓名 模糊搜索 |
agentID | String | 否 | 座席工号 模糊搜索 |
workStatus | int | 否 | 座席工作状态 -1:全部 1:就绪中 默认 就绪中 |
请求body示例:
{
"agent":"4f1a1f826412428c901f08731b08fe6c",
"agentType":1,
"agentName":"1003",
"agentID":"1003",
"workStatus":1
}
2
3
4
5
6
7
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
data | List<Agent> | 否 | 座席信息集合,见下表 |
Agent 座席
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 否 | 座席工号 |
agentName | String | 是 | 座席名称 |
agentUUID | int | 是 | 座席ID |
ext | String | 否 | 座席绑定的分机号 |
loginStatus | int | 是 | 登录状态 1:在线,2:勿扰,11:小休11,12:小休12,13:小休13,14:小休14,15:小休15,16:小休16,17:小休17,18:小休18,98:系统置忙,0:离线 |
workStatus | int | 是 | 座席工作状态 0-未知、 1-就绪中、2-置忙中、4-整理中(话后小结)、5-拨号振铃中、6-被叫响铃、7-通话中、8-保持中、98-锁定中 |
响应示例:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "请求服务成功",
"kind": "AgentStatusAPI",
"metaData": {},
"retMsg": "请求服务成功",
"retCode": "000000",
"data": {
"list":[
{
"agentUUID": "0c036189a8a84038b0bf3011eacf21f9",
"agentID": "1003",
"agentType": 0,
"agentName": "v6-王中王",
"loginStatus": 1,
"lastLoginTime": 0,
"workStatus": 1,
"ext": "1003"
},
....
],
....
}
}
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
# ● 查询座席的可签入数据
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/agents/info
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席UUID/工号 |
agentType | Integer | 否 | 座席参数类别: 0:座席工号; 1:座席uuid |
请求body示例:
{
"agentID":"4f1a1f826412428c901f08731b08fe6c",
"agentType":1
}
2
3
4
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 否 | 座席UUID |
agentID | String | 是 | 座席工号 |
agentName | String | 否 | 座席名称 |
loginStatusCode | String | 是 | 登录状态编码 |
loginStatusName | String | 是 | 登录状态名称 |
currentPhoneType | String | 是 | 接听方式 |
ext | String | 是 | 绑定分机号 |
phone | String | 是 | 绑定电话号码 |
loginStatus | List | 是 | 登录状态列表 |
phoneTypes | List | 是 | 接听方式列表 |
LoginStatusVO 登录状态
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
code | String | 否 | 编码 |
name | String | 否 | 名称 |
PhoneTypeVO 接听方式
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
phoneType | String | 是 | 接听方式 |
响应示例:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "请求服务成功",
"kind": "AgentInfoVO",
"metaData": {},
"data": {
"id": "eca5f5267cc94ca8bca243f5e8ba5e70",
"agentID": "4545",
"agentName": "y4545",
"phone": "18235388448",
"currentPhoneType": "webrtc",
"ext": "4545",
"loginStatusCode": "1",
"loginStatusName": "在线",
"loginStatus": [
{
"name": "在线",
"code": "1"
},
{
"name": "勿扰",
"code": "2"
},
{
"name": "小休",
"code": "11"
},
{
"name": "培训",
"code": "12"
},
{
"name": "会议",
"code": "13"
},
{
"name": "用餐",
"code": "14"
},
{
"name": "活动",
"code": "15"
},
{
"name": "1",
"code": "16"
},
{
"name": "自定义2",
"code": "17"
},
{
"name": "自定义3",
"code": "18"
},
{
"name": "系统锁定",
"code": "98"
},
{
"name": "离线",
"code": "0"
}
],
"phoneTypes": [
{
"phoneType": "webrtc"
},
{
"phoneType": "wechat"
},
{
"phoneType": "pstn"
},
{
"phoneType": "sip"
},
{
"phoneType": "sobotapp"
},
{
"phoneType": "other"
}
]
},
"retMsg": "请求服务成功",
"retCode": "000000"
}
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91