Skip to content

获取 Tripadvisor Reviews 已完成任务列表

接口说明

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

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

需要注意的是,由于平台 API 的任务队列存在轻微更新延迟,高并发场景下可能出现短时间结果未立即出现在列表中的。如果你的系统需要每分钟处理 1000 个任务结果,建议优使用 pingback/postback 回调机制Tasks Ready 更适合用于补偿获取那些回调失败的任务 ID

请求地址

获取 Tripadvisor Reviews 已完成任务列表:

GET https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/tasks_ready

此外,Business Data API 还支持以下通用形式:

  • 指定搜索引擎的任务完成列表:GET /v3/business_data/$se/tasks_ready
  • 获取 Business Data API部已完成任务列表:GET /v3/business_data/tasks_ready

计费与限制

  • 获取已完成任务列表不会额外收费
  • 每个任务会一直保留在列表中,直到结果被成功拉取
  • 每分钟最多可调用 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;本接口通常为 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 数组中的数量
patharrayURL 路径
dataobject请求 URL 中传的参数集合
resultarray已完成任务结果列表

tasks[].result[] 字段

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

调用示例

cURL

bash
curl --location --request GET "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/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/tripadvisor/reviews/tasks_ready"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
result = response.json

if result.get("status_code") == 20000:
 print(result)
 # 在这里处理已完成任务列表
else:
 print(f"error. Code: {result.get('status_code')} Message: {result.get('status_message')}")

TypeScript

typescript
import axios from "axios";

async function getReadyTasks {
 try {
 const response = await axios({
 method: "get",
 url: "https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/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}`);
 }
 } catch (error) {
 console.error(error);
 }
}

getReadyTasks;

响应示例

json
{
 "version": "0.1.20210917",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1630 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "a1b2c3d4-e5f6-7890-abcd-1234567890ef",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0312 sec.",
 "cost": 0,
 "result_count": 1,
 "path": [
 "v3",
 "business_data",
 "tripadvisor",
 "reviews",
 "tasks_ready"
 ],
 "data": {
 "api": "business_data",
 "function": "reviews",
 "se": "tripadvisor",
 "se_type": "reviews"
 },
 "result": [
 {
 "id": "f7d9c1a2-b3e4-5678-9abc-def012345678",
 "se": "tripadvisor",
 "se_type": "reviews",
 "date_posted": "2023-10-05 12:30:14 +00:00",
 "tag": "hotel_review_batch_01",
 "endpoint": "/v3/business_data/tripadvisor/reviews/task_get/f7d9c1a2-b3e4-5678-9abc-def012345678"
 }
 ]
 }
 ]
}

使用建议

  • 如果你依赖轮询方式获取结果,可定时调用本接口,获取处理任务 ID
  • 获取到 endpoint 或任务 id 后,立即调用对应的 Task GET 接口拉取
  • 若业务量较大,建议结合回调机制与本接口做失败补偿
  • 处理结果时应特别 status_codetasks_errorresult_count

常见状态与错误处理

虽然原始文档未单独列出该接口的专属错误码,但你应至少处理以下:

场景建议处理方式
status_code != 20000视为接口调用失败,记录日志并重试
tasks_error > 0遍历 tasks 中的各任务状态,识别失败任务
result_count = 0当前暂无可拉取的已完成任务
高频轮询注意遵守每分钟 20 次的调用上限
大批量结果采集优使用 postback/pingback,降低轮询延迟与漏取风险

实用场景

  • 轮询已完成评论采集任务:定时获取 Tripadvisor 评论抓取任务的完成 ID,自动结果下载流程,减少人工干预。
  • 补偿回调失败任务:当业务系统未成功接收到回调时,通过本接口找回遗漏任务,评论数据缺失。
  • 构建异步任务消费队列:将本接口返回的任务 ID 投递到消息队列,提升大批量评论采集任务的处理稳定性。
  • 监控采集链路健康度:结合 tasks_error、任务状态码和结果数量,快速发现回调异常、任务积压或结果漏拉问题。
  • 追踪批次任务执行状态:利用 tag 字段业务批次,按、地区或时间段追踪评论采集完成进度。

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