Skip to content

任务状态查询

接口概述

根据任务 ID 查询异步任务的当前执行状态、创建时间、结束时间和执行日志。

推荐每隔 3 至 5 秒查询一次。任务状态变为 SUCCESSFAILED 后应停止轮询,避免产生不必要的请求。

请求地址

http
GET /result/taskStatusData

请求头

参数必填说明
apiKeyAPI 访问凭证,值为 YOUR_API_KEY

查询参数

参数类型必填说明
taskIdString创建异步任务时返回的任务唯一标识

请求示例

bash
curl -G "https://openapi.bangtu-ai.com/openApi/result/taskStatusData" \
  -H "apiKey:  YOUR_API_KEY" \
  --data-urlencode "taskId=1900123456789012345"

执行中响应示例

json
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "1900123456789012345",
    "status": "RUNNING",
    "type": "PRE",
    "createTime": "2026-07-20T15:48:00.000+08:00",
    "endTime": null,
    "logs": [
      {
        "message": "图元解析完成",
        "time": "2026-07-20 15:48:03"
      },
      {
        "message": "检测框、图签位置...",
        "time": "2026-07-20 15:48:04"
      }
    ]
  },
  "timestamp": 1784533685000
}

执行成功响应示例

json
{
  "code": 200,
  "message": "success",
  "data": {
    "taskId": "1900123456789012345",
    "status": "SUCCESS",
    "type": "PRE",
    "createTime": "2026-07-20T15:48:00.000+08:00",
    "endTime": "2026-07-20T15:48:25.000+08:00",
    "logs": [
      {
        "message": "识别图签信息完成,识别图框基本信息任务结束",
        "time": "2026-07-20 15:48:25"
      }
    ]
  },
  "timestamp": 1784533705000
}

返回字段

字段类型说明
codeNumber通用响应码,200 表示成功,500 表示失败
messageString响应信息
dataObject | null任务状态信息;请求失败或未查询到任务时可能为 null
timestampNumber服务端响应时间戳,单位为毫秒

响应码

code说明
200请求成功
500请求失败

data 字段

字段类型说明
taskIdString任务唯一标识
statusString当前任务状态:RUNNINGSUCCESSFAILED
typeString任务类型;图纸基本信息识别任务为 PRE
createTimeString任务创建时间
endTimeString | null任务结束时间;执行中为 null
logsArray任务执行日志列表

logs 字段

字段类型说明
messageString日志消息内容
timeString日志记录时间,格式为 yyyy-MM-dd HH:mm:ss

任务状态

状态是否继续轮询说明
RUNNING任务正在执行,建议等待 3 至 5 秒后再次查询
SUCCESS任务执行成功,可以继续获取识别结果
FAILED任务执行失败,可通过 logs 查看执行信息

轮询示例

javascript
async function waitForTask(taskId, token) {
  while (true) {
    const response = await fetch(
      `/result/taskStatusData?taskId=${encodeURIComponent(taskId)}`,
      {
        headers: {
          apiKey: token
        }
      }
    )
    const result = await response.json()
    const task = result.data

    if (!task) {
      throw new Error('未查询到任务')
    }
    if (task.status === 'SUCCESS') {
      return task
    }
    if (task.status === 'FAILED') {
      throw new Error('任务执行失败')
    }

    await new Promise(resolve => setTimeout(resolve, 3000))
  }
}

注意事项

  • taskId 应使用任务创建接口返回的原始值,不要转换为数字,避免长整型精度丢失。
  • 推荐轮询间隔为 3 至 5 秒,请勿进行高频请求。
  • 只有 RUNNING 状态需要继续轮询。
  • 查询到 SUCCESSFAILED 后应立即停止轮询。
  • code 表示本次状态查询请求是否成功,任务是否执行成功应以 data.status 为准。