零、注意事项:
0.1 格式说明
所有API,若未特殊注明,Content-Type
全部使用 application/json
。
0.2 出参约定格式
如无特殊说明,出参固定为以下格式:
参数 | 类型 | 说明 |
code | int | 状态码,0 - 成功, 其余为失败 |
message | string | 提示信息 |
data | mixed | 数据 |
data 具体格式见每个接口具体说明
0.3 域名
如果无特殊说明,以下 API 中,所有域名均为: https://autocall.icsoc.net
一、预测式外呼-任务创建/更新
1.1 路由
POST/PUT /api/v1/poc/projects/updateOrCreate
1.2 入参
参数 | 类型 | 说明 | 必填 | 默认值 |
id | int | 项目id,当更新时必填 | 否 | |
name | string | 项目名称 | 是 | |
type | int | 任务类型:1-预测式外呼,2-预览式外呼,3-自动外呼,4-机器人外呼。目前固定值为1 | 否 | 1 |
status | int | 状态:0-关闭,1-开启,2-暂停 | 否 | 0 |
priority | int | 任务的权重,数字越大,呼叫时的比例就越大,0~255 | 否 | 100 |
concurrent | int | 并发线路 | 否 | 100 |
callers | array | 任务的主叫号码 | 否 | |
maxConnSecs | int | 最长通话时长 | 否 | 300 |
timeoutSecs | int | 外呼超时时间,从超过此时间未接通则挂断 | 否 | 30 |
maxQueueSecs | int | 数据时效性,数据从收到后需要在此时长内发起呼叫,如果超过此时间,则不呼叫,0为不限 | 否 | 0 |
enableAsr | bool | 是否开通ASR识别 | 否 | false |
callRatioType | int | 预测式外呼呼叫系数:0-自动调整; 1-手动指定 | 否 | 0 |
manualCallRatio | int | 手动指定方式下的外呼呼叫系数 | 否 | 3 |
maxCallRatio | int | 预测式外呼场景下的最大的呼叫系数,即最大呼叫的倍数 | 否 | 8 |
phoneCount | int | 任务明细数据中的号码字段的个数,可以配置一条数据中有多个号码,默认都是1个,1-5 | 否 | 1 |
enableCallback | bool | 是否开启回调 | 否 | false |
callbackUrl | string | 回调的接口地址 | 否 | |
encryption | object | aes加密配置 | 否 | |
recallTimes | int | 重呼次数 | 否 | 0 |
recallInterval | int | 重呼间隔,单位为分钟,即每次重呼的间隔时间 | 否 | 30 |
recallStrategies | object | 重呼策略 | 否 | |
assignedUsers | object | 分配的坐席详情 | 否 | |
workingPeriods | object | 外呼时间段详情 | 否 | |
transTo | int | 转接对象的id,当mc_transag ,目前只有预测式外呼的场景,该场景下的坐席见otd_task_agents表、当mc_transque时,为技能组ID、当mc_transivr时,为ivr code、当mc_transai时,为机器人的话术id | 否 | |
1.2.1 encryption
{
"type": "AES-128-ECB",
"data":{ // 数据加密
"enable": true,
"token": "123"
}
}
1.2.2 recallStrategies
key 值定义:1-用户忙、2-无法接通、3-关机、4-停机、5-空号、11-呼叫限制
{
"1": {
"recall": 0, // 是否开启重呼
"recallInterval": 60, // 重呼间隔
"recallMaxTimes": 5 // 最大重呼时间
},
"2": {
"recall": 0,
"recallInterval": 60,
"recallMaxTimes": 5
},
"11": {
"recall": 0,
"recallInterval": 60,
"recallMaxTimes": 5
}
}
1.2.3 assignedUsers
[
{
"userId": 100000,
"connLimit": 200
}
]
1.2.4 workingPeriods
{
"1": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"2": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"3": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"4": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"5": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"6": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
"0": [
["09:00:00", "10:00:00"],
["12:00:00", "16:00:00"],
],
}
1.3 出参
参数 | 类型 | 说明 |
id | int | 项目id |
projectName | string | 项目名称 |
type | int | 任务类型:1-预测式外呼,2-预览式外呼,3-自动外呼,4-机器人外呼 |
typeName | string | 任务类型名称 |
status | int | 状态:0-关闭,1-开启,2-暂停 |
statusString | string | 任务呼叫状态 |
callRatioType | string | 预测式外呼呼叫系数:0-自动调整; 1-手动指定 |
callRatioTypeString | string | 预测式外呼呼叫系数名称 |
createdAt | string | 创建时间 |
updatedAt | string | 更新时间 |
updatedUserName | string | 更新人 |
1.4 举例
1.4.1 入参
{
"name":"yansongda",
"type":1,
"concurrent":10,
"status":1,
"priority":10,
"callers":[
"02136093491",
"02136093495"
],
"timeoutSecs":110,
"maxConnSecs":200,
"maxQueueSecs":10,
"enableAsr":1,
"callRatioType":0,
"maxCallRatio":8,
"phoneCount":1,
"enableCallback":false,
"encryption":{
"type":"AES-128-ECB",
"data":{
"enable":false,
"token":123
},
"mobile":{
"enable":false,
"token":123
}
},
"recallTimes":0,
"recallInterval":30,
"recallStrategies":[
{
"enable":false,
"recallInterval":211,
"recallMaxTimes":0
},
{
"enable":false,
"recallInterval":211,
"recallMaxTimes":0
},
{
"enable":false,
"recallInterval":211,
"recallMaxTimes":0
},
{
"enable":false,
"recallInterval":211,
"recallMaxTimes":0
},
{
"enable":false,
"recallInterval":211,
"recallMaxTimes":0
},
{
"enable":true,
"recallInterval":122,
"recallMaxTimes":1
}
],
"workingPeriods":{
"1":[
[
"17:02:00",
"17:03:00"
],
[
"18:04:00",
"18:05:00"
]
]
},
"assignedUsers":[
{
"user_id":11,
"conn_limit":13
},
{
"user_id":12,
"conn_limit":14
}
]
}
1.4.2 出参
{
"code": 0,
"message": "success",
"request_id": "3xNIhChsN9IA4DAtL1tjkj2twswhyatu",
"data": {
"id": 10000
}
}
二、预测式外呼-任务删除
2.1 路由
DELETE/POST /api/v1/poc/projects/delete
2.2 入参
参数 | 类型 | 说明 | 必填 |
ids | int[] | 项目id | 是 |
isForce | bool | 是否强制删除 0否 1是 默认0 | 否 |
三、预测式外呼-任务列表
3.1 路由
GET /api/poc/projects/lists
3.2 入参
参数 | 类型 | 说明 | 必填 |
currentPage | int | 当前页 | 是 |
perPage | int | 每页数据量 | 是 |
status | int | 状态:0-关闭,1-开启 | 否 |
name | string | 项目名称,模糊搜索 | 否 |
3.3 出参
参数 | 类型 | 说明 |
currentPage | int | 当前页码 |
totalPage | int | 总页数 |
perPage | int | 每页条数 |
total | int | 总条数 |
empty | boll | 是否空 |
results | Project[] | 项目列表 |
3.3.1 Project 定义
参数 | 类型 | 说明 |
id | int | 项目id |
projectName | string | 项目名称 |
type | int | 任务类型:1-预测式外呼,2-预览式外呼,3-自动外呼,4-机器人外呼 |
typeName | string | 任务类型名称 |
status | int | 状态:0-关闭,1-开启,2-暂停 |
statusString | string | 任务呼叫状态 |
callRatioType | string | 预测式外呼呼叫系数:0-自动调整; 1-手动指定 |
callRatioTypeString | string | 预测式外呼呼叫系数名称 |
total_called | string | 总呼叫条数 |
un_called | string | 未呼叫数 |
createdAt | string | 创建时间 |
updatedAt | string | 更新时间 |
updatedUserName | string | 更新人 |
3.4 举例
3.4.1 入参
{
"currentPage":1,
"perPage":10,
"projectName":"项目1",
"status":1
}
3.4.2 出参
{
"code":0,
"message":"操作成功",
"request_id":"6dc089b0179c4f57761ba2060ffd1871",
"data":{
"currentPage":1,
"totalPage":1,
"perPage":20,
"total":10,
"empty":false,
"results":[
{
"id":10015,
"name":"cc2c222c21",
"type":1,
"concurrent":22,
"status":1,
"priority":22,
"context":"mc_transque",
"exten":"ivr_in",
"transTo":"266",
"callers":[
"01212345671",
"01212345674"
],
"timeoutSecs":30,
"maxConnSecs":600,
"maxQueueSecs":0,
"maxQueueSecsObj":{
"timeType":0
},
"enableAsr":false,
"callRatioType":0,
"manualCallRatio":null,
"maxCallRatio":8,
"phoneCount":1,
"enableCallback":false,
"callbackUrl":null,
"encryption":{
"type":"AES-128-ECB",
"data":{
"enable":false,
"token":null
},
"mobile":{
"enable":false,
"token":null
}
},
"recallTimes":0,
"recallInterval":null,
"recallStrategies":{
"1":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"2":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"3":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"4":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"5":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"11":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
}
},
"createdAt":"2021-03-22 07:30:02",
"createdUserName":"1 | 开发环境",
"updatedAt":"2021-03-22 16:27:14",
"updatedUserName":"yansongda | yansongda",
"unCalled":0,
"totalCalled":0,
"statusString":"启用",
"typeString":"预测式外呼",
"callRatioTypeString":"自动调整",
"callTypeString":"正常"
}
]
}
}
四、预测式外呼-任务详情
POST /api/v1/poc/projects/detail
4.1 入参
4.2 出参
参数 | 类型 | 说明 |
id | int | 项目id,当更新时必填 |
name | string | 项目名称 |
type | int | 任务类型:1-预测式外呼,2-预览式外呼,3-自动外呼,4-机器人外呼 |
typeString | string | 任务类型 |
status | int | 状态:0-关闭,1-开启,2-暂停 |
statusString | string | 状态 |
priority | int | 任务的权重,数字越大,呼叫时的比例就越大,0~255 |
concurrent | int | 并发线路 |
callers | array | 任务的主叫号码 |
maxConnSecs | int | 最长通话时长 |
timeoutSecs | int | 外呼超时时间,从超过此时间未接通则挂断 |
maxQueueSecs | int | 数据时效性,数据从收到后需要在此时长内发起呼叫,如果超过此时间,则不呼叫,0为不限 |
enableAsr | bool | 是否开通ASR识别 |
callRatioType | int | 预测式外呼呼叫系数:0-自动调整; 1-手动指定 |
callRatioTypeString | string | 预测式外呼呼叫系数 |
manualCallRatio | int | 手动指定方式下的外呼呼叫系数 |
maxCallRatio | int | 预测式外呼场景下的最大的呼叫系数,即最大呼叫的倍数 |
phoneCount | int | 任务明细数据中的号码字段的个数,可以配置一条数据中有多个号码,默认都是1个,1-5 |
enableCallback | bool | 是否开启回调 |
callbackUrl | string | 回调的接口地址 |
encryption | object | aes加密配置 |
recallTimes | int | 重呼次数 |
recallInterval | int | 重呼间隔,单位为分钟,即每次重呼的间隔时间 |
recallStrategies | object | 重呼策略 |
workingPeriods | array | 外呼时间段详情 |
assignedUsers | array | 坐席用户列表 |
workTimeDetail | array | 外呼时间段详细信息 |
4.3 举例
4.3.1 出参
{
"code":0,
"message":"操作成功",
"request_id":"6dc089b0179c4f57761ba2060ffd1871",
"data":{
"id":10015,
"name":"cc2c222c21",
"type":1,
"concurrent":22,
"status":1,
"priority":22,
"context":"mc_transque",
"exten":"ivr_in",
"transTo":"266",
"callers":[
"01212345671",
"01212345674"
],
"timeoutSecs":30,
"maxConnSecs":600,
"maxQueueSecs":0,
"maxQueueSecsObj":{
"timeType":0
},
"enableAsr":false,
"callRatioType":0,
"manualCallRatio":null,
"maxCallRatio":8,
"phoneCount":1,
"enableCallback":false,
"callbackUrl":null,
"encryption":{
"type":"AES-128-ECB",
"data":{
"enable":false,
"token":null
},
"mobile":{
"enable":false,
"token":null
}
},
"recallTimes":0,
"recallInterval":null,
"recallStrategies":{
"1":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"2":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"3":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"4":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"5":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
},
"11":{
"recall":1,
"recallInterval":null,
"recallMaxTimes":0
}
},
"createdAt":"2021-03-22 07:30:02",
"createdUserName":"1 | 开发环境",
"updatedAt":"2021-03-22 16:27:14",
"updatedUserName":"yansongda | yansongda",
"unCalled":0,
"totalCalled":0,
"statusString":"启用",
"typeString":"预测式外呼",
"callRatioTypeString":"自动调整",
"callTypeString":"正常"
}
}
五、预测式外呼-启动/禁用任务
POST /api/v1/poc/projects/update/status
5.1 入参
参数 | 类型 | 说明 | 必填 |
id | int | 项目id | 是 |
status | int | 状态:1-开启,0-暂停 | 是 |
5.2 出参
无
六、预测式外呼-所有任务
6.1 路由
GET /api/v1/poc/projects/all
6.2 入参
无
6.3 出参
参数 | 类型 | 说明 |
code | int | 状态码,0 - 成功, 其余为失败 |
message | int | 提示信息 |
data | array | 项目数据,见 detail 接口 |
6.4 举例
6.4.1 出参
{
"code": 0,
"message": "success",
"request_id": "MTBlk4aU4TfnBpdERgKjlOipN2jQKq9R",
"data": [
{
"id": 2,
"name": "1111",
"type": 1,
"concurrent": 10,
"status": 1,
"priority": 10,
"context": "mc_transag",
"exten": "ivr_in",
"transTo": 1,
"transId": 0,
"callers": [
"01212345670"
],
"timeoutSecs": 110,
"maxConnSecs": 200,
"maxQueueSecs": 10,
"enableAsr": false,
"ttsOptions": null,
"callRatioType": 1,
"manualCallRatio": 1,
"maxCallRatio": 8,
"phoneCount": 1,
"enableCallback": false,
"callbackUrl": "https://3x.ant.design/components/drawer-cn/",
"encryption": {
"type": "AES-128-ECB",
"data": {
"enable": true,
"token": 123
},
"mobile": {
"enable": false,
"token": 123
}
},
"recallTimes": 0,
"recallInterval": 30,
"recallStrategies": {
"1": {
"recall": 0,
"recallInterval": 211,
"recallMaxTimes": 0
},
"2": {
"recall": 0,
"recallInterval": 211,
"recallMaxTimes": 0
},
"3": {
"recall": 0,
"recallInterval": 211,
"recallMaxTimes": 0
},
"4": {
"recall": 0,
"recallInterval": 211,
"recallMaxTimes": 0
},
"5": {
"recall": 1,
"recallInterval": 122,
"recallMaxTimes": 1
},
"11": {
"recall": 1,
"recallInterval": 110,
"recallMaxTimes": 0
}
},
"dataValidSecs": 0,
"createdAt": "2021-02-25 09:32:06",
"createdUserName": "yansongda | yansongda",
"updatedAt": "2021-03-01 02:53:45",
"updatedUserName": "5470 | yansongda",
"statusString": "启用",
"typeString": "预测试外呼",
"callRatioTypeString": "手动调整",
"unCalleds": 2,
"totalCalls": 1
}
]
}