V1 列出机器人任务报告

GET /v1alpha1/robots/{robotSerialNumber}/taskReports

分页查询指定机器人的任务报告列表,支持按 UTC 时间范围筛选。路径参数 robotSerialNumber 为机器人序列号。

请求参数 (Query)

参数名类型必填说明
pageint页码
pageSizeint每页数量
startTimeUtcFloorstring开始时间下限(UTC)
startTimeUtcUpperstring开始时间上限(UTC)
口诀分页 + 时间窗口筛选

响应参数

参数名类型说明
robotTaskReportsarray任务报告列表
robotTaskReports[].idstring报告 ID
robotTaskReports[].displayNamestring显示名称
robotTaskReports[].completionPercentagenumber完成百分比
robotTaskReports[].durationSecondsnumber持续时间(秒)
robotTaskReports[].actualCleaningAreaSquareMeternumber实际清洁面积(平方米)
robotTaskReports[].startBatteryPercentagenumber开始电量百分比
robotTaskReports[].endBatteryPercentagenumber结束电量百分比
pageint当前页码
totalstring总记录数
口诀报告列表 + 分页元数据
// 请求示例
GET /v1alpha1/robots/GS101-00A0-A7L-0000/taskReports?page=1&pageSize=10&startTimeUtcFloor=2026-01-01T00:00:00Z&startTimeUtcUpper=2026-01-31T23:59:59Z

// 响应示例
{
  "robotTaskReports": [
    {
      "id": "rpt-001",
      "displayName": "日常清洁任务",
      "completionPercentage": 95.5,
      "durationSeconds": 3600,
      "actualCleaningAreaSquareMeter": 120.0,
      "startBatteryPercentage": 100,
      "endBatteryPercentage": 45
    }
  ],
  "page": 1,
  "total": "1"
}

V2 列出机器人任务报告

GET /openapi/v2alpha1/robots/{robotSerialNumber}/taskReports

V2 版本在 V1 基础上进行了增强,额外支持 subTasks 子任务列表,响应中增加 taskReportPngUri 报告图片链接字段。路径参数 robotSerialNumber 为机器人序列号。

请求参数 (Query)

参数名类型必填说明
pageint页码
pageSizeint每页数量
startTimeUtcFloorstring开始时间下限(UTC)
startTimeUtcUpperstring开始时间上限(UTC)
口诀与 V1 相同的分页 + 时间窗口筛选

响应参数

参数名类型说明
robotTaskReportsarray任务报告列表
robotTaskReports[].idstring报告 ID
robotTaskReports[].displayNamestring显示名称
robotTaskReports[].completionPercentagenumber完成百分比
robotTaskReports[].durationSecondsnumber持续时间(秒)
robotTaskReports[].actualCleaningAreaSquareMeternumber实际清洁面积(平方米)
robotTaskReports[].startBatteryPercentagenumber开始电量百分比
robotTaskReports[].endBatteryPercentagenumber结束电量百分比
robotTaskReports[].subTasksarray子任务列表(V2 新增)
robotTaskReports[].taskReportPngUristring报告 PNG 图片链接(V2 新增)
pageint当前页码
totalstring总记录数
口诀V1 字段 + subTasks + taskReportPngUri
// 请求示例
GET /openapi/v2alpha1/robots/GS101-00A0-A7L-0000/taskReports?page=1&pageSize=10

// 响应示例
{
  "robotTaskReports": [
    {
      "id": "rpt-001",
      "displayName": "日常清洁任务",
      "completionPercentage": 95.5,
      "durationSeconds": 3600,
      "actualCleaningAreaSquareMeter": 120.0,
      "startBatteryPercentage": 100,
      "endBatteryPercentage": 45,
      "subTasks": [],
      "taskReportPngUri": "https://openapi.gs-robot.com/reports/rpt-001.png"
    }
  ],
  "page": 1,
  "total": "1"
}

生成机器人任务报告 PNG

POST /v1alpha1/robots/{robotId}/taskReports/{reportId}:generateRobotTaskReportPng

为指定机器人的指定任务报告生成 PNG 格式的可视化图片。路径参数 robotId 为机器人 ID,reportId 为任务报告 ID。

请求参数 (Body)

参数名类型必填说明
languageCodestring语言代码,如 zh(中文)、en(英文)
口诀仅需指定语言代码

响应参数

参数名类型说明
uristring生成的 PNG 报告图片链接
口诀返回图片 URI
// 请求示例
POST /v1alpha1/robots/robot-123/taskReports/rpt-001:generateRobotTaskReportPng
Content-Type: application/json

{
  "languageCode": "zh"
}

// 响应示例
{
  "uri": "https://openapi.gs-robot.com/reports/rpt-001-zh.png"
}

SDK 使用示例

通过高仙开放平台 Python SDK 调用清洁数据服务:

async with GausiumSDK(client_id, client_secret, open_access_key) as sdk:
    # V1 列出任务报告
    reports = await sdk.cleaning.list_task_reports(
        robot_sn="GS101-00A0-A7L-0000",
        page=1,
        page_size=10
    )

    # V2 列出任务报告(含子任务和 PNG 链接)
    reports_v2 = await sdk.cleaning.list_task_reports_v2(
        robot_sn="GS101-00A0-A7L-0000",
        page=1,
        page_size=10
    )

    # 生成任务报告 PNG
    png = await sdk.cleaning.generate_report_png(
        robot_id="robot-123",
        report_id="rpt-001",
        language_code="zh"
    )
    print(png.uri)
推荐做法
  • 优先使用 V2 接口获取任务报告,可直接获取 PNG 链接
  • 使用 UTC 时间格式传递时间范围参数
  • 合理设置分页参数,避免单次请求过多数据
不推荐
  • 不要在 V2 接口已返回 taskReportPngUri 时重复调用 PNG 生成接口
  • 不要使用本地时区格式传递时间参数
  • 不要忽略分页参数导致请求全量数据
常见误区
  • PNG 生成接口的路径参数使用 robotId 而非 robotSerialNumber,注意区分
  • V1 响应中 total 字段类型为 string 而非 int,解析时需类型转换

正确区分 V1/V2 接口差异,合理使用分页和时间筛选