跳转至

智能报告详情

1. 接口描述

接口请求路径:GET /prod-api/waf/wafv3/intelligenceReport/detail/{taskId}

detail 用于根据 taskId 获取智能防护报告完整详情,供控制台报告页展示与 PDF 导出。仅能查询当前登录用户自己创建的报告。

Token 获取方式见 密钥鉴权

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
taskId String 任务 ID(Path 参数),32 位十六进制字符串
示例值:b9f7b61235df4bd761f347f10

3. 示例

示例1 查询报告详情

输入示例

GET /prod-api/waf/wafv3/intelligenceReport/detail/b9f7b61235df4bd761f347f10

代码调用

请将 {登录域名}tokentaskId 替换为实际值。

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class IntelligenceReportDetailTest {

    public static void main(String[] args) throws Exception {
        String url = "https://{登录域名}/prod-api/waf/wafv3/intelligenceReport/detail/"
                + "b9f7b61235df4bd761f347f10";
        String token = "eyJhbGciOiJIUzUxMiJ9.xxxxxx";

        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpGet httpGet = new HttpGet(url);
            httpGet.setHeader("Authorization", "Bearer " + token);

            try (CloseableHttpResponse response = httpClient.execute(httpGet)) {
                int statusCode = response.getStatusLine().getStatusCode();
                String body = EntityUtils.toString(response.getEntity(), "UTF-8");
                System.out.println("Status Code: " + statusCode);
                System.out.println("Body: " + body);
            }
        }
    }
}
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://{登录域名}/prod-api/waf/wafv3/intelligenceReport/detail/b9f7b61235df4bd761f347f10"
    token := "eyJhbGciOiJIUzUxMiJ9.xxxxxx"

    req, err := http.NewRequest(http.MethodGet, url, nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer "+token)

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println("Status Code:", resp.StatusCode)
    fmt.Println("Body:", string(body))
}

输出示例

{
  "msg": "成功",
  "code": 200,
  "data": {
    "taskId": "b9f7b61235df4bd761f347f10",
    "taskStatus": "SUCCESS",
    "errorMessage": null,
    "createTime": "2026-05-21 10:29:18",
    "startTime": "2026-05-21 10:29:18",
    "finishTime": "2026-05-21 10:30:00",
    "reportStartTime": "2026-05-13 00:00:00",
    "reportEndTime": "2026-05-20 00:00:00",
    "reportLabel": "2026-05-13 00:00:00 ~ 2026-05-20 00:00:00",
    "summary": "该时段检出攻击 13 次,拦截量为 0……",
    "riskLevel": "medium",
    "rawModelOutput": "{...}",
    "result": {
      "summary": "……",
      "riskLevel": "medium",
      "patterns": ["路径遍历攻击"],
      "recommendations": [
        {
          "title": "启用托管规则并优化拦截策略",
          "detail": "当前拦截率偏低……",
          "suggestedWafActions": "启用基础防护规则组"
        }
      ],
      "reportSections": [
        { "title": "攻击趋势与拦截效果", "content": "……" }
      ],
      "reportInsights": {
        "trendInsight": "……",
        "rulesInsight": "……",
        "compareInsight": "……"
      },
      "numericEvidence": [
        {
          "number": "0",
          "sourcePath": "$.blockedMetrics.summaryMetrics.totalBlock",
          "reason": "该时段拦截量为 0"
        }
      ],
      "disclaimer": "高危事件列表为按风险排序的抽样子集……",
      "inputSnapshot": {
        "period": {
          "startTime": "2026-05-13 00:00:00",
          "endTime": "2026-05-20 00:00:00"
        },
        "compareMetrics": {
          "blockedTotal": 0,
          "detectedTotal": 13,
          "blockedRatio": 0,
          "detectedRatio": 1,
          "delta": -13
        }
      }
    }
  }
}

4. 输出参数

参数名称 类型 描述
code Integer 状态码。示例值:200
msg String 提示信息。示例值:成功
data Object 报告详情
data.taskId String 任务 ID
data.taskStatus String 任务状态,支持以下值:
PENDING:待处理
RUNNING:生成中
SUCCESS:已成功
FAILED:失败
示例值:SUCCESS
data.errorMessage String 失败原因
data.createTime String 创建时间
data.startTime String 开始执行时间
data.finishTime String 结束时间
data.reportStartTime String 统计区间起点
data.reportEndTime String 统计区间终点
data.reportLabel String 区间展示文案
data.summary String 报告摘要
data.riskLevel String low / medium / high
data.rawModelOutput String 模型原始 JSON 字符串
data.result Object 结构化报告正文;SUCCESS 时存在,见下表

data.result 主要字段:

参数名称 类型 描述
summary String 执行摘要
riskLevel String 风险等级
patterns Array of String 攻击模式归纳
recommendations Array 防护建议:titledetailsuggestedWafActions
reportSections Array 章节:titlecontent
reportInsights Object 分维度解读,如 trendInsightrulesInsightcompareInsight
numericEvidence Array 数据依据:numbersourcePathreason
disclaimer String 免责声明
inputSnapshot Object 生成时固化的统计快照(含 periodcompareMetricsblockedMetricsdetectedMetrics 等,用于图表)

5. 错误码

HTTP 状态码 / 业务提示 描述
200 成功
401 未鉴权或 Token 无效
403 无权限
报告不存在 taskId 不存在或不属于当前用户