// 文档
查询任务
查询单个任务的当前处理状态。需要 tasks:read 权限。
GET /api/v1/tasks/{id} 返回属于当前账号的单个任务的客户可见状态。提交批次后轮询此接口。
请求
| 字段 | 值 |
|---|---|
| 方法 | GET |
| 路径 | /api/v1/tasks/{id},{id} 为 acceptedTasks[].id 返回的任务 UUID |
| 认证 | Authorization: Bearer shl_live_<key>,需 tasks:read scope |
curl https://shoulu.co/api/v1/tasks/9b1d… \
-H "Authorization: Bearer shl_live_<key>"响应
{
"task": {
"id": "9b1d…",
"url": "https://example.com/page-a",
"domain": "example.com",
"status": "submitted",
"eligibility": {
"fetched_at": "2026-10-25T08:00:00.000Z",
"final_url": "https://example.com/page-a",
"status_code": 200,
"checks": { "http_ok": true, "meta_noindex": false },
"signals": []
},
"provider": "indexingsystems",
"provider_task_id": "B20261025…",
"submitted_at": "2026-10-25T08:01:12.000Z",
"next_check_at": null,
"final_decided_at": null,
"dead_letter_reason": null,
"created_at": "2026-10-25T08:00:30.000Z",
"updated_at": "2026-10-25T08:01:12.000Z"
}
}| 字段 | 含义 |
|---|---|
status | pending、submitted 或 failed,见下表 |
eligibility | 提交前收集的预检证据;预检未完成时为 null |
provider | 受理提交的服务商适配器,确定后给出 |
provider_task_id | 上游批次或任务引用,分配后给出 |
submitted_at | 上游受理时间,未受理为 null |
next_check_at | 保留字段。当前上游无结果查询接口,保持 null |
final_decided_at | 保留字段。当前上游下保持 null |
dead_letter_reason | 不可恢复任务的内部失败标记,正常为 null |
任务 ID 不存在、不是 UUID、或属于其他账号时返回 404 not found。
状态值
公开 status 把内部任务状态归并为三种。
status | 覆盖的内部状态 | 含义 |
|---|---|---|
pending | pending_preflight、eligible | 正在预检或排队等待提交 |
submitted | submitted、verifying、indexed | 上游已受理提交请求,不代表收录结论 |
failed | rejected、not_indexed、refunded、dead_letter | 处理已停止,在控制台任务详情查看原因 |
在当前上游下,submitted 是可获得的最佳结果。未收录的 URL 在带外结算;平台不为该上游担保最终收录结果。