创建外呼任务
服务描述
本接口可自行创建外呼任务。
两种方式创建外呼任务
- 直接创建外呼任务
- 通过模板任务名称复制新任务
开发须知
调用本接口前,请先获取appId
服务地址
POST https://{您的专属域名}/outbound/openapi/v2/task/create
请求参数
参数 | 位置 | 类型 | 是否必填 | 说明 |
---|---|---|---|---|
appId | header | String | Y | 应用ID |
timestamp | header | String | Y | 时间戳,毫秒 |
sign | header | String | Y | 签名 |
encrypted | header | String | N | 是否需要加密,需要加密传值(加密方式):AES/REQBODY/RESP,不需要加密不用传该字段 |
Content-Type | header | String | Y | application/json |
Body | OpenCallTaskRequest | Y | 任务信息,json |
OpenCallTaskRequest
参数 | 类型 | 说明 | 是否必须 |
---|---|---|---|
taskName | String(50) | 任务名称 | Y |
templateName | String(50) | 模板任务名称,需要通过模板任务创建任务时传入 | N |
taskType | int | 任务启动方式,1手动 2定时 | Y |
outboundDate | String(16) | 任务开始日期 格式:2019-07-23 10:00,注意:任务启动方式为2(定时),该字段必填;启动方式为1(手动),该字段会置为空 | N / Y |
outboundExpireDate | String(10) | 任务外呼结束日期 格式:2019-07-24 | N |
abandonRate | BigDecimal | 放弃率 0~5,默认为3 | N |
outboundStrategy | int | 外呼方式(2-精准式、3-预测式) | Y |
outboundLevel | int | 优先级(1最高、2较高、3中、4较低、5最低,5个等级) | Y |
robotId | String(32) | 机器人id,通过接口机器人话术列表获取 | Y |
robotName | String(32) | 机器人名称,通过接口机器人话术列表获取 | Y |
outboundNo | String | 外呼号码,通过接口外呼号码组获取 | Y |
outboundCircleType | int | 外呼周期,默认1,weekday,目前只支持weekday=1 | Y |
outboundCircleValue | String(128) | 与outboundCircleType联动,值为:1,2,3,4,5,6,7 | Y |
outboundTimeInterval | String(128) | 外呼时段:[\"09:00-11:30\",\"13:30-14:00\",\"16:30-18:00\"] 或 "09:00-11:30,13:30-14:00,16:30-18:00" | Y |
aiSeatsNum | int | ai座席数 | Y |
aiSeatsFlag | int | ai资源不够是否允许拨打,默认允许 1,0不允许 | Y |
recallStatus | String(64) | 允许重呼状态,多个用逗号分隔 15:关机 14:停机 9:占线 12:无法接通 5:未接 10:用户挂断 6:拨打失败 16:呼损 3:正在通话中 | N |
maxRecallTimes | int | 重呼次数,默认0 | N |
recallPeriodMin | int | 重呼间隔(分钟),最小5分钟 | N |
answerTimeout | int | 最大振铃时长,最小值20s,最大值50s,默认45s | N |
blacklistGroupIds | String | 黑名单组id,多个用逗号隔开 | N |
dialogTaskId | String | 任务流程id,需指定机器人流程 见B端配置 机器人平台-任务流程-任务名称ID(鼠标悬停) | Y |
empno | String | 员工工号 | N |
recallModel | int | 0-关闭,1-高级模式,2-普通模式,高级模式下重呼策略为recallStrategy,普通模式下重呼策略为recallStatus、recallPeriodMin、maxRecallTimes | N |
recallStrategy | String | 重呼策略,JSON串,格式如下: [{"status":1,"time":4,"period":10}] | N |
taskStatusCallbackUrl | String | 外呼任务状态变更回调地址(地址使用80\443端口),例如http://xxxx.xxx.com | N |
加密,encrypted
传值,表示需要加密,按照以下步骤加密传输
将json数据用私钥加解密工具加密后,通过body传到接口
Body数据示例:
- 需要加密,以下是入参加密前的json
- 不需要加密则直接传Json参数到body
{ "abandonRate": 3, "aiSeatsFlag": 1, "aiSeatsNum": 5, "maxRecallTimes": 3, "outboundCircleType": 1, "outboundCircleValue": "1,2,3,4,5,6,7", "outboundDate": "2019-07-23 09:00", "outboundExpireDate": "2019-10-31", "outboundLevel": 3, "outboundNo": "11111", "outboundStrategy": 2, "outboundTimeInterval": "[\"09:00-21:00\"]", "recallPeriodMin": 5, "recallStatus": "15", "robotId": "2f50535d41a44ec0afe9727a7a43a770", "robotName": "测试机器人", "taskName": "外呼测试", "taskType": 1, "answerTimeout":45, "blacklistGroupIds": "2f50535d41a44ec0afe9727a7a43a770,2f50535d41a44ec0afe9727a7a43a770", "dialogTaskId": "2f50535d41a44ec0afe9727a7a43a770", "empno" : "100001", "recallModel": 1, "recallStrategy": "[{\"status\":1,\"time\":4,\"period\":10}]" }
复制外呼任务
- 通过模板任务名复制任务 支持替换的字段:
- taskName 任务名称
- outboundDate 任务开始日期(自动任务)
- outboundExpireDate 任务过期时间
{ "templateName":"模板任务名称" }
- 使用自定义任务名称
{ "taskName":"新外呼任务名称", "templateName":"模板任务名称" }
- 复制任务使用自定义任务名称和自定义任务启动时间(自动外呼任务时outboundDate才会生效)
{ "taskName":"新外呼任务名称", "templateName":"模板任务名称", "outboundDate":"2020-10-10" }
- 使用自定义任务名称、自定义启动时间(自动外呼)、自定义外呼任务过期时间方式创建
{ "taskName":"新外呼任务名称", "templateName":"模板任务名称", "outboundDate":"2020-10-10", "outboundExpireDate":"2020-12-01" }
返回结果加密
加密方式
header
中的encrypted
传值,表示需要对返回结果进行加密,拿到加密后的返回结果, 使用私钥加解密工具进行解密
返回结果
- 需要加密,以下是返回结果加密前的json
- 不需要加密则直接直接返回不加密的结果
参数 | 类型 | 说明 |
---|---|---|
code | String | 结果码 |
message | String | 结果描述 |
data | OpenCallTaskResponse | 任务信息 |
OpenCallTaskResponse
参数 | 类型 | 说明 |
---|---|---|
taskCode | String(32) | 任务编码,长度32位 |
taskName | String(50) | 任务名称 |
taskStatus | int | 任务状态(1-未开始,2-进行中,3-已完成,4-已终止、5-排队中、6-手动暂停、7-自动暂停、8-已过期) |
taskType | int | 任务启动方式,1手动 2定时 |
tenantId | String(32) | 租户id |
robotId | String(32) | 机器人id |
robotName | String(32) | 机器人名称 |
outboundNo | String | 外呼号码 |
outboundTotal | int | 外呼数量 |
outboundProgress | int | 外呼进度 |
outboundCircleType | int | 外呼周期,默认1,weekday,目前只支持weekday=1 |
outboundCircleValue | String(128) | 与outboundCircleType联动,值为:1,2,3,4,5,6,7 |
outboundTimeInterval | String(128) | 外呼时段:[\"09:00-11:30\",\"13:30-14:00\",\"16:30-18:00\"] |
aiSeatsNum | int | ai座席数 |
aiSeatsFlag | int | ai资源不够是否允许拨打,默认允许 1,0不允许 |
recallStatus | String(64) | 允许重呼状态 15:关机 14:停机 9:占线 12:无法接通 5:未接 10:用户挂断 6:拨打失败 16:呼损 3:正在通话中 |
maxRecallTimes | int | 重呼次数,默认0 |
recallPeriodMin | int | 重呼间隔(分钟),最小5分钟 |
blacklistGroupIds | int | 黑名单组id |
dialogTaskId | int | 任务流程id |
dialogTaskName | int | 任务流程名称 |
返回结果示例:
{
"code": "10000",
"message": "请求成功",
"data": {
"taskCode": "e9a0edb5e839eada14624f83df4c4dd0",
"taskName": "外呼测试",
"taskStatus": 3,
"taskType": 1,
"tenantId": "msxf1524664727417005e005f",
"robotId": "2f50535d41a44ec0afe9727a7a43a770",
"robotName": "测试机器人",
"outboundNo": "1070678044124068",
"outboundTotal": 5,
"outboundProgress": 5,
"outboundCircleType": 1,
"outboundCircleValue": "1,2,3,4,5,6,7",
"outboundTimeInterval": "[\"09:00-21:00\"]",
"aiSeatsNum": 5,
"aiSeatsFlag": 1,
"recallStatus": "",
"maxRecallTimes": 0,
"recallPeriodMin": null,
"blacklistGroupIds": null,
"dialogTaskId": null,
"dialogTaskName": null
}
}
结果码说明
结果码 | 说明 |
---|---|
10000 | 请求成功 |
20001 | 请求失败 |
21002 | 认证失败,请重新登录 |