主题
通过任务 ID 获取 TripAdvisor 商户评论结果
本接口使用 GET 方法,通过以下路径获取已完成任务的 TripAdvisor 商户评论结果:
GET https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_get/$id
接口返回指定商户页面的评论数据商户名称、地址、评分、评论数量、评论、用户信息及商户回复等。结果对应于创建任务时提交的 URL 路径。
系统会尽可能准确地模拟任务参数,以返回任务提交时指定条件下的搜索结果。响应中的 check_url 可用于在无痕模式下核验结果。用户偏好、搜索历史及个性化因素不会影响返回结果。
计费说明
- 创建任务时计费。
- 任务创建后 30 天可获取结果。
- 实扣费以响应头
X-SeerMarTech-Charge-CNY为准。
请求参数
接口通过 URL 路径接收任务 ID,无请求体。
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
id | string | 是 | 任务唯一标识,UUID 格式。任务创建后 30 天均可使用该 ID 获取结果。 |
请求示例
cURL
bash
id="04011058-0696-0199-0000-2196151a15cb"
curl --location --request GET \
"https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_get/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"TypeScript
typescript
import axios from "axios";
const taskId = "02231934-2604-0066-2000-570459f04879";
axios
.get(
`https://api.seermartech.cn/v3/business_data/tripadvisor/reviews/task_get/${taskId}`,
{
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
}
)
.then((response) => {
// 处理任务结果
console.log(response.data);
})
.catch((error) => {
console.error("请求失败:", error.response?.data || error.message);
});Python
python
import requests
task_id = "04011058-0696-0199-0000-2196151a15cb"
url = (
"https://api.seermartech.cn/v3/business_data/"
f"tripadvisor/reviews/task_get/{task_id}"
)
response = requests.get(
url,
headers={
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
)
if response.ok:
result = response.json()
print(result)
else:
print(f"请求失败:HTTP {response.status_code}")
print(response.text)PHP
php
<?php
$taskId = '04011058-0696-0199-0000-2196151a15cb';
$url = 'https://api.seermartech.cn/v3/business_data/'
. 'tripadvisor/reviews/task_get/' . $taskId;
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer smt_live_YOUR_KEY',
'Content-Type: application/json',
],
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode >= 200 && $httpCode < 300) {
print_r(json_decode($response, true));
} else {
echo "请求失败,HTTP 状态码:{$httpCode}\n";
echo $response;
}沙盒环境
可以使用以下沙盒地址查看该接口支持的完整字段结构:
https://sandbox.seermartech.cn/v3/business_data/tripadvisor/reviews/task_get/00000000-0000-0000-0000-000000000000
沙盒响应中的字段值为模拟数据,不会产生费用。
响应结构
接口返回 JSON 数据,顶层 tasks 数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 通用状态码。可参考错误码说明。 |
status_message | string | 通用状态信息。 |
time | string | 接口执行耗时,例如 0.0801 sec.。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
tasks_count | integer | tasks 数组中的任务数量。 |
tasks_error | integer | tasks 数组中返回错误的任务数量。 |
tasks | array | 任务结果数组。 |
tasks 任务字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式。 |
status_code | integer | 任务状态码,通常为 10000 至 60000 范围的整数。 |
status_message | string | 任务状态信息。 |
time | string | 任务执行耗时。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
result_count | integer | result 数组中的结果数量。 |
path | array | URL 路径信息。 |
data | object | 创建任务时提交的参数。 |
result | array | 评论搜索结果数组。 |
data 字段
data 通常创建任务时提交的参数,例如:
| 字段 | 类型 | 说明 |
|---|---|---|
api | string | API 类型,例如 business_data。 |
function | string | 功能名称,例如 reviews。 |
se | string | 数据来源类型,例如 tripadvisor。 |
url_path | string | 商户页面 URL 路径。 |
location_code | integer | 地区编码。 |
depth | integer | 获取评论的深度或数量范围。 |
device | string | 设备类型,例如 desktop。 |
os | string | 操作系统,例如 windows。 |
result 结果字段
| 字段 | 类型 | 说明 |
|---|---|---|
url_path | string | 创建任务时提交的 URL 路径。 |
type | string | 搜索结果类型。 |
se_domain | string | 搜索引擎域名。 |
check_url | string | 可直接访问的结果核验 URL。 |
datetime | string | 获取结果的时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。 |
title | string | 商户名称,即评论所属本地商户的名称。 |
location | string | 商户地址。 |
reviews_count | integer | 商户评论总数。 |
rating | object | 商户总体评分信息。 |
rating_distribution | object | 按评分等级统计的评论数量分布。 |
items_count | integer | items 数组中的评论数量。 |
items | array | 评论数组。 |
result.rating 评分字段
| 字段 | 类型 | 说明 |
|---|---|---|
rating_type | string | 评分类型,可为 Max5、Percents 或 CustomMax。 |
value | float | 基于评论计算的平均评分。 |
votes_count | integer | 评分或投票数量。 |
rating_max | integer | 当前评分类型的最大值。 |
result.rating_distribution 评分分布字段
该对象统计 1 至 5 分评论的数量。
| 字段 | 类型 | 说明 |
|---|---|---|
1 | integer | 1 分评论数量。 |
2 | integer | 2 分评论数量。 |
3 | integer | 3 分评论数量。 |
4 | integer | 4 分评论数量。 |
5 | integer | 5 分评论数量。 |
items 评论字段
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 评论类型,目前为 tripadvisor_review_search。 |
rank_group | integer | 在相同 type 结果组中的排名。不同类型结果不会计该排名。 |
rank_absolute | integer | 评论在评论列表中的绝对排名。 |
position | string | 评论在搜索结果页中的位置,目前可能为 right 或 left。 |
url | string | 评论页 URL。 |
rating | object | 评论提交的评分。 |
date_of_visit | string | 评论到访商户的日期,UTC 格式。 |
timestamp | string | 评论发布时间,UTC 格式。 |
review_id | string | 评论 ID。 |
title | string | 评论标题。 |
review_text | string | 评论正文。 |
language | string | 当前评论文本的语言。 |
original_language | string | 未翻译评论文本的原始语言。 |
review_images | array | 评论中使用的图片列表。 |
user_profile | object | 评论的用户资料。 |
responses | array | 商户回复列表。 |
review_highlights | array | 评论中的重点评价维度及对应评价。 |
items.rating 评论评分字段
| 字段 | 类型 | 说明 |
|---|---|---|
rating_type | string | 评分类型,目前为 Max5。 |
value | float | 评论评分值。 |
votes_count | integer / null | 反馈数量;该场景通常为 null。 |
rating_max | integer | 评分最大值。Max5 类型的最大值为 5。 |
review_images 评论图片字段
| 字段 | 类型 | 说明 |
|---|---|---|
url | string | 评论图片 URL。 |
user_profile 用户资料字段
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 用户资料名称。 |
url | string | 用户资料页 URL。 |
image_url | string | 用户头像 URL。 |
location | string / null | 用户所在地。 |
reviews_count | integer | 用户提交的评论总数。 |
responses 商户回复字段
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | 商户回复标题,通常表示商户名称。 |
text | string | 商户回复正文。 |
language | string | 回复文本的语言。 |
response_id | string | 回复 ID。 |
timestamp | string | 回复发布时间,UTC 格式。 |
review_highlights 评论重点字段
| 字段 | 类型 | 说明 |
|---|---|---|
feature | string | 被评价的特征或维度。 |
assessment | string | 对该特征的评价。 |
响应示例
json
{
"version": "0.1.20250526",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0801 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "04011058-0696-0199-0000-2196151a15cb",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0420 sec.",
"cost": 0,
"result_count": 1,
"data": {
"api": "business_data",
"function": "reviews",
"se": "tripadvisor",
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"location_code": 1003854,
"depth": 10,
"device": "desktop",
"os": "windows"
},
"result": [
{
"url_path": "Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"type": "tripadvisor_review_search",
"check_url": "https://www.tripadvisor.com/Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html",
"datetime": "2025-06-05 12:00:00 +00:00",
"title": "Margaritaville Resort Times Square",
"location": "New York City, New York",
"reviews_count": 1000,
"rating": {
"rating_type": "Max5",
"value": 4.2,
"votes_count": 1000,
"rating_max": 5
},
"rating_distribution": {
"1": 80,
"2": 50,
"3": 100,
"4": 220,
"5": 550
},
"items_count": 1,
"items": [
{
"type": "tripadvisor_review_search",
"rank_group": 1,
"rank_absolute": 1,
"position": "left",
"url": "https://www.tripadvisor.com/ShowUserReviews-g60763-d23462501-r1011196323-Margaritaville_Resort_Times_Square-New_York_City_New_York.html",
"rating": {
"rating_type": "Max5",
"value": 1,
"votes_count": null,
"rating_max": 5
},
"date_of_visit": "2025-05-31 00:00:00 +00:00",
"timestamp": "2025-06-05 00:00:00 +00:00",
"review_id": "903636367",
"title": "What a terrible turn-off!",
"review_text": "The communication afterwards with the hotel is worthless.",
"language": "en",
"original_language": "nl",
"review_images": null,
"user_profile": {
"name": "Kees J",
"url": "https://www.tripadvisor.com/Profile/397keesj",
"image_url": "https://media-cdn.tripadvisor.com/media/photo-o/1a/f6/e2/e6/default-avatar-2020-45.jpg",
"location": null,
"reviews_count": 1
},
"responses": null,
"review_highlights": [
{
"feature": "服务",
"assessment": "沟通体验较差"
}
]
}
]
}
]
}
]
}状态码与异常处理
建议客户端同时检查以下字段:
- 顶层
status_code:判断接口请求是否成功。 tasks[].status_code:判断任务是否成功。status_message或tasks[].status_message:获取错误或状态说明。tasks_error:判断是否存在任务级错误。result:任务成功时检查是否结果数据。
通常,20000 表示请求成功;状态码应根据返回的状态信息进行重试、记录或异常处理。
实用场景
- 采集和餐评论,集中分析用户反馈,支持口碑监控与服务质量评估。
- 统计商户评分及评分分布,识别低分集中区间,为门店运营和改进优级提供依据。
- 提取评论语言与原始语言信息,构建多语言舆分析和海外市场客户画像。
- 识别评论重点维度及商户回复,评估商户对负面反馈的响应,优化本地 SEO 与声誉管理策略。
- 按任务深度获取更多评论,建立竞争商户评论数据库,竞品研究和策略制定。