基础管理 API
# 基础管理 API
# 座席管理
# ● 查询座席设置
说明:查询座席的分机账号/电话号码/整理时长。
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/agents?agentType={agentType}&agent={agent}
请求方法: GET
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(query string)
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别 0:座席工号; 1:座席uuid |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUUID | String | 是 | 座席UUID |
agentID | String | 是 | 座席工号 |
agentName | String | 否 | 座席名称 |
ext | String | 否 | 绑定分机号 |
phone | String | 否 | 绑定电话号码 |
wrapUpType | int | 否 | 话后整理类型 1:整体; 2:个人 |
wrapUpTime | int | 否 | 话后整理时长(秒) |
响应示例:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": "bd4630df3550552ba7c16f27ae9a39cb", //座席UUID
"agentID": "1111", //座席工号
"agentName": "test", //座席姓名
"phone": "13800138000", //座席手机号码
"ext": "1000", //座席分机号码
"wrapUpType": 2, // 1:整体; 2:个人
"wrapUpTime":60 // 整理时长(秒)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ● 修改座席设置
说明:当座席需要进行电话业务时,可以设置座席对应的分机账号/电话号码/整理时长。
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/agents
请求方法: POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别 0:座席工号; 1:座席uuid |
wrapUpTime | int | 是 | 话后整理时长(秒) |
phone | String | 否 | 手机号 |
ext | String | 否 | 分机号 |
wrapUpType | int | 否 | 话后整理类型 1:整体; 2:个人 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentName | String | 是 | 座席名称 |
ext | String | 是 | 绑定分机号 |
phone | String | 是 | 绑定电话号码 |
wrapUpType | int | 是 | 话后整理类型 1:整体; 2:个人 |
wrapUpTime | int | 是 | 整理时长(秒) |
agentUUID | String | 否 | 座席UUID |
agentID | String | 否 | 座席工号 |
响应示例:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": "bd4630df3550552ba7c16f27ae9a39cb", //座席UUID
"agentID": "1111", //座席工号
"agentName": "test", //座席姓名
"phone": "13800138000", //座席手机号码
"ext": "1000", //座席分机号码
"wrapUpType": 2, // 1:整体; 2:个人
"wrapUpTime":60 // 整理时长(秒)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● 解绑座席设置
说明:释放座席对应的分机账号/电话号码。
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/agents/unbind
请求方法: POST
请求(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agent | String | 是 | 座席UUID/工号 |
agentType | int | 是 | 座席参数类别 0:座席工号; 1:座席uuid |
numberType | int | 否 | 号码类别; 0:分机; 1:电话号码; 2:手机+电话号码 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUUID | String | 是 | 座席UUID |
agentID | String | 否 | 座席工号 |
agentName | String | 否 | 座席名称 |
ext | String | 否 | 绑定分机号 |
phone | String | 否 | 绑定电话号码 |
wrapUpType | int | 否 | 话后整理类型 1:整体; 2:个人 |
wrapUpTime | int | 否 | 话后整理时长 整理时长(秒) |
响应示例:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": "bd4630df3550552ba7c16f27ae9a39cb", //座席UUID
"agentID": "1111", //座席工号
"agentName": "test", //座席姓名
"phone": "13800138000", //座席手机号码
"ext": "1000", //座席分机号码
"wrapUpType": 2, // 1:整体; 2:个人
"wrapUpTime":60 // 整理时长(秒)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● 查询呼叫座席列表
说明:查询企业具有呼叫权限的全部座席。
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/agents/call/_search
请求方法: POST
请求(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentName | String | 否 | 座席姓名 支持模糊查询 |
agentID | String | 否 | 操作座席工号 支持模糊查询 |
ext | String | 否 | 绑定分机号 支持模糊查询 |
agentStatus | int | 否 | 座席工作状态 |
返回参数
- List集合
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentUUID | String | 是 | 座席UUID |
agentID | String | 否 | 座席工号 |
agentName | String | 否 | 座席名称 |
ext | String | 否 | 分机号 |
agentPhone | String | 否 | 电话号码 |
loginStatus | Integer | 否 | 登录状态 |
notReadyReasonCode | Integer | 否 | 置忙原因 |
createTime | String | 否 | 创建时间 |
updateTime | String | 否 | 更新时间 |
响应示例:
{
"apiVersion": "6.3",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": [{
"agentUUID": "bd4630df3550552ba7c16f27ae9a39cb",
"agentID": "1111",
"agentName": "test01",
"ext": "1000",
"agentPhone": "138xxxxxxxx",
"loginStatus": 1,
"notReadyReasonCode": 0,
"createTime": "2022-09-14 10:00:01",
"updateTime": "2022-09-14 10:00:01"
},{
"agentUUID": "d2a6a9fb2ab2470cba9af6b6774ef858",
"agentID": "2222",
"agentName": "test02",
"ext": "1001",
"agentPhone": "186xxxxxxxx",
"loginStatus": 2,
"notReadyReasonCode":11,
"createTime": "2022-08-14 12:43:01",
"updateTime": "2022-09-10 08:31:46"
}]
}
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
# 分机管理
# ● 查询分机列表
说明:查询分机列表
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/exts/_search
请求方法: POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
bindStatus | int | 否 | 绑定状态,0:未绑定,1:已绑定 |
pageSize | int | 否 | 分页大小, 默认为10 |
currPage | int | 否 | 页码, 默认为1 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ext | String | 是 | 分机号 |
password | String | 是 | 分机密码 |
bindStatus | String | 是 | 绑定状态,0:未绑定,1:已绑定 |
bindTime | long | 否 | 绑定时间 毫秒 |
agentUUID | String | 否 | 座席唯一id |
agentName | String | 否 | 座席名称 |
langCodeTxt | String | 是 | 语言编码格式,Opus,G.711 alaw,G.711 ulaw |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "Ext",
"metaData": {},
"data": {
"list": [
{
"ext": "5002",
"password": "123456",
"bindStatus": 1,
"bindTime": 1657274393279,
"agentUUID": "7b8ec043e9a24727ad0570ba1b6e82fe",
"agentName": "v6_cs2",
"langCodeTxt": "Opus"
},
{
"ext": "5001",
"password": "123456",
"bindStatus": 1,
"bindTime": 1657682876629,
"agentUUID": "59220de7f88141829a1f38d8698acb26",
"agentName": "v6_cs1",
"langCodeTxt": "G.711 ulaw"
}
],
"currPage": 1,
"pageSize": 3,
"total": 13
}
}
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
# ● 创建分机账号
说明:创建分机账号
接口地址: https://openapi.soboten.com/callservice/tm/tm-config/api/exts/_add
请求方法: POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号或座席id |
agentType | String | 否 | 1表示座席id;0或不传值表示座席工号 |
ext | String | 是 | 分机号, 3-8位数字组合,支持0开头,创建后不可更改 |
password | String | 是 | 分机密码, 6-8位数字,主要用于注册实体话机 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
ext | String | 是 | 分机号 |
password | String | 是 | 分机密码 |
langCodeTxt | String | 是 | 语言编码格式,Opus |
响应示例:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "Ext",
"metaData": {},
"data": {
"ext": "5002",
"password": "123456",
"langCodeTxt": "Opus"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# 号码管理
# ● 导入企业禁呼号码
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/blacklist/batch
请求方法:PUT
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callNumber | String | 是 | 电话号码 |
numberType | int | 是 | 1:电话号码 |
callType | int | 是 | 呼叫方向; 2:呼入; 3:呼出 |
enabled | int | 是 | 启用状态; 0:禁用; 1:启用 |
expirationTime | String | 否 | 到期时间:yyyy-MM-dd |
zoneId | String | 否 | 时区id:参考当前公司可用时区,如果不传将使用企业默认时区 |
description | String | 否 | 描述 |
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
successCount | int | 是 | 导入成功数 |
failedCount | int | 否 | 导入失败数 |
details | 数组 | 否 | 数组元素 参考导入企业禁呼号码失败数据 |
请求范例 :
[
{
"callNumber": "15210818952", //呼叫号码
"numberType": 1, //号码类型,1-号码
"callType": 2, //呼叫方向,2-呼入 3-呼出
"enabled": 0, //启用状态,0-禁用;1-启用
"description": "测试1" //描述
},
{
"callNumber": "13212341232",
"numberType": 2,
"callType": 2,
"enabled": 0,
"description": "测试2"
},
{
"callNumber": "13212341233",
"numberType": 2,
"callType": 2,
"enabled": 0,
"description": "测试3"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
响应示例:
{
"apiVersion":"6.2",
"status":"Success",
"code":200,
"message":"请求服务成功",
"reason":"",
"kind":"BatchDetail",
"metaData":{},
"data":
{
"successCount":3,
"failedCount":2,
"details":
[
"第【2】条,【numberType】,内容【2】,【参考:1-号码】",
"第【3】条,【numberType】,内容【2】,【参考:1-号码】"
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# ● 查询中继号码列表
接口地址:https://openapi.soboten.com/callservice/tm/tm-config/api/gatewayNumber/search
请求方法:POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
- content-type: application/json;charset=utf-8
- 参数说明
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
enabled | List | 否 | 号码启用状态 |
numberScope | String | 否 | 号码适用范围: 2.电销 3.机器人,如果为空默认查询电销类型 |
请求范例 :
{"enabled":[1,2,0]}
返回体
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
data | List | 是 | gatewayNumber中继号码集合 |
gatewayNumber
参数 | 类型 | 描述 |
---|---|---|
gatewayNumber | String | 中继号码 |
alias | String | 别名 |
remark | String | 备注信息 |
enabled | Map | 号码启用状态 |
Map
参数 | 类型 | 描述 |
---|---|---|
enabledCode | Integer | 号码启用状态编号 |
enabledName | String | 号码启用状态名称 |
响应示例:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "请求服务成功",
"kind": "List",
"metaData": {},
"data": [
{
"gatewayNumber": "010514294XX",
"alias": "别名1",
"remark": "正常使用",
"enabled": {
"enabledCode": 1,
"enabledName": "已启用"
}
},
{
"gatewayNumber": "010514294XX",
"alias": "别名2",
"remark": "已销号",
"enabled": {
"enabledCode": 2,
"enabledName": "已销号"
}
}
],
"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
# 外呼任务
# ● 创建机器人外呼任务
接口说明:通过接口的形式,创建拨打电话的任务。
请求方法:POST
请求地址:
https://openapi.soboten.com/callservice/icall/icall-task/companies/{companyId}/tasks
请求头
key | value | 备注 |
---|---|---|
Authorization | Bearer <accessToken> | 需要坐席级授权接口,请参考接口功能规范 |
Content-type | application/json;charset=utf-8 |
请求参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
companyId | String | 是 | 公司Id,从url中获取 |
taskName | String | 是 | 任务名称, 只能输入中文,英文,数字,以及-_() |
templateId | String | 是 | 话术模板ID |
robotNum | int | 是 | 机器人数量 |
timeType | int | 否 | 任务有效期类型 ,默认为 2 该字段取值范围:1表示自定义,2表示永久 |
startTime | Long | 否 | 任务有效期起始日期,timeType等于1时有效;毫秒量级时间戳,例如:1577808000000 表示'2020-01-01 00:00:00' |
endTime | Long | 否 | 任务有效期结束日期,timeType等于1时有效;毫秒量级时间戳,例如:1580399999000 表示'2020-01-30 23:59:59' |
retryFlag | int | 否 | 是否开启重拨 ,默认为 0 该字段取值范围: 0表示未开启, 1表示已开启 |
taskRetryList | array json | 否 | 重播策略数组 |
priority | int | 否 | 任务优先级,优先级高则优先拨打。默认为 2 该字段取值范围: 1表示低优先级,2表示中优先级,3表示高优先级 |
telephoneRule | int | 否 | 外显规则 ,默认为 1 该字段取值范围: 1.轮流,2.随机 |
aniList | List | 是 | 外显号码 |
taskCronList | list | 否 | 拨打时间段数组 默认: [{"begin":"09:00","end":"20:00"}] |
usingLocationMatchFlag | int | 否 | 是否使用归属地匹配规则标识 ,默认为 0 该字段取值范围: 0-不使用,1-使用 |
taskRetryList对象数组: 该数组中,每个重试策略retryNum
、retryTime
必须相等;
[
{
"retryNum":1,
"retryTime":60,
"retryCondition":3
},
{
"retryNum":1,
"retryTime":60,
"retryCondition":8
}
]
2
3
4
5
6
7
8
9
10
11
12
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
retryNum | int | 是 | 重拨次数 该字段取值范围: 1,2 单位:次 |
retryTime | int | 是 | 重拨间隔 该字段取值范围: 3,10,30,60,90, 120 单位:分钟 |
retryCondition | int | 是 | 重拨触发时机 该字段取值范围: 3:无人接听,4:关机,5:停机,9:用户正忙 |
taskCronList对象数组:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
begin | String | 是 | 开始时间 例如:“09:00” |
end | String | 是 | 结束时间 例如:“20:00” |
请求示例:
https://openapi.soboten.com/callservice/icall/icall-task/companies/******/tasks
{
"templateId":"xxxxxxxxx",
"taskName":"新拨打任务",
"startTime":1612800000000,
"endTime":1613836799999,
"robotNum":5,
"timeType":"1",
"aniList":[
"01022222222",
"17111111111"
],
"telephoneRule":1,
"priority":2,
"retryFlag":1,
"taskRetryList":[
{
"retryNum":1,
"retryTime":60,
"retryCondition":3
}
],
"taskCronList":[
{
"begin":"09:00",
"end":"20:00"
}
]
}
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
返回参数:
参数 | 类型 | 描述 |
---|---|---|
data | json | 数据实体 |
retMsg | String | 提示信息 |
retCode | String | 状态码,"000000"为成功 |
data对象:
参数 | 类型 | 描述 |
---|---|---|
taskId | String | 任务的ID |
taskName | String | 任务的名称 |
templateId | String | 任务拨打的模板Id |
templateName | String | 任务拨打的模板 |
返回参数示例:
{
"apiVersion": "8.0.0",
"status": "Success",
"reason": "",
"kind": "TaskCompanyOpenOut",
"metaData": {},
"data": {
"taskId": "7d7bc8b16bb24d9da6efa1625f20b7cd",
"taskName": "新拨打任务",
"templateId": "37452c7c0afb450296798deb768c871e",
"templateName": "hxl-zh",
"campaignId": "7d7bc8b16bb24d9da6efa1625f20b7cd"
},
"retMsg": "请求服务成功",
"retCode": "000000"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ● 机器人任务导入数据
接口说明:向活动中添加将要拨打的电话号码
请求方法:POST
请求地址:
https://openapi.soboten.com/callservice/icall/icall-task/companies/{companyId}/tasks/{taskId}/task-contacts
请求头
key | value | 备注 |
---|---|---|
Authorization | Bearer <accessToken> | 需要坐席级授权接口,请参考接口功能规范 |
Content-type | application/json;charset=utf-8 |
请求参数:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
companyId | String | 是 | 公司Id 从url中获取 |
taskId | String | 是 | 任务Id 创建任务后获得 |
contactList | array json | 必填 | 拨打数据 请求报文体的大小最大限制为10M |
contactList对象:
一条拨打数据,包括三部分内容 对接客户方业务Id
、用户电话
、用于模板的变量
。
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
outId | String | 否 | 数据id 调用方业务Id |
telephone | String | 是 | 用户电话 |
privacyNumber | String | 否 | 是否平台隐私号 null或"0"为否 "1"为是 |
variable | Map<String,String> | 否 | 用于模板的变量 该变量用于任务拨打的模板。它是个Map集合 |
请求示例:
https://openapi.soboten.com/callservice/icall/icall-task/companies/******/tasks/******/task-contacts
{
"contactList": [
{
"outId": "outId001",
"telephone": "135xxxxxxxx",
"variable": {
"话术模板变量KEY": "话术模板变量VALUE"
}
}
]
}
2
3
4
5
6
7
8
9
10
11
返回参数:
参数 | 类型 | 描述 |
---|---|---|
data | String | 返回数据 |
retMsg | String | 提示信息 |
retCode | String | 状态码,"000000"为成功 |
返回参数示例:
{
"apiVersion": "8.0.0",
"status": "Success",
"reason": "",
"kind": "String",
"metaData": {},
"data": "导入总数为:1条;成功:1条;失败:0条",
"retMsg": "请求服务成功",
"retCode": "000000"
}
2
3
4
5
6
7
8
9
10
# ● 创建人工外呼任务
接口地址: https://openapi.soboten.com/callservice/tm/tm-outbound/api/campaigns
请求方法: POST
请求参数(header)
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号 或 座席id;值的内容由agentType值决定。 |
agentType | String | 否 | 座席参数类别 0:座席工号; 1:座席id; 为空时,默认座席工号。 |
name | String | 是 | 任务名称 |
dataTemplateCode | String | 是 | 状态为启用的导入模板编码 |
wrapUpTemplateCode | String | 是 | 状态为启用的总结模板编码 |
scheduleStartTime | Long | 是 | 计划开始时间,毫秒时间戳 |
scheduleEndTime | Long | 是 | 计划结束时间,毫秒时间戳;非空时必须大于计划开始时间。 |
description | String | 否 | 备注最多200个字 |
请求body示例:
{
"agentID": "59220de7f88141829a1f38d8698acb26",
"agentType": "1",
"name": "通知",
"dataTemplateCode": "D000000000",
"wrapUpTemplateCode": "W000000000",
"scheduleStartTime": 1660115936310,
"scheduleEndTime": 1660118400638,
"description": "备注"
}
2
3
4
5
6
7
8
9
10
11
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 任务ID |
code | String | 是 | 任务编号 |
响应示例
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "ApiRespCampaignsVO",
"metaData": {},
"data": {
"id": "037276ff01c6eM4b1b89413A383072f38476",
"code": "dgug92owec"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
# ● 人工任务导入数据
接口地址: https://openapi.soboten.com/callservice/tm/tm-exports/api/campaigns/_import
请求方法: POST
请求参数(header)
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号 或 座席id;值的内容由agentType值决定; |
agentType | String | 否 | 座席参数类别 0:座席工号;1:座席id;为空时,默认座席工号。 |
campaignId | String | 否 | 任务ID,创建者需要为当前导入数据的座席(接口参数),否则不允许。 |
code | String | 否 | 任务编号,当外呼任务ID非空时,接口以外呼任务ID字段作为任务的主键,查询任务记录。外呼任务ID为空,且外呼任务code非空时,接口以外呼任务code字段作为任务的主键,查询任务记录。 |
callingListCode | String | 是 | 批次号,最多20位大小写英文字母(不区分大小写)+数字组合,一旦录入不支持修改。 |
removeDuplicatesRule | String | 是 | 号码去重规则 NonRemoveDuplicates(不去重); RemoveDuplicatesInCallingList(批次内去重);RemoveDuplicatesInCampaign(任务内去重); RemoveDuplicatesInTenant(任务间去重) |
enableFilterDoNotCallListNumber | String | 否 | 是否过滤禁呼号码, Filter(过滤);NoFilter(不过滤);默认NoFilter。 |
assignRule | String | 是 | 分配方式AssignAverage(平均分配);AssignAppoint(指定分配);NoAssign(不分配) |
assignAgentAndCount | json | 否 | 分配座席 |
assignAgentAndCount
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席ID |
count | String | 是 | 数量 |
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
dataDetails | array json | 是 | 导入外呼任务数据详情 |
dataDetails
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
telephone | String | 是 | 明细号码 |
allocationAgent | String | 否 | 分配座席(座席工号) |
name | String | 否 | 明细名称 |
description | String | 否 | 备注最多200个字 |
customFields | array json | 否 | 自定义定段,详见任务导入模板的自定义字段集合。 |
customFields
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
fieldId | String | 是 | 自定义ID |
fieldValue | String | 是 | 自定义值 |
请求body示例:
{
"agentID": "e906cc52bfac44b4ae30497fd39c4c4d",
"agentType": "1",
"campaignId": "cde0f90801d98M4fcb8a43eFff11b201cbff",
"callingListCode": "20220815203412",
"removeDuplicatesRule": "RemoveDuplicatesInCallingList",
"enableFilterDoNotCallListNumber": "Filter",
"assignRule":"AssignAppoint",
"assignAgentAndCount": [{
"agentID": "2b82a4acc60647dd814b3db642e75972",
"count": 100
}],
"dataDetails": [{
"allocationAgent": "12001",
"name": "名称",
"telephone": "100000000",
"description":"描述",
"customFields": [{
"fieldId": "3b987930e6db4b0ca51f6ad5755e91ae",
"fieldValue":"BeiJing1号"
}]
}]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
callingListCode | String | 是 | 批次号,根据批次ID查询导入结果 |
campaignId | String | 是 | 任务ID |
code | String | 是 | 任务编号 |
响应示例
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "ApiRespCampaignsVO",
"metaData": {},
"data": {
"campaignId": "2b82a4acc60647dd814b3db642e75971",
"callingListCode": "20220101000000",
"code":"dgug92owec"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# ● 批次导入结果查询
接口地址: https://openapi.soboten.com/callservice/tm/tm-outbound/api/campaigns/calling-list/import-result
请求方法: POST
请求参数(header)
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
Idempotency-Key | String | 是 | UUID,幂等性 |
请求参数(body)
- content-type: application/json;charset=utf-8
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
agentID | String | 是 | 座席工号 或 座席id;值的内容由agentType值决定; |
agentType | String | 否 | 座席参数类别0:座席工号;1:座席id;为空时,默认座席工号。 |
callingListCode | String | 否 | 批次号,导入任务数据接口返回 |
campaignId | String | 否 | 任务ID,导入任务数据接口返回 |
code | String | 否 | 任务编号,当外呼任务ID非空时,接口以外呼任务ID字段作为任务的主键,查询任务记录。外呼任务ID为空,且外呼任务code非空时,接口以外呼任务code字段作为任务的主键,查询任务记录。 |
currPage | int | 否 | 当前页,默认1 |
pageSize | int | 否 | 每页数,默认50 |
请求body示例:
{
"agentID": "59220de7f88141829a1f38d8698acb26",
"agentType": "1",
"callingListCode": "02951e5b01ddcM40997b185S2a541d16be48",
"campaignId": "2b82a4acc60647dd814b3db642e75971",
"code":"dgug92owec",
"currPage": 1,
"pageSize": 50
}
2
3
4
5
6
7
8
9
10
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
campaignId | String | 是 | 任务ID |
code | String | 是 | 任务编号 |
callingListCode | String | 是 | 批次号 |
creationTime | Long | 是 | 导入时间,毫秒时间戳 |
removeDuplicatesRule | String | 是 | 号码去重规则 |
successCount | int | 是 | 成功任务明细数 |
repeatCount | int | 是 | 重复任务明细数 |
errorCount | int | 是 | 失败任务明细数 |
errorReportPath | String | 是 | 错误报告下载地址 |
响应示例
{
"apiVersion":"v6.3.0",
"status":"Success",
"code":200,
"message":"请求服务成功",
"reason":"",
"kind":"ApiRepsICallListResult",
"metaData":{
},
"data":{
"totalCount":13,
"pageSize":50,
"totalPage":1,
"currPage":1,
"list":[
{
"campaignId":"cde0f90801d98M4fcb8a43eFff11b201cbff",
"code":"dgug92owec",
"callingListCode": "20220815203412",
"removeDuplicatesRule": "RemoveDuplicatesInCallingList",
"successCount":1,
"errorCount":0,
"errorReportPath":"https://img.com/0619826b0e024N4650194b8P87a660372bfb.xlsx",
"removeDuplicatesCount":0,
"creationTime":1660632449700
}
]
}
}
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
# 联系计划
# ● 批量创建联系计划
说明:批量新建联系计划,每次最多50条。
接口地址: https://openapi.soboten.com/callservice/tm/tm-console/contact-schedules/_batchAddInfos
请求方法: POST
请求参数(header) :
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | String | 是 | 接口访问凭据,获取方式请参考获取鉴权token |
请求参数(body)
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
name | String | 是 | 联系计划名字。限制最大20位有效字符 |
bak | String | 否 | 联系计划备注。当传值时最大200个有效字符 |
scheduleStartTime | Long | 是 | 联系计划开始时间。毫秒级时间戳,时间精确至分钟,如:1663986420000(2022-09-24 10:27:00) |
scheduleEndTime | Long | 是 | 联系计划到期时间。毫秒级时间戳,时间精确至分钟 |
customerPhoneNumberList | String[] | 是 | 客户号码数组。符合3至16位数字的号码规则,每次限制最大50条 |
executorId | String | 是 | 执行联系计划的座席工号 或 座席id |
agentID | String | 是 | 批量创建联系计划的座席工号 或 座席id |
agentType | String | 否 | 操作用户或执行人参数类别;0:座席工号;1:座席id。为空时,默认座席工号 |
请求body示例:
{
"name": "openApi批量计划-5",
"scheduleStartTime": "1661911780000",
"scheduleEndTime": "1662998180000",
"executorId": "5001",
"bak": "test4444",
"agentID": "5002",
"agentType": "0",
"customerPhoneNumberList": [
"18189672221",
"18189671111",
"18889673333"
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
返回参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
id | String | 是 | 联系计划id |
serialNumber | Long | 是 | 联系计划编号 |
name | String | 是 | 联系计划名字 |
scheduleStartTime | Long | 是 | 联系计划开始时间戳,毫秒 |
scheduleEndTime | Long | 是 | 联系计划到期时间戳,毫秒 |
creationTime | Long | 是 | 联系计划创建时间戳,毫秒 |
响应示例:
{
"apiVersion": "v6.0.0",
"status": "Success",
"code": 200,
"message": "请求服务成功",
"reason": "",
"kind": "List",
"metaData": {},
"data": [
"83f938c7d45ac0e2445ce0f59bc57e59",
"a29efd4c7d3c2a3f7afac174b7fbefac",
"c0a8e889945b475d17230592ff35d0a6"
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 公共数据结构
# ● 禁呼号码导入失败数据
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
detail | String | 是 | 例如:第【3】条,【callType】,内容【5】,【参考:1-呼出】 |