
# 设置外呼活动重试策略
#### 前置条件
- 已经申请了开发者账号。
- 智能外呼时，需要客户开发IVR，具体详情请参考配置智能机器人。
 
#### 场景描述
调用该接口为指定外呼活动设置重试策略。
#### 接口方法
该接口仅支持POST方法。
#### 接口URL
https://ip:port/rest/isales/v1/openapi/campaigns/{vdnId}/retryPolicy/{campaignId}
其中，ip为CC-iSales服务器地址，port为CC-iSales服务器的HTTPS端口号。
表1URL中携带的参数说明 
| 序号 | 参数名        | 参数类型 | 是否必选 | 说明                                                                                                                                |
|:---|:---|:---|:---|:---|
| 1  | vdnId      | int  | True | 虚拟呼叫中心ID。 取值的类型为整数，取值范围为1～9999。 |
| 2  | campaignId | int  | True | 外呼活动ID                                                                                                                            |
   
#### 请求说明
表2请求消息头参数 
| 序号 | 名称            | 参数类型   | 是否必选  | 说明                                                                                                                            |
|:---|:---|:---|:---|:---|
| 1  | Content-Type  | String | True  | 固定填 application/json; charset=UTF-8。                                                                                          |
| 2  | Authorization | String | True  | 生成方式参见[C2 监控/系统外呼/话单/知识库类接口鉴权方式](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0003.html#ZH-CN_TOPIC_0000002481273406)。 |
| 3  | locale        | String | False | i18n（internationalization，国际语言代码），如zh_CN表示中文、en_US表示英文等，默认zh_CN。                                                              |
   
表3请求消息体参数说明 
| 序号 | 参数名称       | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| 1  | policyJson | String | 策略的json串。 该对象的参数说明请参见[表 policyJson参数说明]。                                                                                                                                                                                                                                                                                                                                                                                                  |
| 2  | policyType | int    | 重试策略类型。 - 0：全局策略  - 1：号码类型匹配策略   |
   
 表4policyJson参数说明 
| 序号  | 参数名           | 参数类型           | 是否必选                      | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|:---|
| 1.1 | dataType      | String         | -                         | 号码类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 1.2 | policy        | String         | -                         | 按照结果匹配的策略json串。 该对象的参数说明请参见[表 policy参数说明]。                                                                                                                                                                                                                                                                                                                                                                                                       |
| 1.3 | type          | int            | -                         | 重试逻辑策略类型： - 0：普通策略  - 1：结果策略   |
| 1.4 | noRetryPolicy | List\<String\> | policyType为1时不可以填，其他情况选填。 | 不重试的结果码。即配置不重试的结果码，该结果码来源于"查询外呼结果定义列表"中的"data"属性下的"resultCode"字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表5type为0时，policy参数说明 
| 序号    | 参数名称      | 参数类型 | 是否必选 | 描述           |
|:---|:---|:---|:---|:---|
| 1.2.1 | retryTime | int  | -    | 普通策略，试呼天数。   |
| 1.2.2 | retryDay  | int  | -    | 普通策略，每天试呼次数。 |
   
表6type为1时，policy参数说明 
| 序号    | 参数名称         | 参数类型 | 是否必选 | 描述    |
|:---|:---|:---|:---|:---|
| 1.2.1 | callInterval | int  | -    | 延迟时间。 |
| 1.2.2 | result       | int  | -    | 结果类型。 |
| 1.2.3 | retryNumber  | int  | -    | 重试次数。 |
   
#### 响应说明
表7消息体参数说明 
| 序号 | 参数名        | 参数类型   | 说明                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| 1  | resultCode | String | 原因码。0200000表示成功，其他表示失败。 具体见[表8]。 |
| 2  | resultDesc | String | 描述。                                                                                                                                                                                                                                         |
| 3  | returnCode | String | 原因码。0200000表示成功，其他表示失败。 具体见[表8]。   |
| 4  | returnDesc | String | 描述。                                                                                                                                                                                                                                         |
   
#### 触发事件
无
#### 错误结果码
 表8错误原因码说明 
| 序号 | 错误码      | 说明                       |
|:---|:---|:---|
| 1  | 0200001  | 参数异常，异常详情在resultDesc中描述。 |
| 2  | 0200-01  | 外呼活动不存在。                 |
| 3  | 02000001 | 参数值为空                    |
| 4  | 02000002 | 参数包含非法字符                 |
| 5  | 02000003 | 参数长度不能大于规定长度             |
| 6  | 02000004 | 参数长度不能小于规定长度             |
| 7  | 02000005 | 参数长度需要介于规定长度之间           |
| 8  | 02000006 | 参数值类型不正确                 |
| 9  | 02000007 | 参数值大小不正确                 |
| 10 | 02000008 | 参数转换异常，请检查请求参数           |
| 11 | 02000009 | 参数组合不正确，请检查请求参数          |
| 12 | 02000010 | hour和minute必须同时存在        |
| 13 | 02000011 | 参数个数不能大于规定个数             |
   
#### 报文样例
- 该接口的请求消息体举例如下： 可以根据业务需要选择不同的策略组合。
  1. 全局策略+普通策略policyType=0，type=0。
     ```
     {
     "policyJson":"[{'type':0,'retryTimes':1,'retryDay':1}]",
     "policyType": 0
     }
     ```
     
  
  2. 全局策略+结果策略policyType=0，type=1。
     ```
     {
     "policyJson":"[{'type':1,'policy':[{'result':4,'retryNumber':3,'callInterval':60}]}]",
     "policyType": 0
     }
     ```
     
  
  3. 号码类型匹配策略+普通策略policyType=1，type=0。
     ```
     {
     "policyJson" : "[{'dataType':'ST','type':0,''policy':{'retryTimes':2,'retryDay':1}}]",
     "policyType": 1
     }
     ```
     
  
  4. 号码类型匹配策略+结果策略policyType=1，type=1。
     ```
     {
     "policyJson":"[{'dataType':'ST','type':1,'policy':[{'result':4,'retryNumber':3,'callInterval':60}]}]",
     "policyType": 1
     }
     ```
     
   
- 该接口的响应消息体举例如下：
  ```
  {
      "resultCode": "0200000",
      "resultDesc": "",
      "returnCode": "0200000",
      "returnDesc": ""
  }
  ```
  
 
