主题
merchant/google/product_info/tasks_ready
获取 Google Shopping Product Info 已完成任务列表
Tasks Ready 接口用于返回已执行完成、但尚未被获取结果的任务列表。
如果你使用的是标准提交方式,且未设置 postback_url,可以通过本接口获取所有已完成任务的 id,再结合对应的 Task GET 接口拉取任务结果。
如需了解任务完成机制与已完成任务的获取方式,可参考文档说明。
注意: 由于平台架构特性,已完成任务队列的更新存在轻微延迟。对于高并发场景,如果你的系统需要每分钟拉取 1000 个任务,建议优使用
pingback/postback机制,而将Tasks Ready用于补拉那些回调失败的任务 ID。
接口地址
text
GET https://api.seermartech.cn/v3/merchant/google/product_info/tasks_ready你也可以按搜索引擎维度获取已完成任务列表:
text
GET https://api.seermartech.cn/v3/merchant/$se/tasks_ready如需获取 Merchant API 下所有已完成任务,可使用:
text
GET https://api.seermartech.cn/v3/merchant/tasks_ready计费与调用限制
- 获取已完成任务列表不会产生额外费用
- 每个任务会一直保留在列表中,直到你成功获取结果
- 最多每分钟调用 20 次
- 每次调用最多返回过去 3 天完成的 1000 个任务
- 列表中不会以下任务:
- 已经被成功拉取过结果的任务
- 完成后 3 天未被拉取 的任务
postback_url 的行为
如果创建任务时设置了 postback_url,该任务通常不会出现在已完成任务列表中。
只有当本平台向你的服务器发起回调失败时,该任务才可能列表。常见失败条件:你的服务器返回的 HTTP 状态码小于 200 或大于 300。
响应结构
接口返回 JSON 数据,顶层 tasks 数组每个任务项对应的结果信息。
顶层字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | API 当前版本 |
status_code | integer | 接口总体状态码;完整列表见 /v3/appendix/errors |
status_message | string | 接口总体状态信息;完整列表见 /v3/appendix/errors |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,USD;该接口通常为 0,扣费以响应头 X-SeerMarTech-Charge-CNY 为准 |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | tasks 数组中返回错误的任务数量 |
tasks | array | 任务数组 |
建议在接时完善异常处理和错误状态码处理逻辑。
tasks[] 字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 本平台任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000;完整列表见 /v3/appendix/errors |
status_message | string | 任务状态信息 |
time | string | 任务执行耗时,单位秒 |
cost | float | 该任务费用,USD |
result_count | integer | result 数组中的数量 |
path | array | 请求路径 |
data | object | 请求 URL 中传的参数 |
result | array | 结果数组 |
tasks[].result[] 字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 已完成任务的任务 ID,UUID 格式 |
se | string | 创建任务时指定的搜索引擎 |
se_type | string | 搜索引擎类型;固定值为 shopping_specifications |
date_posted | string | 任务提交时间,UTC |
tag | string | 自定义任务标识 |
endpoint_advanced | string | 用于获取 Google Shopping Product Specifications Advanced 结果的接口地址 |
endpoint_html | string | 用于获取 Google Shopping Product Specifications HTML 结果的接口地址;该端点不支持 HTML,因此返回值为 null |
请求示例
curl
bash
curl --location --request GET "https://api.seermartech.cn/v3/merchant/google/product_info/tasks_ready" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"Python
python
import requests
url = "https://api.seermartech.cn/v3/merchant/google/product_info/tasks_ready"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json"
}
# 获取已完成但尚未拉取的任务列表
response = requests.get(url, headers=headers)
print(response.json)TypeScript
typescript
import axios from "axios";
async function getTasksReady {
const response = await axios.get(
"https://api.seermartech.cn/v3/merchant/google/product_info/tasks_ready",
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
);
// 输出返回结果
console.log(response.data);
}
getTasksReady.catch(console.error);响应示例
json
{
"version": "0.1.20220627",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1163 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"data": {
"se_type": "product_info",
"api": "merchant",
"function": "product_info",
"se": "google"
},
"result": []
}
]
}状态码说明
20000:请求成功- 状态码请参考
/v3/appendix/errors
建议同时处理两层状态:
- 顶层
status_code:判断本次接口调用是否成功 tasks[].status_code:判断每个任务是否成功返回
使用建议
- 适合用于轮询获取尚未获取结果的已完成任务
- 若任务量大,优使用回调机制,减少轮询压力
- 若回调偶发失败,可通过本接口进行补偿拉取
- 建议在获取任务 ID 后,尽快调用对应的
Task GET接口, 3 天保留期
实用场景
- 补拉失败回调任务:当业务系统未成功接收到回调时,重新获取已完成任务 ID,结果丢失。
- 轮询获取标准任务结果:在未
postback_url的,批量发现已完成任务并继续拉取。 - 构建任务消费队列:将本接口返回的任务 ID 投递到队列,统一调度后续结果抓取流程。
- 监控任务完成率:定时统计已完成但未消费的任务数量,评估抓取链路是否存在积压。
- 底异步结果同步:在回调与主动拉取混合模式下,将本接口作为最终补偿通道,提高结果同步可靠性。