1. 接口描述
接口请求域名: waf.tencentcloudapi.com 。
Waf CC V2 Upsert接口
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| Action | 是 | String | 公共参数,本接口取值:UpsertCCRule。 |
| Version | 是 | String | 公共参数,本接口取值:2018-01-25。 |
| Region | 是 | String | 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-guangzhou, ap-seoul, ap-singapore 。 |
| Domain | 是 | String | 域名 示例值:test.com |
| Name | 是 | String | 名称 示例值:test2 |
| Status | 是 | Integer | 状态 示例值:0 |
| Advance | 是 | String | 高级模式(是否使用Session检测),0表示不启用,1表示启用 示例值:0 |
| Limit | 是 | String | CC检测阈值 示例值:60 |
| Interval | 是 | String | CC检测周期 示例值:60 |
| ActionType | 是 | String | 动作,20表示观察,21表示人机识别,22表示拦截,23表示精准拦截,26表示精准人机识别,27表示JS校验 示例值:22 |
| Priority | 是 | Integer | 优先级 示例值:50 |
| ValidTime | 是 | Integer | 动作有效时间 示例值:600 |
| Url | 否 | String | 检测Url 示例值:/test |
| MatchFunc | 否 | Integer | 匹配方法,0表示等于,1表示前缀匹配,2表示包含,3表示不等于,6表示后缀匹配,7表示不包含 示例值:0 |
| OptionsArr | 否 | String | CC的匹配条件JSON序列化的字符串,示例:[{"key":"Method","args":["=R0VU"],"match":"0","encodeflag":true}] Key可选值为 Method、Post、Referer、Cookie、User-Agent、CustomHeader、CaptchaRisk、CaptchaDeviceRisk、CaptchaScore match可选值为,当Key为Method的时候可选值为0(等于)、3(不等于)。 Key为Post的时候可选值为0(等于)、3(不等于),Key为Cookie的时候可选值为0(等于)、2(包含),3(不等于)、7(不包含)、 当Key为Referer的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为Cookie的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为User-Agent的时候可选值为0(等于)、3(不等于)、1(前缀匹配)、6(后缀匹配)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空), 当Key为CustomHeader的时候可选值为0(等于)、3(不等于)、2(包含)、7(不包含)、12(存在)、5(不存在)、4(内容为空)。 Key为IPLocation时,可选值为13(属于)、14(不属于)。 Key为CaptchaRisk时,可选值为0(等于)、3(不等于)、13(属于)、14(不属于)、12(存在)、5(不存在)。 Key为CaptchaDeviceRisk时,可选值为0(等于)、3(不等于)、13(属于)、14(不属于)、12(存在)、5(不存在)。 Key为CaptchaScore时,可选值为15(数值等于)、16(数值不等于)、17(数值大于)、18(数值小于)、19(数值大于等于)、20(数值小于等于)、12(存在)、5(不存在)。args用来表示匹配内容,需要设置encodeflag为true,当Key为Post、Cookie、CustomHeader时,用等号=来分别串接Key和Value,并分别用Base64编码,类似YWJj=YWJj。当Key为Referer、User-Agent时,用等号=来串接Value,类似=YWJj。 示例值:"[]" |
| Edition | 否 | String | waf版本,sparta-waf或者clb-waf 示例值:"sparta-waf" |
| Type | 否 | Integer | 操作类型 示例值:0 |
| EventId | 否 | String | 添加规则的来源事件id 示例值:api_assdfasd |
| SessionApplied.N | 否 | Array of Integer | 规则需要启用的SessionID 示例值:[0,1] |
| RuleId | 否 | Integer | 规则ID,新增时填0 示例值:19000001 |
| CreateTime | 否 | Integer | 规则创建时间 示例值:1 |
| Length | 否 | Integer | url长度 示例值:10 |
| LimitMethod | 否 | String | 限频方式 示例值:only_limit |
| CelRule | 否 | String | cel表达式 示例值:has(request.cookies) && has(request.cookies.asda) && request.cookies.asda.contains('asdad') |
| LogicalOp | 否 | String | 配置方式的逻辑操作符,and或者or 示例值:or |
| PageId | 否 | String | 页面ID 示例值:0 |
| ActionRatio | 否 | Integer | 动作灰度比例,默认值100 示例值:2 |
| Source | 否 | String | 规则来源 示例值:空值 |
3. 输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Data | String | 一般为null 示例值:"null" |
| RuleId | Integer | 操作的RuleId 示例值:19000001 |
| RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 添加CC规则
输入示例
POST / HTTP/1.1
Host: waf.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: UpsertCCRule
<公共请求参数>
{
"RuleId": 0,
"Domain": "www.testwaf.com",
"Edition": "sparta-waf",
"Name": "ccrule",
"Status": 1,
"Advance": "0",
"Limit": "60",
"Type": 0,
"Interval": "60",
"Url": "",
"MatchFunc": 0,
"ActionType": "22",
"Priority": 50,
"ValidTime": 600,
"OptionsArr": "[{\"key\":\"URL\",\"args\":[\"=L2Nj\"],\"match\":\"0\",\"encodeflag\":true}]",
"EventId": "",
"LogicalOp": "and",
"CelRule": "",
"LimitMethod": "",
"ActionRatio": 100,
"PageId": ""
}
输出示例
{
"Response": {
"RequestId": "8fb2ee72-103d-4d0f-b583-6af98aa2f442",
"Data": "",
"RuleId": 1900037990
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 描述 |
|---|---|
| InternalError | 内部错误。 |
| LimitExceeded.SpecificationErr | SpecificationErr |
| UnsupportedOperation | 操作不支持。 |