获取站点信息

GET /openapi/v2alpha1/robots/{robotId}/getSiteInfo

查询指定机器人所关联站点的完整结构信息,包括站点名称、建筑物列表、楼层列表及各楼层地图。

路径参数

参数名类型必填说明
robotIdstring机器人 ID
口诀路径中传入目标机器人的唯一标识

响应参数

参数名类型说明
idstring站点 ID
namestring站点名称
buildingsarray建筑物列表
buildings[].namestring建筑名称
buildings[].floorNumint楼层数量
buildings[].uuidstring建筑 UUID
buildings[].floorsarray楼层列表
buildings[].floors[].indexint楼层索引
buildings[].floors[].namestring楼层名称
buildings[].floors[].mapsarray地图列表
口诀站点 → 建筑 → 楼层 → 地图,逐层嵌套
// 响应示例
{
  "id": "site_001",
  "name": "总部大楼",
  "buildings": [
    {
      "name": "A栋",
      "floorNum": 3,
      "uuid": "bld-uuid-001",
      "floors": [
        {
          "index": 1,
          "name": "1F",
          "maps": []
        }
      ]
    }
  ]
}

提交站点临时任务

POST /openapi/v2/robot/tasks/temp/withSite

向指定机器人下发基于站点的临时清扫任务。需要提供站点 ID、楼层配置和任务配置等信息。

请求参数

参数名类型必填说明
serialNumberstring机器人序列号
cleaningModestring清扫模式
loopCountint循环次数
siteIdstring站点 ID
taskNamestring任务名称
floorsarray楼层配置
tasksarray任务配置
口诀序列号 + 清扫模式 + 站点 + 楼层 + 任务 = 完整下发

响应参数

参数名类型说明
namestring命令资源名称
statestring命令状态
taskQueueIdstring任务队列 ID
口诀返回命令名称和队列 ID 用于后续状态跟踪
// 请求示例
{
  "serialNumber": "GS101-00A0-A7L-0000",
  "cleaningMode": "auto",
  "loopCount": 1,
  "siteId": "site_001",
  "taskName": "日常清扫任务",
  "floors": [],
  "tasks": []
}

// 响应示例
{
  "name": "cmd-resource-001",
  "state": "WAITING",
  "taskQueueId": "tq-001"
}

提交无站点临时任务

POST /openapi/v2/robot/tasks/temp/withoutSite

向指定机器人下发不依赖站点的临时清扫任务。通过 mapName 直接指定地图,适用于未配置站点或需要快速下发单地图任务的场景。

请求参数

参数名类型必填说明
productIdstring机器人标识
tempTaskCommand.cleaningModestring清扫模式
tempTaskCommand.loopboolean是否循环
tempTaskCommand.loopCountint循环次数
tempTaskCommand.taskNamestring任务名称
tempTaskCommand.mapNamestring地图名称
tempTaskCommand.startParamarray启动参数
口诀productId + tempTaskCommand 嵌套对象承载全部任务配置

响应参数

参数名类型说明
namestring命令资源名称
statestring命令状态(WAITING)
rawCommandTypestring命令类型(send_temp_task)
口诀返回值标明命令已入队等待执行
// 请求示例
{
  "productId": "GS101-00A0-A7L-0000",
  "tempTaskCommand": {
    "cleaningMode": "auto",
    "loop": false,
    "loopCount": 1,
    "taskName": "快速清扫",
    "mapName": "floor_1f_map",
    "startParam": []
  }
}

// 响应示例
{
  "name": "cmd-resource-002",
  "state": "WAITING",
  "rawCommandType": "send_temp_task"
}

最佳实践

推荐做法
  • 下发站点任务前,先调用获取站点信息接口确认站点和楼层结构
  • 保存返回的 taskQueueIdname,用于后续查询任务执行状态
  • 根据机器人是否已配置站点,选择对应的任务下发接口
不推荐
  • 不要在未获取站点信息的情况下硬编码 siteId 和楼层配置
  • 不要忽略响应中的 state 字段,它是判断命令是否被接受的关键
  • 不要混用站点任务和无站点任务的参数格式
常见误区
  • 站点任务使用 serialNumber,无站点任务使用 productId,混用会导致 400 错误
  • 无站点任务的参数嵌套在 tempTaskCommand 中,直接放在顶层会被忽略

任务下发后收到 WAITING 状态响应,且可通过返回的资源标识查询执行进度