Skip to content

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 数组每个任务项对应的结果信息。

顶层字段说明

字段名类型说明
versionstringAPI 当前版本
status_codeinteger接口总体状态码;完整列表见 /v3/appendix/errors
status_messagestring接口总体状态信息;完整列表见 /v3/appendix/errors
timestring执行耗时,单位秒
costfloat本次请求总费用,USD;该接口通常为 0,扣费以响应头 X-SeerMarTech-Charge-CNY 为准
tasks_countintegertasks 数组中的任务数量
tasks_errorintegertasks 数组中返回错误的任务数量
tasksarray任务数组

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

tasks[] 字段说明

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

tasks[].result[] 字段说明

字段名类型说明
idstring已完成任务的任务 ID,UUID 格式
sestring创建任务时指定的搜索引擎
se_typestring搜索引擎类型;固定值为 shopping_specifications
date_postedstring任务提交时间,UTC
tagstring自定义任务标识
endpoint_advancedstring用于获取 Google Shopping Product Specifications Advanced 结果的接口地址
endpoint_htmlstring用于获取 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

建议同时处理两层状态:

  1. 顶层 status_code:判断本次接口调用是否成功
  2. tasks[].status_code:判断每个任务是否成功返回

使用建议

  • 适合用于轮询获取尚未获取结果的已完成任务
  • 若任务量大,优使用回调机制,减少轮询压力
  • 若回调偶发失败,可通过本接口进行补偿拉取
  • 建议在获取任务 ID 后,尽快调用对应的 Task GET 接口, 3 天保留期

实用场景

  • 补拉失败回调任务:当业务系统未成功接收到回调时,重新获取已完成任务 ID,结果丢失。
  • 轮询获取标准任务结果:在未 postback_url 的,批量发现已完成任务并继续拉取。
  • 构建任务消费队列:将本接口返回的任务 ID 投递到队列,统一调度后续结果抓取流程。
  • 监控任务完成率:定时统计已完成但未消费的任务数量,评估抓取链路是否存在积压。
  • 底异步结果同步:在回调与主动拉取混合模式下,将本接口作为最终补偿通道,提高结果同步可靠性。

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