新增外呼活动模板
场景描述
调用该接口新增预测外呼、智能外呼、自动外呼、预览外呼、预占外呼模板。
使用说明
- 前提条件
- 已经申请了开发者账号。
- 使用限制
- 外呼活动创建后,无法修改设备类型。
接口方法
该接口仅支持POST方法。
接口URL
https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/template
其中,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 | deviceType | int | True | 外呼设备类型。 取值范围:
|
| 4 | callerNo | List | True | 支持多主叫号码。 该对象的参数说明请参见表14 |
| 5 | maxAlertingTime | int | True |
|
| 6 | priority | int | False | 任务优先级。 取值范围:1-5,数字越小,优先级越高。 |
| 7 | scheduleParam | Object | True | 呼出时间段。 该对象的参数说明请参见表5。 |
| 8 | ivrParam | Object | False | deviceType为1或者3(IVR)时为True。 该对象的参数说明请参见表6。 |
| 9 | skillParam | Object | False | deviceType为2,5,6(技能队列)时为True。 该对象的参数说明请参见表7。 |
| 10 | initStatus | int | False | 外呼活动模板状态,默认值为0。 取值范围:
|
| 11 | callBackUrl | String | False | 外呼结果的回调通知地址,如果不传,则系统不会对该任务下的数据执行外呼时发起回调。 必须以https://或http开头。 说明:
|
| 12 | retryPolicy | Object | True | 外呼结果策略。 该对象的参数说明请参见表15。 |
| 13 | callPolicy | Object | False | 呼叫策略。 该对象的参数说明请参见表20 |
| 14 | ccId | int | op环境为True | 支持多中心模式下,该字段用于标识具体所属的中心。 |
| 15 | dataPolicy | Object | False | 外呼数据策略对象。 该对象的参数说明请参见表4 |
| 16 | blocklistParam | Object | False | 黑名单相关参数,详情见表23。 |
| 17 | callRuleParam | Array | False | 设置呼叫规则,详情见表24。 |
如果呼叫策略callPolicy不为空,且当callType=1(轮次呼叫)时,外呼结果策略retryPolicy下的policyType只能为1,即号码类型策略。
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 17.1 | dataExpireDuration | int | False | 外呼数据过期时长,默认时长为10天,即10天不进行呼叫,数据机会转移到呼叫完成表中,最大支持设置为365。历史外呼任务值为365天。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | workdayBeginTime1 | String | False | 工作日呼出时间段1开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 2 | workdayEndTime1 | String | False | 工作日呼出时间段1结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 3 | workdayBeginTime2 | String | False | 工作日呼出时间段2开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 4 | workdayEndTime2 | String | False | 工作日呼出时间段2结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 5 | workdayBeginTime3 | String | False | 工作日呼出时间段3开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 6 | workdayEndTime3 | String | False | 工作日呼出时间段3结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 7 | holidayIdList | Array<String> | False | 特殊日期id列表, 如果有此值,则不需要调用新增外呼活动的特殊日期接口,可以直接设置特殊日期列表。 如果不传入此参数只传入holidayBeginTime、holidayEndTime参数则需要调用新增外呼活动的特殊日期接口新增特殊日期。 |
| 8 | holidayBeginTime1 | String | False | 特殊日期呼出时间段1开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 9 | holidayEndTime1 | String | False | 特殊日期呼出时间段1结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 10 | holidayBeginTime2 | String | False | 特殊日期呼出时间段2开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 11 | holidayEndTime2 | String | False | 特殊日期呼出时间段2结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 12 | holidayBeginTime3 | String | False | 特殊日期呼出时间段3开始时间,格式为HH:mm。使用租户对应的时区时间。 |
| 13 | holidayEndTime3 | String | False | 特殊日期呼出时间段3结束时间,格式为HH:mm。使用租户对应的时区时间。 |
| 14 | specialHolidayList | List | False | 按每个特殊日期设置不同的呼叫时间段列表,一个活动最大支持20个特殊日期。详情见表15。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 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 | 技能队列的名称。
|
| 11.3 | outBoundType | int | True | 呼出方式, 取值范围:
|
| 11.4 | predictParam | Object | False | outBoundType为2时为True,预测呼出时的参数配置。 该对象的参数说明请参见表9。 |
| 11.5 | previewParam | Object | False | outBoundType为5时为True,预览呼出时的参数配置。 该对象的参数说明请参见表8。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | failInterval | int | True | 呼出间隔时间,正整数,单位秒。 |
| 2 | obCallCount | int | True | 每次呼出数量,正整数。 |
| 3 | autoCallTime | int | True | 预览自动呼叫时长,正整数,单位秒。 |
| 4 | skipMode | Array<String> | False | 跳过模式: 0:不允许跳过。 1:临时跳过(只跳过本次呼叫,如果任务设置重试策略,到重试时间之后会再次呼叫)。 2:永久跳过(无论任务是否设置了重试,永久跳过后不会再呼叫此客户)。 此参数不传值时默认为不允许跳过。如果允许跳过,可设置临时跳过或永久跳过两种方式。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 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 | 最小平均通话时长,正整数,单位秒。取值范围:10-200。必须小于等于maxAvgCallTime。 |
| 11.4.2.3 | outBoundRate | int | False | 呼出速率。 取值范围:0~100。缺省值70。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 11.4.3.1 | maxAvgCallTime | int | True | 最大平均通话时长,正整数,单位秒。取值范围:50-200。 |
| 11.4.3.2 | minAvgCallTime | int | True | 最小平均通话时长,正整数,单位秒。取值范围:10-200。必须小于等于maxAvgCallTime。 |
| 11.4.3.3 | lossRate | int | False | 最低呼损率。 取值范围:0~100。缺省值3 |
| 11.4.3.4 | utilRate | int | False | 座席利用率。 取值范围: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 | 最小平均通话时长,正整数,单位秒。取值范围:10-200。必须小于等于maxAvgCallTime。 |
| 11.4.4.3 | lossRate | int | False | 最低呼损率。 取值范围:0~100。缺省值3 |
| 11.4.4.4 | waitTime | int | False | 用户等待时间。 取值范围:0~16,单位秒。缺省值5 |
| 11.4.4.5 | connRate | int | True | 外呼接通率。 取值范围:0~100。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 11.4.5.1 | offHookRate | int | True | 计算因子。 取值范围:50~200。缺省值100。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | accessCode | String | True | 主叫号码。 呼通客户后,客户的电话终端上显示的号码。 最大长度为24个字符,有效字符为:0~9。 |
| 2 | priority | int | True | 主叫号码优先级。 取值范围:1-5。数字越小,优先级越高 |
| 3 | calledPrefix | String | False | 被叫号码字冠 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 14.1 | policyType | int | True | 重试策略类型。 0:全局策略 1:号码类型匹配策略。 |
| 14.2 | retryDay | int | -- | 最大试呼天数,若号码外呼未成功,允许在后续连续多个自然日内持续发起呼叫。 全局策略下的普通策略必填,取值范围:1-5。 |
| 14.3 | retryTimes | int | -- |
|
| 14.4 | callInterval | int | -- | 呼出间隔(秒)。 全局策略下的普通策略必填,取值范围:1-86400。 |
| 14.5 | resultRetry | String | -- | 根据结果配置策略的json串。 全局策略下根据结果配置策略必填。 该对象的参数说明请参见表16。 |
| 14.6 | policyJson | String | -- | 根据号码类型匹配策略的json串。 号码类型匹配策略下必填。 该对象的参数说明请参见表17。 默认值:{'dataType':'默认','type':1,'policy':[{'result':1,'callInterval':1,'retryNumber':1}]},系统默认值无法删除。 图1 默认值 |
| 14.7 | busiPolicy | String | False | 业务结果策略的json串。 该对象的参数说明请参见表19。 |
| 14.8 | noRetryPolicy | List<String> | policyType为1时不可以填,其他情况选填。 | 不重试的结果码。即配置不重试的结果码,该结果码来源于查询外显结果列表中的“data”属性下的“resultCode”字段。noRetryPolicy不重试结果码格式举例:["1","2"]。 |
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"}}]"。
如果是根据结果策略配置,当callPolicy参数中的callType为1时,policyJson样例:"policyJson": "[{'dataType':'SI','type':1,'policy':[{'result':4,'retryNumber':3,'callInterval':600}]}]";
当callPolicy参数中的callType为2时,policyJson样例:"policyJson": "[{'result':'6','continueCall':'0'},{'result':'7','continueCall':'1'}]"。
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | result | int | -- |
|
| 2 | displayResult | string | false | 外显结果id,和result不能同时使用。 |
| 3 | callInterval | int | -- | 呼出间隔(秒)。 全局策略的根据结果策略必填,取值范围:1-86400。 |
| 4 | retryNumber | int | -- | 重试次数。 全局策略的根据结果策略必填,取值范围:1-6。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 14.6.1 | dataType | String | -- | 当callPolicy参数中的callType为1时必填 号码类型。 取值范围:最大长度20,不包含特殊字符。 |
| 14.6.2 | type | int | -- | 当callPolicy参数中的callType为1时必填 重试逻辑策略类型:
|
| 14.6.3 | policy | String | -- | 当callPolicy参数中的callType为1时必填 策略配置相关信息。 该对象的参数说明请参见表18。 |
| 14.6.4 | result | String | false |
|
| 14.6.5 | continueCall | int | false | 当callPolicy参数中的callType为2时填写,非必填 是否继续拨打。是:0,否:1 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 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 | 呼叫方式:默认是按顺序。
|
| 15.2 | chooseType | int | -- | 轮次形式。 0,按号码分类 1,按号码序号 。 callType为1和2时必填。 callType为0时不能传参。 |
| 15.3 | turns | List | -- | 轮次信息。最多支持15个轮次信息 calltype为1和2时必填。 callType为0时不能传参。 该对象的参数说明请参见表22。 |
| 15.4 | callOrder | int | True | 呼叫顺序。
|
| 15.5 | orderPolicy | List | -- | 数据属性,该对象的参数说明请参见表21,当callOrder为2时必填。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | propId | String | False | 属性ID |
| 2 | propName | String | False | 属性名 |
| 3 | typeId | String | False | 取值范围:
|
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 15.3.1 | turnType | String | -- | 号码类型。 取值范围:最大长度20,不包含特殊字符。 按号码分类时必填。 |
| 15.3.2 | turnOrder | int | -- | 号码序号。 取值范围:1-15。按号码序号时必填。 |
| 序号 | 参数名 | 参数类型 | 是否必选 | 说明 |
|---|---|---|---|---|
| 1 | useTenantBlocklist | boolean | False |
|
| 2 | useOrgBlocklist | boolean | False |
|
| 3 | blocklistGroup | List<String> | False | 黑名单分组列表 |
响应说明
触发事件
无
错误结果码
| 序号 | 错误码 | 说明 |
|---|---|---|
| 1 | 0200001 | 参数异常,异常详情在resultDesc中描述。 |
| 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 | 参数个数不能大于规定个数 |
| 18 | 0200012 | callBackUrl不在白名单 |
报文样例
- 该接口的请求消息体举例如下:
{ "name":"openapi0204", "strBeginTime":"2026-06-02 00:00:00", "strEndTime":"2026-06-09 00:00:00", "deviceType":2, "callerNo":[ { "accessCode":"2025031301", "priority":1 } ], "maxAlertingTime":10, "scheduleParam":{ "workdayBeginTime1":"00:00", "workdayEndTime1":"23:59" }, "skillParam":{ "skillId":27, "skillName":"gx_test", "outBoundType":2, "predictParam":{ "predictMethod":1, "expPredictParam":{ "maxAvgCallTime":50, "minAvgCallTime":50, "outBoundRate":70 } } }, "callBackUrl":"https://10.10.10.10:10/good", "retryPolicy":{ "policyType":0, "retryDay":1, "retryTimes":2, "callInterval":60, "resultRetry":"" } } - 该接口的响应消息体举例如下:
{ "returnCode": "0200000", "returnObject": { "id": 1780911219 }, "resultCode": "0200000", "resultDesc": "Create template success", "returnDesc": "Create template success" }
