更新时间:2026-07-31 GMT+08:00
分享

新增外呼活动模板

场景描述

调用该接口新增预测外呼、智能外呼、自动外呼、预览外呼、预占外呼模板。

使用说明

  • 前提条件
    • 已经申请了开发者账号。
  • 使用限制
    • 外呼活动创建后,无法修改设备类型。

接口方法

该接口仅支持POST方法。

接口URL

https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/template

其中,ip为CC-iSales服务器地址,port为CC-iSales服务器的HTTPS端口号。

表1 URL中携带的参数说明

序号

参数名

参数类型

是否必选

说明

1

vdnId

int

True

虚拟呼叫中心ID。

取值的类型为整数,取值范围为1~9999。

请求说明

表2 请求消息头参数

序号

名称

参数类型

是否必选

说明

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。

表3 请求消息体参数说明

序号

参数名

参数类型

是否必选

说明

1

name

String

True

外呼活动模板的名称。

不能与已有外呼活动模板名称重复。

最大长度为100个字符。

2

description

String

False

外呼活动模板的描述。

最大长度为200字符,不含"[]=;<>特殊字符。

3

deviceType

int

True

外呼设备类型。

取值范围:

  • 1:智能外呼的IVR(SaaS环境下且智能化特性开启时可用 )
  • 2:预测外呼的技能队列
  • 3:自动外呼的IVR
  • 5:预览外呼的技能队列
  • 6:预占外呼的技能队列

4

callerNo

List

True

支持多主叫号码。

该对象的参数说明请参见表14

5

maxAlertingTime

int

True

  • 用户不应答最大振铃时长,超过该时长,则释放呼叫。
  • 当外呼方式为预览外呼任务时,该字段表示预览超时时长。取值范围:9~120,单位为秒。
  • 其他外呼默认取值范围:5~60,单位为秒,可通过修改租户级系统参数修改自动外呼最大应答时长,最大时长取值范围[30,120]。系统参数id:6006003000022。

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。

取值范围:

  • 0:外呼活动模板新建成功后状态为“发布”
  • 1:外呼活动模板新建成功后状态为“暂停”

11

callBackUrl

String

False

外呼结果的回调通知地址,如果不传,则系统不会对该任务下的数据执行外呼时发起回调。

必须以https://或http开头。

说明:
  • HTTP协议是不安全协议,可能会对系统带来风险,不推荐使用。建议使用安全的HTTPS协议。
  • 请联系华为运维人员使用系统管理员账号登陆客户服务云,进入呼叫中心管理>地址白名单管理添加白名单,白名单地址类型选择外呼结果推送地址。

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,即号码类型策略。

表4 dataPolicy参数说明

序号

参数名

参数类型

是否必选

说明

17.1

dataExpireDuration

int

False

外呼数据过期时长,默认时长为10天,即10天不进行呼叫,数据机会转移到呼叫完成表中,最大支持设置为365。历史外呼任务值为365天。

表5 scheduleParam参数说明

序号

参数名

参数类型

是否必选

说明

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

  1. 工作日呼出时间段1、呼出时间段2、呼出时间段3不能全为空;

  2. 除非指明某天或者周几是特殊日期,否则都按工作日外呼

  3. 当配置特殊日期时间段后,若为了兼容AICC-isales页面,则后续必须调用(新增外呼活动的特殊日期)接口,指明外呼活动与特殊日期关系否则会出现接口与页面的不兼容
表6 ivrParam参数说明

序号

参数名

参数类型

是否必选

说明

10.1

deviceSign

String

True

deviceType=1时,传入智能IVR的主流程编码(oifde-flowcode)。该主流程编码可通过租户管理员登录AICC前台,在配置中心 > 机器人管理>流程配置 > 流程管理 > 流程编排查看。

deviceType=3时,传入普通IVR的机器人接入码或者智能IVR的机器人接入码。

普通IVR的机器人接入码可通过租户管理员登录AICC前台,在配置中心 > 机器人管理>流程配置>普通IVR查看。

智能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时以实际设置检测计算。

表7 skillParam参数说明

序号

参数名

参数类型

是否必选

说明

11.1

skillId

int

True

技能队列的ID。

取值范围:1~1000。

11.2

skillName

String

True

技能队列的名称。

  • 最大长度100
  • 不允许填写特殊字符~!@#$%&*()/=+{};:'",<.>?\[\]^

11.3

outBoundType

int

True

呼出方式,

取值范围:

  • 2:预测外呼
  • 5:预览外呼
  • 6:预占外呼

11.4

predictParam

Object

False

outBoundType为2时为True,预测呼出时的参数配置。

该对象的参数说明请参见表9

11.5

previewParam

Object

False

outBoundType为5时为True,预览呼出时的参数配置。

该对象的参数说明请参见表8

表8 previewParam参数说明

序号

参数名

参数类型

是否必选

说明

1

failInterval

int

True

呼出间隔时间,正整数,单位秒。

2

obCallCount

int

True

每次呼出数量,正整数。

3

autoCallTime

int

True

预览自动呼叫时长,正整数,单位秒。

4

skipMode

Array<String>

False

跳过模式:

0:不允许跳过。

1:临时跳过(只跳过本次呼叫,如果任务设置重试策略,到重试时间之后会再次呼叫)。

2:永久跳过(无论任务是否设置了重试,永久跳过后不会再呼叫此客户)。

此参数不传值时默认为不允许跳过。如果允许跳过,可设置临时跳过或永久跳过两种方式。

表9 predictParam参数说明

序号

参数名

参数类型

是否必选

说明

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

表10 expPredictParam参数说明

序号

参数名

参数类型

是否必选

说明

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 agentPredictParam参数说明

序号

参数名

参数类型

是否必选

说明

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:表示座席利用率=(总的通话时长+工作态时长)/总的签入时长

表12 connectPredictParam参数说明

序号

参数名

参数类型

是否必选

说明

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。

表13 offhookPredictParam参数说明

序号

参数名

参数类型

是否必选

说明

11.4.5.1

offHookRate

int

True

计算因子。

取值范围:50~200。缺省值100。

表14 callerNo参数说明

序号

参数名

参数类型

是否必选

说明

1

accessCode

String

True

主叫号码。

呼通客户后,客户的电话终端上显示的号码。

最大长度为24个字符,有效字符为:0~9。

2

priority

int

True

主叫号码优先级。

取值范围:1-5。数字越小,优先级越高

3

calledPrefix

String

False

被叫号码字冠

表15 retryPolicy参数说明

序号

参数名

参数类型

是否必选

说明

14.1

policyType

int

True

重试策略类型。

0:全局策略 1:号码类型匹配策略。

14.2

retryDay

int

--

最大试呼天数,若号码外呼未成功,允许在后续连续多个自然日内持续发起呼叫。

全局策略下的普通策略必填,取值范围:1-5。

14.3

retryTimes

int

--

  • 每天最大试呼次数
  • 对于未成功接通的号码,系统支持按天配置最大试呼次数,每日最多可呼叫6次(含首次呼叫)。
  • 每日试呼次数独立计算,不跨日累积;若当日未用完配额,不影响次日的试呼次数上限。
  • 全局策略下的普通策略必填,取值范围:1-6。

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'}]"。

表16 resultRetry参数说明

序号

参数名

参数类型

是否必选

说明

1

result

int

--

  • 结果类型。
  • 全局策略的根据结果策略必填,取值范围:0-9。(1-客户忙,2-客户未接,3-客户拒接,4-空号,5-客户关机,6-客户不在服务区,7-传真、总机等,8-呼叫超时,9-呼叫失败,0-其他)

2

displayResult

string

false

外显结果id,和result不能同时使用。

3

callInterval

int

--

呼出间隔(秒)。

全局策略的根据结果策略必填,取值范围:1-86400。

4

retryNumber

int

--

重试次数。

全局策略的根据结果策略必填,取值范围:1-6。

表17 policyJson参数说明

序号

参数名

参数类型

是否必选

说明

14.6.1

dataType

String

--

当callPolicy参数中的callType为1时必填

号码类型。

取值范围:最大长度20,不包含特殊字符。

14.6.2

type

int

--

当callPolicy参数中的callType为1时必填

重试逻辑策略类型:

  • 0:普通策略
  • 1:结果策略

14.6.3

policy

String

--

当callPolicy参数中的callType为1时必填

策略配置相关信息。

该对象的参数说明请参见表18

14.6.4

result

String

false

  • 外显结果defId。
  • 当callPolicy参数中的callType为2时填写,非必填。

14.6.5

continueCall

int

false

当callPolicy参数中的callType为2时填写,非必填

是否继续拨打。是:0,否:1

表18 policy参数说明

序号

参数名

参数类型

是否必选

说明

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。

表19 busiPolicy参数说明

序号

参数名

参数类型

是否必选

说明

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。

表20 callPolicy参数说明

序号

参数名

参数类型

是否必选

说明

15.1

callType

int

False

呼叫方式:默认是按顺序。

  • 0:按顺序
  • 1:按号码分类或按号码序号
  • 2:按灵活轮次

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

呼叫顺序。

  • 0:无序呼叫
  • 1:按序号
  • 2:按数据属性。
  • 3:按优先级。

15.5

orderPolicy

List

--

数据属性,该对象的参数说明请参见表21,当callOrder为2时必填。

表21 orderPolicy参数说明

序号

参数名

参数类型

是否必选

说明

1

propId

String

False

属性ID

2

propName

String

False

属性名

3

typeId

String

False

取值范围:

  • 1,升序
  • 2,降序
表22 turns参数说明

序号

参数名

参数类型

是否必选

说明

15.3.1

turnType

String

--

号码类型。

取值范围:最大长度20,不包含特殊字符。

按号码分类时必填。

15.3.2

turnOrder

int

--

号码序号。

取值范围:1-15。按号码序号时必填。

表23 blocklistParam参数说明

序号

参数名

参数类型

是否必选

说明

1

useTenantBlocklist

boolean

False

  • 是否启用租户级黑名单校验,不传值时默认为true。
  • 如果租户级参数“是否允许删除外呼任务中租户级黑名单”关闭时,useTenantBlocklist值不能设置成False。

2

useOrgBlocklist

boolean

False

  • 是否启用组织级黑名单校验,不传值时默认为true,当组织隔离开启时生效。
  • 如果租户级参数“是否允许删除外呼任务中租户级黑名单”关闭时,useOrgBlocklist值不能设置成False。

3

blocklistGroup

List<String>

False

黑名单分组列表

表24 callRuleParam参数说明

序号

参数名

参数类型

是否必选

说明

5.1

id

String

False

  • 外呼规则ID,如果未填写,则默认为租户级异常呼叫规则。
  • 不支持手动外呼、人工分配外呼。

响应说明

表25 消息体参数说明

序号

参数名

参数类型

说明

1

resultCode

String

原因码。0200000表示成功,其他表示失败。

具体见表27

2

resultDesc

String

描述。

3

returnCode

String

原因码。0200000表示成功,其他表示失败。

具体见表27

4

returnDesc

String

描述。

5

returnObject

Object

参见表26

表26 returnObject参数说明

序号

参数名

参数类型

说明

5.1

id

int

外呼活动模板id。

触发事件

错误结果码

表27 错误原因码说明

序号

错误码

说明

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"
    }

相关文档