Skip to content

获取 Google 商家动态已完成任务列表

接口说明

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

如果你没有使用 postback_url,可以通过本接口拿到所有已完成任务的 id,再调用对应的 Task GET 接口拉取任务与结果。

  • 当前端点路径: GET /v3/business_data/google/my_business_updates/tasks_ready
  • 通用搜索引擎任务列表路径: GET /v3/business_data/$se/tasks_ready
  • 获取 Business Data 任务列表路径: GET /v3/business_data/tasks_ready

说明:由于平台架构特性,已完成任务队列会有轻微延迟。若你的系统需要每分钟采集 1000 个任务,建议优使用 pingback/postback 机制将 Tasks Ready 用于补捞 postback 失败的任务 ID。

请求地址

text
GET https://api.seermartech.cn/v3/business_data/google/my_business_updates/tasks_ready

计费与限制

  • 获取已完成任务列表不额外收费
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准
  • 每个已完成任务会一直保留在列表中,直到结果被成功拉取
  • 最多每分钟调用 20 次
  • 单次调用最多返回最近 3 天完成的 1000 个任务
  • 列表中
  • 已经被拉取过结果的任务
  • 完成后 3 天未拉取 的任务

postback_url

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

只有在以下,任务才可能出现在列表里:

  • 发送到你服务器的 postback 请求失败
  • 你的服务器返回的 HTTP 状态码 小于 200 或大于 300

响应结构

接口返回 JSON 数据,顶层 tasks 数组,每个对应一次任务获取结果。

顶层字段

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

建议在集成时完善异常处理与状态码处理逻辑。

tasks[] 字段

字段名类型说明
idstring当前请求任务的唯一标识,UUID 格式
status_codeinteger当前任务状态码,范围通常为 10000–60000,完整列表参考 /v3/appendix/errors
status_messagestring当前任务状态信息
timestring当前任务执行耗时,单位秒
costfloat当前任务成本,USD
result_countintegerresult 数组中的数量
patharrayURL 路径
dataobject请求 URL 中传的参数信息
resultarray已完成任务列表

tasks[].result[] 字段

字段名类型说明
idstring已完成任务的任务 ID,UUID 格式
sestring创建任务时指定的搜索引擎;当前值为 google
se_typestring搜索引擎类型
date_postedstring任务提交时间,UTC
tagstring用户自定义任务标识
endpointstring用于拉取该任务结果的接口地址

请求示例

cURL

bash
curl --request GET "https://api.seermartech.cn/v3/business_data/google/my_business_updates/tasks_ready" \
 --header "Authorization: Bearer smt_live_YOUR_KEY" \
 --header "Content-Type: application/json"

Python

python
import requests

url = "https://api.seermartech.cn/v3/business_data/google/my_business_updates/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";

// 获取已完成但尚未拉取的任务列表
axios({
 method: "get",
 url: "https://api.seermartech.cn/v3/business_data/google/my_business_updates/tasks_ready",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then((response) => {
 // 返回结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20200909",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1237 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "se_type": "business_updates",
 "se": "google",
 "api": "business_data",
 "function": "my_business_updates"
 },
 "result": []
 }
 ]
}

结果获取流程建议

型调用流程如下:

  1. 调用 /v3/business_data/google/my_business_updates/tasks_ready 获取已完成任务 ID
  2. tasks[].result[] 中读取每个任务的 idendpoint
  3. 调用对应的 Task GET 接口获取结果
  4. 结果一旦被成功拉取,该任务将不再出现在 Tasks Ready 列表中

错误处理建议

请重点处理以下:

  • 顶层 status_code20000
  • tasks_error 大于 0
  • tasks[].status_code 返回异常状态
  • result 为空,表示当前没有可拉取的已完成任务
  • 高并发场景下因队列延迟导致的短暂“查不到任务”现象

错误码与通用消息可参考:

  • /v3/appendix/errors

实用场景

  • 补捞回调失败任务:当业务系统的 postback 接收异常时,定期扫描已完成任务列表,结果丢失。
  • 轮询获取商家动态采集结果:未异步回调时,通过本接口获取已完成任务 ID,再批量拉取。
  • 构建任务消费队列:将返回的任务 ID 写队列,由后续统一调用 Task GET,提高处理稳定性。
  • 监控任务完成:结合 date_postedtagendpoint,核对任务是否按预期完成并被消费。
  • 排查任务投递链路问题:通过出现于列表中的 postback 失败任务,快速定位回调接口异常或服务端状态码问题。

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