新增外呼活动(v2)
场景描述
调用该接口新增预测外呼、智能外呼、自动外呼、预览外呼、预占外呼。
推荐使用v2版本,v2版本支持外呼重试策略,呼叫策略,业务结果策略的添加,只需要一个接口就可以新增外呼任务的相关数据,不需要额外调用设置外呼活动重试策略接口了。
使用说明
- 前提条件
- 已经申请了开发者账号。
- 智能外呼时,需要客户开发IVR,具体详情请参考配置智能机器人。
- 使用限制
- 只能创建20个设备类型为技能队列的外呼活动任务。
- 只能创建20个设备类型为IVR的外呼活动任务。

同一个租户下面同种外呼任务活跃的数量不能大于一定值。值取决于配置项max.liveliest.taskCount,默认是20。
- 外呼活动创建后,无法修改设备类型。
接口方法
该接口仅支持POST方法。
接口URL
https://ip:port/rest/isales/v2/openapi/campaigns/{vdnId}
其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
1 | vdnId | int | True | 虚拟呼叫中心ID。 取值的类型为整数,取值范围为1~9999。 |
请求说明
序号 | 名称 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
1 | Content-Type | String | True | 固定填 application/json; charset=UTF-8。 |
2 | Authorization | String | True | 生成方式参见C2 监控/系统外呼/话单/知识库类接口鉴权方式。 |
3 | locale | String | False | i18n(internationalization,国际语言代码),如zh_CN表示中文、en_US表示英文等,默认zh_CN。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
1 | name | String | True | 外呼活动的名称。 不能与已有外呼活动名称重复。 最大长度为100个字符。 |
2 | description | String | False | 外呼活动的描述。 最大长度为200字符,不含"[]=;<>特殊字符。 |
3 | strBeginTime | String | True | 外呼活动开始时间。 格式为yyyy-MM-dd HH:mm:ss,UTC时间,不能早于今天的零点。 |
4 | strEndTime | String | True | 外呼活动结束时间。 格式为yyyy-MM-dd HH:mm:ss,UTC时间。 |
5 | deviceType | int | True | 外呼设备类型。 取值范围:
|
6 | callerNo | List | True | 支持多主叫号码。 该对象的参数说明请参见表14 |
7 | maxAlertingTime | int | True | 用户不应答最大振铃时长,超过该时长,则释放呼叫。 预览外呼取值范围:9~120,单位为秒;其他外呼取值范围:5~120,单位为秒。 |
8 | priority | int | False | 任务优先级。 取值范围:1-5,数字越小,优先级越高。 |
9 | scheduleParam | Object | True | 呼出时间段。 该对象的参数说明请参见表5。 |
10 | ivrParam | Object | False | deviceType为1或者3(IVR)时为True。 该对象的参数说明请参见表6。 |
11 | skillParam | Object | False | deviceType为2,5,6(技能队列)时为True。 该对象的参数说明请参见表7。 |
12 | initStatus | int | False | 活动添加状态,默认值为0。 取值范围:
|
13 | callBackUrl | String | True | 外呼结果的回调通知地址。 必须以https://或http开头。 说明:
|
14 | retryPolicy | Object | True | 外呼结果策略。 该对象的参数说明请参见表15。 |
15 | callPolicy | Object | False | 呼叫策略。 该对象的参数说明请参见表20 |
16 | ccId | int | op环境为True | 支持多中心模式下,该字段用于标识具体所属的中心。 |
17 | dataPolicy | Object | False | 外呼数据策略对象。 该对象的参数说明请参见表4 |

如果呼叫策略callPolciy不为空,且当callType=1(轮次呼叫)时,外呼结果策略retryPolicy下的policyType只能为1,即号码类型策略。
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
17.1 | dataExpireDuration | int | False | 外呼数据过期时长,默认时长为10天,即10天不进行呼叫,数据机会转移到呼叫完成表中,最大支持设置为365。历史外呼任务值为365天。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
8.1 | workdayBeginTime1 | String | False | 工作日呼出时间段1开始时间,格式为HH:mm。 |
8.2 | workdayEndTime1 | String | False | 工作日呼出时间段1结束时间,格式为HH:mm。 |
8.3 | workdayBeginTime2 | String | False | 工作日呼出时间段2开始时间,格式为HH:mm。 |
8.4 | workdayEndTime2 | String | False | 工作日呼出时间段2结束时间,格式为HH:mm。 |
8.5 | workdayBeginTime3 | String | False | 工作日呼出时间段3开始时间,格式为HH:mm。 |
8.6 | workdayEndTime3 | String | False | 工作日呼出时间段3结束时间,格式为HH:mm。 |
8.7 | holidayBeginTime1 | String | False | 特殊日期呼出时间段1开始时间,格式为HH:mm。 |
8.8 | holidayEndTime1 | String | False | 特殊日期呼出时间段1结束时间,格式为HH:mm。 |
8.9 | holidayBeginTime2 | String | False | 特殊日期呼出时间段2开始时间,格式为HH:mm。 |
8.10 | holidayEndTime2 | String | False | 特殊日期呼出时间段2结束时间,格式为HH:mm。 |
8.11 | holidayBeginTime3 | String | False | 特殊日期呼出时间段3开始时间,格式为HH:mm。 |
8.12 | holidayEndTime3 | String | False | 特殊日期呼出时间段3结束时间,格式为HH:mm。 |

- 当配置特殊日期时间段后,若为了兼容AICC-isales页面,则后续必须调用(新增外呼活动的特殊日期)接口,指明外呼活动与特殊日期关系;否则会出现接口与页面的不兼容
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
10.1 | deviceSign | String | True | deviceType=1时,传入智能IVR的主流程编码(oifde-flowcode)。该主流程编码可通过租户管理员登录AICC前台,在查看。 deviceType=3时,传入普通IVR的机器人接入码或者智能IVR的机器人接入码。 普通IVR的机器人接入码可通过租户管理员登录AICC前台,在查看。 智能IVR的机器人接入码可通过租户管理员登录AICC前台,在查看。 |
10.2 | callCount | int | True | 外呼任务每次呼出的数量。 取值范围:1~100。 |
10.3 | callInterval | int | True | 外呼任务的呼出间隔时间。 取值范围:1~9999,单位秒。 |

例如某外呼任务需要达到1分钟呼出60个呼叫的需求,建议配置成callInterval=3,callCount=3。
外呼后使用设备为IVR,外呼数量计算为 (callCount/callInterval)*3取整(大于1时才会呼出);呼出间隔大于3时以3秒周期检测计算,小于3时以实际设置检测计算。
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.1 | skillId | int | True | 技能队列的ID。 取值范围:1~1000。 |
11.2 | skillName | String | True | 技能队列的名称。 最大长度100。 |
11.3 | outBoundType | int | True | 呼出方式, 取值范围:
|
11.4 | predictParam | Object | False | outBoundType为2时为True,预测呼出时的参数配置。 该对象的参数说明请参见表9。 |
11.5 | previewParam | Object | False | outBoundType为5时为True,预览呼出时的参数配置。 该对象的参数说明请参见表8。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.5.1 | failInterval | int | True | 呼出间隔时间,取值范围:3~60,单位秒。 |
11.5.2 | obCallCount | int | True | 每次呼出数量,取值范围:1~100。 |
11.5.3 | autoCallTime | int | True | 预览自动呼叫时长,最小值为5,最大值为maxAlertingTime-3,单位秒。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.4.1 | predictMethod | int | True | 预测外呼算法。 取值范围: 1:经验预测算法 2:座席利用率预测算法 3:外呼接通率预测算法 5:摘机率预测算法 |
11.4.2 | expPredictParam | Object | False | 经验预测算法的参数配置,predictMethod为1(经验预测算法)时,为True。 该对象的参数说明请参见表10。 |
11.4.3 | agentPredictParam | Object | False | 座席利用率预测算法的参数配置,predictMethod为2(座席利用率预测算法)时,为True。 该对象的参数说明请参见表11。 |
11.4.4 | connectPredictParam | Object | False | 外呼接通率预测算法的参数配置,predictMethod为3(外呼接通率预测算法)时,为True。 该对象的参数说明请参见表12。 |
11.4.5 | offhookPredictParam | Object | False | 摘机率预测算法的参数配置,predictMethod为5(摘机率预测算法)时,为True。 该对象的参数说明请参见表13。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.4.2.1 | maxAvgCallTime | int | True | 最大平均通话时长,正整数,单位秒。取值范围:50-200。 |
11.4.2.2 | minAvgCallTime | int | True | 最小平均通话时长,正整数,单位秒。取值范围:50-200。必须小于等于maxAvgCallTime。 |
11.4.2.3 | outBoundRate | int | True | 呼出速率。 取值范围:0~100。缺省值70。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.4.3.1 | maxAvgCallTime | int | True | 最大平均通话时长,正整数,单位秒。取值范围:50-200。 |
11.4.3.2 | minAvgCallTime | int | True | 最小平均通话时长,正整数,单位秒。取值范围:50-200。必须小于等于maxAvgCallTime。 |
11.4.3.3 | lossRate | int | True | 最低呼损率。 取值范围:0~100。缺省值3。 |
11.4.3.4 | utilRate | int | True | 座席利用率。 取值范围:0~100。缺省值70。 |
11.4.3.5 | utilRateMethod | int | True | 座席利用率算法。 取值范围: 1:表示座席利用率=总的通话时长/总的签入时长 2:表示座席利用率=(总的通话时长+工作态时长)/总的签入时长 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
11.4.4.1 | maxAvgCallTime | int | True | 最大平均通话时长,正整数,单位秒。取值范围:50-200。 |
11.4.4.2 | minAvgCallTime | int | True | 最小平均通话时长,正整数,单位秒。取值范围:50-200。必须小于等于maxAvgCallTime。 |
11.4.4.3 | lossRate | int | True | 最低呼损率。 取值范围:0~100。缺省值3。 |
11.4.4.4 | waitTime | int | True | 用户等待时间。 取值范围:0~16,单位秒。缺省值5。 |
11.4.4.5 | connRate | int | True | 外呼接通率。 取值范围:0~100。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
6.1 | accessCode | String | True | 主叫号码。 呼通客户后,客户的电话终端上显示的号码。 最大长度为32个字符,有效字符为:0~9。 |
6.2 | priority | int | True | 主叫号码优先级。 取值范围:1-5。数字越小,优先级越高 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
14.1 | policyType | int | True | 重试策略类型。 0:全局策略 1:号码类型匹配策略。 |
14.2 | retryDay | int | -- | 最大试呼天数。 全局策略下的普通策略必填,取值范围:1-5。 |
14.3 | retryTimes | int | -- | 每天最大试呼次数。 全局策略下的普通策略必填,取值范围:1-6。 |
14.4 | callInterval | int | -- | 呼出间隔(秒)。 全局策略下的普通策略必填,取值范围:1-86400。 |
14.5 | resultRetry | String | -- | 根据结果配置策略的json串。 全局策略下根据结果配置策略必填。 该对象的参数说明请参见表16。 |
14.6 | policyJson | String | -- | 根据号码类型匹配策略的json串。 号码类型匹配策略下必填。 该对象的参数说明请参见表17。 |
14.7 | busiPolicy | String | False | 业务结果策略的json串。 该对象的参数说明请参见表19。 |
14.8 | noRetryPolicy | List<String> | policyType为1时不可以填,其他情况选填。 | 不重试的结果码。即配置不重试的结果码,该结果码来源于查询外呼结果中的“data”属性下的“resultCode”字段。 |

policyType=0时,如果是普通策略只要填写retryDay,retryTimes,callInterval这3个字段,例如:"retryDay": 2,"retryTimes": 2,"callInterval": 2。如果是根据结果配置策略,则只填写该字段resultRetry,例如:"[{"result":"2","retryNumber":"1","callInterval":600}]"。
policyType=1时,只要填写policyJson即可。
如果是普通策略,policyJson样例:policyJson : "[{"dataType":"ST","type":"0","policy":{"retryDay":"2","retryTimes":"2"}}]"。
如果是根据结果策略配置,policyJson样例:"policyJson": "[{'dataType':'SI','type':1,'policy':[{'result':4,'retryNumber':3,'callInterval':600}]}]";
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
14.5.1 | result | int | -- | 结果类型。 全局策略的根据结果策略必填,取值范围:1-9。 |
14.5.2 | callInterval | int | -- | 呼出间隔(秒)。 全局策略的根据结果策略必填,取值范围:1-86400。 |
14.5.3 | retryNumber | int | -- | 重试次数。 全局策略的根据结果策略必填,取值范围:1-6。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
14.6.1 | dataType | String | True | 号码类型。 取值范围:最大长度20,不包含特殊字符。 |
14.6.2 | type | int | True | 重试逻辑策略类型:
|
14.6.3 | policy | String | True | 策略配置相关信息。 该对象的参数说明请参见表18。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
14.6.3.1 | retryDay | int | -- | 最大试呼天数。 根据号码类型匹配策略的普通策略必填,取值范围:1-5。 |
14.6.3.2 | retryTimes | int | -- | 每天最大试呼次数。 根据号码类型匹配策略的普通策略必填,取值范围:1-6。 |
14.6.3.3 | result | int | -- | 结果类型。 根据号码类型匹配策略的结果策略必填,取值范围:0-9。 (1-客户忙,2-客户未接,3-客户拒接,4-空号,5-客户关机,6-客户不在服务区,7-传真、总机等,8-呼叫超时,9-呼叫失败,0-其他)。 重试策略还会根据具体的失败码(failCode)结合判断。 失败码参考表4。 |
14.6.3.4 | callInterval | int | -- | 呼出间隔(秒)。 根据号码类型匹配策略的结果策略必填,取值范围:1-86400。 |
14.6.3.5 | retryNumber | int | -- | 重试次数。 根据号码类型匹配策略的结果策略必填,取值范围:0-9。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
14.7.1 | busiResultCode | String | True | 业务结果编码。 |
14.7.2 | busiResultSubCode | String | -- | 业务结果子编码。(跟业务结果编码关联) |
14.7.3 | busiResultPolicy | int | True | 业务结果呼叫策略。 0-停止呼叫,1-呼叫下个号码,2-呼叫当前号码。 |
14.7.4 | callInterval | int | -- | 呼出间隔(秒)。 呼叫策略为0时不用填写,其他为True。取值范围:1-3600。 |
序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
15.1 | callType | int | False | 呼叫方式。 0,按顺序 1,按轮次。默认是按顺序。 |
15.2 | chooseType | int | -- | 轮次形式。 0,按号码分类 1,按号码序号 。按轮次时必填。 |
15.3 | turns | List | -- | 轮次信息。 按轮次时必填。 该对象的参数说明请参见表21。 |
15.4 | callOrder | int | True | 呼叫顺序。
|
响应说明
触发事件
无
错误结果码
序号 | 错误码 | 说明 |
|---|---|---|
1 | 0200001 | 参数异常,异常详情在resultDesc中描述。 |
2 | 0200002 | 外呼活动的开始时间早于今天凌晨。 |
3 | 0200003 | 设备类型为技能队列的外呼活动已达到上限,如果需要继续新增,则先删除其他设备类型为技能队列的外呼活动。 |
4 | 0200004 | 设备类型为IVR的外呼活动已达到上限,如果需要继续新增,则先删除其他设备类型为IVR的外呼活动。 |
5 | 0200005 | 外呼活动名称不能重复。 |
6 | 0200017 | 技能队列ID不存在。 |
7 | 02000001 | 参数值为空 |
8 | 02000002 | 参数包含非法字符 |
9 | 02000003 | 参数长度不能大于规定长度 |
10 | 02000004 | 参数长度不能小于规定长度 |
11 | 02000005 | 参数长度需要介于规定长度之间 |
12 | 02000006 | 参数值类型不正确 |
13 | 02000007 | 参数值大小不正确 |
14 | 02000008 | 参数转换异常,请检查请求参数 |
15 | 02000009 | 参数组合不正确,请检查请求参数 |
16 | 02000010 | hour和minute必须同时存在 |
17 | 02000011 | 参数个数不能大于规定个数 |
报文样例
- 该接口的请求消息体举例如下:
{ "name": "autoTask0214apishowcase", "description": "long0825", "strBeginTime": "2025-02-14 12:00:00", "strEndTime": "2025-02-20 09:00:00", "deviceType": 2, "callerNo": [ { "accessCode": "88889527", "priority": 3 }, { "accessCode": "88880066", "priority": 4 } ], "maxAlertingTime": 20, "priority": 4, "scheduleParam": { "workdayBeginTime1": "00:00", "workdayEndTime1": "23:59", "workdayBeginTime2": "", "workdayEndTime2": "", "workdayBeginTime3": "", "workdayEndTime3": "", "holidayBeginTime1": "10:00", "holidayEndTime1": "11:00", "holidayBeginTime2": "13:00", "holidayEndTime2": "17:30", "holidayBeginTime3": "", "holidayEndTime3": "" }, "skillParam": { "skillId": 27, "skillName": "gx_test", "outBoundType": 2, "predictParam": { "predictMethod": 1, "expPredictParam": { "maxAvgCallTime": 100, "minAvgCallTime": 50, "outBoundRate": 50 } } }, "retryPolicy": { "policyType": 1, "policyJson": "[{'dataType':'SI','type':1,'policy':[{'result':4,'retryNumber':3,'callInterval':600}]}]" }, "callPolicy": { "callType": 1, "chooseType": 0, "turns": [ { "turnType": "SI" } ], "callOrder": 1 }, "initStatus": 0, "callBackUrl": "https://10.10.10.10/xxx/xxx/xxx" } - 该接口的响应消息体举例如下:
{ "resultCode": "0200000", "resultDesc": "", "returnCode": "0200000", "returnDesc": "", "returnObject": { "id": 46 } }

