新增外呼活动(v2)
场景描述
调用该接口新增预测外呼、智能外呼、自动外呼、预览外呼、预占外呼。
推荐使用v2版本,v2版本支持外呼重试策略,呼叫策略,业务结果策略的添加,只需要一个接口就可以新增外呼任务的相关数据,不需要额外调用设置外呼活动重试策略接口了。
使用说明
- 前提条件
- 已经申请了开发者账号。
- 智能外呼时,需要客户开发IVR,具体详情请参考操作员:配置智能机器人。
- 使用限制
- 只能创建20个设备类型为技能队列的外呼活动任务。
- 只能创建20个设备类型为IVR的外呼活动任务。
同一个租户下面同种外呼任务活跃的数量不能大于一定值。值取决于配置项max.liveliest.taskCount,默认是20。
- 外呼活动创建后,无法修改设备类型。
接口方法
该接口仅支持POST方法。
接口URI
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 监控/系统外呼/话单/知识库类接口鉴权方式。 |
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
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 |
支持多主叫号码。 该对象的参数说明请参见表13 |
7 |
maxAlertingTime |
int |
True |
用户不应答最大振铃时长,超过该时长,则释放呼叫。 预览外呼取值范围:9~120,单位为秒;其他外呼取值范围:5~120,单位为秒。 |
8 |
priority |
int |
False |
任务优先级。 取值范围:1-5,数字越小,优先级越高。 |
9 |
scheduleParam |
Object |
True |
呼出时间段。 该对象的参数说明请参见表4。 |
10 |
ivrParam |
Object |
False |
deviceType为1或者3(IVR)时为True。 该对象的参数说明请参见表5。 |
11 |
skillParam |
Object |
False |
deviceType为2,5,6(技能队列)时为True。 该对象的参数说明请参见表6。 |
12 |
initStatus |
int |
False |
活动添加状态,默认值为0。 取值范围:
|
13 |
callBackUrl |
String |
True |
外呼结果的回调通知地址。 必须以https://或http开头。
说明:
|
14 |
retryPolicy |
Object |
True |
外呼结果策略。 该对象的参数说明请参见表14。 |
15 |
callPolicy |
Object |
False |
呼叫策略。 该对象的参数说明请参见表19 |
16 |
ccId |
int |
op环境为True |
支持多中心模式下,该字段用于标识具体所属的中心。 |
如果呼叫策略callPolciy不为空,且当callType=1(轮次呼叫)时,外呼结果策略retryPolicy下的policyType只能为1,即号码类型策略。
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
9.1 |
workdayBeginTime1 |
String |
False |
工作日呼出时间段1开始时间,格式为HH:mm。 |
9.2 |
workdayEndTime1 |
String |
False |
工作日呼出时间段1结束时间,格式为HH:mm。 |
9.3 |
workdayBeginTime2 |
String |
False |
工作日呼出时间段2开始时间,格式为HH:mm。 |
9.4 |
workdayEndTime2 |
String |
False |
工作日呼出时间段2结束时间,格式为HH:mm。 |
9.5 |
workdayBeginTime3 |
String |
False |
工作日呼出时间段3开始时间,格式为HH:mm。 |
9.6 |
workdayEndTime3 |
String |
False |
工作日呼出时间段3结束时间,格式为HH:mm。 |
9.7 |
holidayBeginTime1 |
String |
False |
节假日呼出时间段1开始时间,格式为HH:mm。 |
9.8 |
holidayEndTime1 |
String |
False |
节假日呼出时间段1结束时间,格式为HH:mm。 |
9.9 |
holidayBeginTime2 |
String |
False |
节假日呼出时间段2开始时间,格式为HH:mm。 |
9.10 |
holidayEndTime2 |
String |
False |
节假日呼出时间段2结束时间,格式为HH:mm。 |
9.11 |
holidayBeginTime3 |
String |
False |
节假日呼出时间段3开始时间,格式为HH:mm。 |
9.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,预测呼出时的参数配置。 该对象的参数说明请参见表8。 |
11.5 |
previewParam |
Object |
False |
outBoundType为5时为True,预览呼出时的参数配置。 该对象的参数说明请参见表7。 |
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
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。 该对象的参数说明请参见表9。 |
11.4.3 |
agentPredictParam |
Object |
False |
座席利用率预测算法的参数配置,predictMethod为2(座席利用率预测算法)时,为True。 该对象的参数说明请参见表10。 |
11.4.4 |
connectPredictParam |
Object |
False |
外呼接通率预测算法的参数配置,predictMethod为3(外呼接通率预测算法)时,为True。 该对象的参数说明请参见表11。 |
11.4.5 |
offhookPredictParam |
Object |
False |
摘机率预测算法的参数配置,predictMethod为5(摘机率预测算法)时,为True。 该对象的参数说明请参见表12。 |
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
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。 |
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
11.4.5.1 |
offHookRate |
int |
True |
摘机率。 取值范围:50~200。缺省值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串。 全局策略下根据结果配置策略必填。 该对象的参数说明请参见表15。 |
14.6 |
policyJson |
String |
-- |
根据号码类型匹配策略的json串。 号码类型匹配策略下必填。 该对象的参数说明请参见表16。 |
14.7 |
busiPolicy |
String |
False |
业务结果策略的json串。 该对象的参数说明请参见表18。 |
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 |
策略配置相关信息。 该对象的参数说明请参见表17。 |
序号 |
参数名 |
参数类型 |
是否必选 |
说明 |
---|---|---|---|---|
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 |
-- |
轮次信息。 按轮次时必填。 该对象的参数说明请参见表20。 |
响应说明
触发事件
无
错误结果码
序号 |
错误码 |
说明 |
---|---|---|
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": "test0827shwocase1", "description": "long0825", "strBeginTime": "2021-08-27 00:00:00", "strEndTime": "2021-08-28 23:59:59", "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": 2, "skillName": "defaultAudioSkill", "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" } ] }, "initStatus": 0, "callBackUrl": "https://10.10.10.10/xxx/xxx/xxx" }
- 该接口的响应消息体举例如下:
{ "resultCode": "0200000", "resultDesc": "", "returnCode": "0200000", "returnDesc": "", "returnObject": { "id": 46 } }