主题
Domain Analytics API 错误任务查询
POST /v3/domain_analytics/errors
本接口使用 POST 方法,请求路径为 /v3/domain_analytics/errors。用于查询过去 7 天 Domain Analytics API 中返回错误的任务。
如果任务了 webhook( pingback 和 postback),但由于服务端错误未成功接收回调,可通过本接口获取任务 ID,再使用 /v3/appendix/webhook_resend 重新发送 webhook。
如果某个任务未出现在返回列表中,表示该任务未返回错误,或任务尚未完成。
计费说明
调用本接口不产生费用。
扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
请求信息
- 请求方法:
POST - 请求地址:
https://api.seermartech.cn/v3/domain_analytics/errors - Content-Type:
application/json - 请求体格式: JSON 数组,字符编码为 UTF-8
请求参数放在通用 POST 数组中的任务对象。
请求参数
| 参数名 | 类型 | 说明 |
|---|---|---|
limit | integer | 返回的错误任务最大数量。可选,默认值为 1000,最大值为 1000。 |
offset | integer | 结果数组的偏移量。可选,默认值为 0。例如设置为 10 时,将跳过前 10 条任务并返回后续任务。 |
filtered_function | string | 按 API 函数筛选错误任务。可填写响应结果中 function 字段对应的值,例如 domain_analytics/task_get、postback_url 或 pingback_url。建议查询未筛选结果,再根据 function 值进行筛选。 |
datetime_from | string | 错误时间筛选起始时间。可选支持过去 7 天范围的 datetime。使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2021-11-15 12:57:46 +00:00。 |
datetime_to | string | 错误时间筛选结束时间。可选支持过去 7 天范围的 datetime。使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2021-11-15 13:57:46 +00:00。 |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/domain_analytics/errors" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"limit": 10,
"offset": 0,
"filtered_function": "pingback_url"
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/domain_analytics/errors"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
post_data = [
{
"limit": 10,
"offset": 0,
"filtered_function": "pingback_url",
}
]
response = requests.post(url, headers=headers, json=post_data)
if response.status_code == 200:
result = response.json()
if result.get("status_code") == 20000:
print(result)
# 在此处处理错误任务列表
else:
print(
"接口错误:Code=%s Message=%s"
% (result.get("status_code"), result.get("status_message"))
)
else:
print("HTTP 错误:%s" % response.status_code)TypeScript
typescript
import axios from "axios";
const postData = [
{
limit: 10,
offset: 0,
filtered_function: "pingback_url",
},
];
axios({
method: "post",
url: "https://api.seermartech.cn/v3/domain_analytics/errors",
headers: {
Authorization: "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
},
data: postData,
})
.then((response) => {
const result = response.data;
if (result.status_code === 20000) {
console.log(result);
// 在此处处理错误任务列表
} else {
console.error(
`接口错误:Code=${result.status_code} Message=${result.status_message}`
);
}
})
.catch((error) => {
console.error("请求失败:", error);
});响应结构
接口返回 JSON 数据 tasks 数组查询结果。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 通用状态码。完整状态码列表请参考错误码文档。 |
status_message | string | 通用状态信息。 |
time | string | 本次请求总执行时间,单位为秒。 |
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 | array | 发起 POST 请求时提交的参数。 |
result | array | 错误任务结果数组。 |
result 对象字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 发生错误的任务 ID。 |
datetime | string | 错误发生时间,使用 UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2019-11-15 12:57:46 +00:00。 |
function | string | 对应的 API 函数,例如 domain_analytics/task_get、postback_url 或 pingback_url。 |
error_code | integer | 错误码。 |
error_message | string | 错误信息或触发错误的 URL。 |
http_url | string | 导致错误的 URL,可能是调用 API 时使用的 URL,或任务的 pingback/postback URL。 |
http_method | string | HTTP 请求方法。 |
http_code | integer | HTTP 状态码。 |
http_time | float | HTTP 请求耗时。对于了 pingback/postback 的任务,该字段表示本平台业务服务器响应所用的时间。 |
http_response | string | HTTP 响应,即业务服务器返回的响应。 |
响应示例
json
{
"version": "0.1.20220321",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1538 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "task-uuid",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.1200 sec.",
"cost": 0,
"result_count": 1,
"path": [
"v3",
"domain_analytics",
"errors"
],
"data": [
{
"api": "domain_analytics",
"function": "errors",
"limit": 10,
"offset": 0,
"filtered_function": "pingback_url"
}
],
"result": [
{
"id": "task-uuid",
"datetime": "2021-11-15 13:20:00 +00:00",
"function": "pingback_url",
"error_code": 50000,
"error_message": "Webhook request failed",
"http_url": "https://example.com/pingback",
"http_method": "POST",
"http_code": 500,
"http_time": 0.532,
"http_response": "Internal Server Error"
}
]
}
]
}状态码说明
- 顶层
status_code表示本次 API 请求的整体处理结果。 tasks[].status_code表示任务的处理结果。result[].error_code表示任务执行过程中记录的错误。http_code表示访问业务回调地址时获得的 HTTP 状态码,与 API 状态码不同。- 当任务尚未完成或未发生错误时,该任务不会出现在错误列表中。
实用场景
- 排查 webhook 回调失败任务:筛选
pingback_url或postback_url错误,定位未成功接收回调的任务并进行补偿处理。 - 批量重发失败回调:获取错误结果中的任务 ID,调用 webhook 重发接口恢复 SEO 数据处理流程。
- 监控 API 任务异常:按
datetime_from和datetime_to查询指定时间窗口的错误,构建任务失败率和异常趋势监控。 - 定位特定 API 函数障:使用
filtered_function聚焦某个 Domain Analytics 函数,缩小问题排查范围。 - 分析业务服务器响应问题:结合
http_url、http_method、http_code、http_time和http_response,诊断回调服务的时、5xx 或接口容性问题。