主题
On Page 任务 ID 列表
POST /v3/on_page/id_list
本接口使用 POST 方法,请求路径为 /v3/on_page/id_list。用于查询指定时间范围创建的 On Page 任务 ID 及数据已完成和未完成的任务。
日期范围最多可查询当前时间前 6 个月的数据;最近 1 个月创建的任务支持返回数据。
接口信息
- 请求方法:
POST - 请求地址:
https://api.seermartech.cn/v3/on_page/id_list - 请求格式:
application/json - **频率限制:**每分钟最多调用 10 次
- **单次返回数量:**最多 1000 个任务 ID
- **费用:**本接口不收取调用费用,返回的
cost通常为0;扣费以响应头X-SeerMarTech-Charge-CNY为准。
所有请求参数放在 JSON 数组中:
json
[
{
"datetime_from": "2023-01-31 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"offset": 0,
"sort": "desc",
"include_metadata": true
}
]请求参数
| 参数 | 类型 | 填 | 说明 |
|---|---|---|---|
datetime_from | string | 是 | 查询开始时间。使用 UTC 时间格式:yyyy-mm-dd hh-mm-ss +00:00。当 include_metadata 为 true 时,开始时间不能早于当前时间前 1 个月;当 include_metadata 为 false 时,不能早于当前时间前 6 个月。 |
datetime_to | string | 是 | 查询结束时间。不能晚于当前时间。使用 UTC 时间格式,例如:2023-01-31 13:57:46 +00:00。 |
limit | integer | 否 | 返回的最大任务数量。默认值为 1000,最大值为 1000。 |
offset | integer | 否 | 结果偏移量,默认值为 0。例如设置为 10,则跳过结果列表中的前 10 个任务。 |
sort | string | 否 | 按任务执行时间排序。可选值:asc、desc。默认值为 asc。 |
include_metadata | boolean | 否 | 是否在结果中返回任务数据。默认值为 false。最近 1 个月创建的任务可返回数据。 |
时间格式要求
时间使用 UTC 格式:
text
yyyy-mm-dd hh-mm-ss +00:00示例:
text
2023-01-15 12:57:46 +00:00响应结构
接口返回 JSON 数据 tasks 数组。
顶层字段
| 字段 | 类型 | 说明 |
|---|---|---|
version | string | 当前 API 版本。 |
status_code | integer | 请求级状态码。常见成功状态码为 20000。完整状态码请参考错误码文档。 |
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 | object | 创建任务时提交的请求参数。 |
result | array | 任务 ID 及信息列表。 |
result 数组字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务 ID。 |
url | string | 创建该任务时使用的请求 URL。 |
datetime_posted | string | 任务创建时间,使用 UTC 格式。 |
datetime_done | string | 任务完成时间,使用 UTC 格式。任务未完成时可能为空。 |
status | string | 任务状态说明。 |
cost | float | 平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。 |
metadata | object | 创建任务时提交的参数。在请求中将 include_metadata 设置为 true,且任务创建时间在最近 1 个月时返回。 |
请求示例
cURL
bash
curl --location --request POST "https://api.seermartech.cn/v3/on_page/id_list" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
{
"datetime_from": "2023-01-31 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"offset": 0,
"sort": "desc",
"include_metadata": true
}
]'Python
python
import requests
url = "https://api.seermartech.cn/v3/on_page/id_list"
headers = {
"Authorization": "Bearer smt_live_YOUR_KEY",
"Content-Type": "application/json",
}
post_data = [
{
"datetime_from": "2023-01-31 00:00:00 +00:00",
"datetime_to": "2023-02-01 00:00:00 +00:00",
"limit": 100,
"offset": 0,
"sort": "desc",
"include_metadata": True,
}
]
response = requests.post(url, headers=headers, json=post_data)
result = response.json()
if result.get("status_code") == 20000:
print(result)
else:
print(
"请求失败,状态码:{},消息:{}".format(
result.get("status_code"),
result.get("status_message"),
)
)TypeScript
typescript
import axios from "axios";
const postData = [
{
datetime_from: "2023-01-31 00:00:00 +00:00",
datetime_to: "2023-02-01 00:00:00 +00:00",
limit: 100,
offset: 0,
sort: "desc",
include_metadata: true,
},
];
axios
.post(
"https://api.seermartech.cn/v3/on_page/id_list",
postData,
{
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);
});响应示例
json
{
"version": "0.1.20221214",
"status_code": 20000,
"status_message": "请求成功",
"time": "0.3834 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": " task-uuid-example ",
"status_code": 20000,
"status_message": "请求成功",
"time": "0.1200 sec.",
"cost": 0,
"result_count": 1,
"path": [
"v3",
"on_page",
"id_list"
],
"data": {
"api": "on_page",
"function": "id_list",
"datetime_from": "2023-01-11 00:00:00 +00:00",
"datetime_to": "2023-02-10 17:47:00 +00:00",
"limit": 100,
"sort": "desc",
"include_metadata": true
},
"result": [
{
"id": " task-uuid-example ",
"url": "https://api.seermartech.cn/v3/on_page/id_list",
"datetime_posted": "2023-01-31 00:00:00 +00:00",
"datetime_done": "2023-01-31 00:00:05 +00:00",
"status": "任务已完成",
"cost": 0,
"metadata": {
"datetime_from": "2023-01-11 00:00:00 +00:00",
"datetime_to": "2023-02-10 17:47:00 +00:00",
"limit": 100,
"sort": "desc",
"include_metadata": true
}
}
]
}
]
}状态码与错误处理
- 顶层
status_code用于判断本次接口请求是否成功。 tasks_error用于统计任务列表中的错误数量。- 单个任务的
status_code和status_message用于判断该任务的处理结果。 - 当
status_code不为20000时,应结合status_message定位请求参数或任务状态问题。 - 完整状态码和错误说明请参考错误码文档。
实用场景
- 批量获取历史任务 ID:按时间范围检索已创建的 On Page 任务,便于批量拉取结果或建立任务归档。
- 同步任务处理状态:结合
status、datetime_done和单任务状态码,识别已完成、未完成或异常任务。 - 构建任务监控面板:使用
limit、offset和sort分页读取任务列表,统计任务量、完成时间和异常数量。 - 恢复中断的数据处理流程:查询指定时间段的任务 ID,补齐因服务中断或程序异常而遗漏的结果。
- 审计任务请求参数:启用
include_metadata返回任务数据,核对历史任务的时间范围及提交参数。