Skip to content

App Data 已完成任务查询

接口说明

Tasks Ready 接口用于返回已执行完成但尚未被获取结果的任务列表。

如果你使用标准提交流程,且在创建任务时没有指定 postback_url,可以通过本接口获取所有已完成任务的 id,再结合对应的 Task GET 结果接口逐个拉取任务结果。

如果你的系统需要了解任务完成机制及已完成任务获取方式,可参考说明文档。

注意: 由于平台 API 的任务队列更新存在短暂延迟,高并发场景下可能会影响实时拉取。 如果你的系统需要每分钟采集 1000 个任务,建议优使用 pingback/postback 回调机制,而将 Tasks Ready 用于补偿获取回调失败任务的 ID。


请求地址

获取 WordPress V2 已完成任务

http
GET https://api.seermartech.cn/v3/app_data/wp/v2/tasks_ready

按指定搜索引擎获取已完成任务

$se 替换为对应搜索引擎名称:

http
GET https://api.seermartech.cn/v3/app_data/$se/tasks_ready

获取 App Data部已完成任务

http
GET https://api.seermartech.cn/v3/app_data/tasks_ready

计费说明

获取已完成任务列表不额外收费

接口响应中的 cost 通常为 0,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。


使用限制

  • 最多每分钟调用 20 次
  • 单次调用最多返回:
  • 近 3 天完成的 1000 个任务
  • 任务会一直保留在列表中,直到你成功拉取该任务结果
  • 下列任务不会出现在列表中:
  • 已经被成功获取结果的任务
  • 完成后 3 天未被拉取 的任务

postback_url 的特殊说明

如果创建任务时指定了 postback_url,该任务通常不会出现在已完成任务列表中。

只有在回调请求发送到你的服务器失败时,该任务才可能出现在列表里,例如:

  • 你的服务器请求处理失败
  • 你的服务器返回的 HTTP 状态码 小于 200大于 300

响应结构

接口返回 JSON 数据,顶层 tasks 数组每个任务项对应的完成任务信息。

顶层字段说明

字段名类型说明
versionstring当前 API 版本
status_codeinteger通用状态码;完整列表见 /v3/appendix/errors
status_messagestring通用状态信息;完整列表见 /v3/appendix/errors
timestring接口执行耗时,单位秒
costfloat本次请求总成本,单位 USD
tasks_countintegertasks 数组中的任务数
tasks_errorintegertasks 数组中返回错误的任务数
tasksarray任务数组

建议在接时完善异常处理和错误状态处理逻辑。


tasks 数组字段说明

字段名类型说明
idstring本平台任务 ID,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000;完整列表见 /v3/appendix/errors
status_messagestring任务状态说明
timestring任务处理耗时,单位秒
costfloat该任务成本,单位 USD
result_countintegerresult 数组中的数量
patharrayURL 路径
dataobject请求 URL 中传的参数
resultarray结果数组

result 数组字段说明

字段名类型说明
idstring已完成任务的任务 ID,UUID 格式
sestring创建任务时指定的搜索引擎
se_typestring搜索引擎类型
functionstring任务类型
date_postedstring任务提交时间,UTC 格式
tagstring用户自定义任务标识
endpoint_advancedstring获取该 Wp V2 任务结果的高级结果接口地址
endpoint_htmlstring获取该 Wp V2 HTML 结果的接口地址;若该端点不支持 HTML 结果,则为 null

请求示例

cURL

bash
curl --location --request GET "https://api.seermartech.cn/v3/app_data/wp/v2/tasks_ready" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

url = "https://api.seermartech.cn/v3/app_data/wp/v2/tasks_ready"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 获取已完成但尚未拉取的任务列表
response = requests.get(url, headers=headers)
data = response.json

if data.get("status_code") == 20000:
 print(data)
else:
 print(f'error. Code: {data.get("status_code")} Message: {data.get("status_message")}')

TypeScript

typescript
import axios from "axios";

async function getReadyTasks {
 const response = await axios.get(
 "https://api.seermartech.cn/v3/app_data/wp/v2/tasks_ready",
 {
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 }
 );

 const result = response.data;

 if (result.status_code === 20000) {
 // 处理返回结果
 console.log(result);
 } else {
 console.log(`error. Code: ${result.status_code} Message: ${result.status_message}`);
 }
}

getReadyTasks.catch(console.error);

响应示例

json
{
 "version": "0.1.20220422",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1098 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "se_type": "v2",
 "se": "wp",
 "api": "app_data",
 "function": "v2"
 },
 "result": []
 }
 ]
}

说明: 原始示例响应存在格式截断,这里按原始结构含义进行了整理。返回中,tasks 数组下通常会完整的任务信息与 result 数组。


状态码与错误处理

  • 顶层 status_code 表示整个请求是否成功
  • tasks[].status_code 表示单个任务的处理状态
  • 建议重点处理以下:
  • 请求成功但 tasks 为空
  • 单个任务返回错误
  • 结果拉取延迟导致新完成任务暂未出现在列表中
  • 使用了 postback_url 后任务默认不此列表

完整错误码可参考:

  • /v3/appendix/errors

结果获取建议流程

  1. 提交 App Data 任务
  2. 若未设置 postback_url,轮询 GET /v3/app_data/tasks_ready 或引擎路径
  3. 从返回结果中读取已完成任务 id
  4. 调用对应的 Task GET 接口拉取详细结果
  5. 对已获取结果的任务做本地去重与归档

实用场景

  • 轮询补任务结果:在未回调的,定时获取已完成任务 ID,确保 App 数据任务结果被稳定拉取。
  • 补偿回调失败任务:当业务系统的 postback_url 偶发失败时,通过本接口找回遗漏任务,数据丢失。
  • 构建任务消费队列:将已完成任务列表接任务中心,统一调度后续结果抓取、库和分析流程。
  • 监控任务产出时效:统计任务完成与被拉取之间的时间差,优化采集链路和结果消费效率。
  • 按应用市场分流抓取:结合不同 se 或路径查询各类 App Data 任务完成,便于分渠道处理数据结果。

统一入口:官网 · LLM API · 控制台