POST /apiv2/reports/statement
订购对账单文件 —— 导出特定代币在指定周期内的所有操作,格式支持 CSV 或 PDF。该文件在后台生成:请求将立即返回一个订单号,待文件生成完毕后即可获取。
如果需要无需等待快速查看相同数据,请改用对账单预览 —— 它会立即响应,但会限制返回的操作记录数量。
接口基础 URL
https://netts.io/apiv2/reports请求头
| 请求头 | 是否必填 | 说明 |
|---|---|---|
X-API-KEY | 是 | 控制面板获取的 API 密钥 |
X-Real-IP | 是 | 密钥白名单中的 IP 地址 |
X-Idempotency-Key | 否 | 自定义密钥,12–128 个字符,支持 A-Z a-z 0-9 . _ : - |
订购文件
curl -s -X POST 'https://netts.io/apiv2/reports/statement' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Content-Type: application/json' \
-d '{
"client_request_id": "stmt-2026-09-usdt",
"address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"token_id": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"date_from": "2026-09-01",
"date_to": "2026-09-30",
"format": "csv"
}'{
"status": "success",
"code": 0,
"msg": "created",
"data": {
"order_no": "REPxxxxxxxxxxxx",
"client_request_id": "stmt-2026-09-usdt",
"type": "statement",
"status": "queued",
"quota_bucket": "free",
"progress_pct": 0,
"address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"token_id": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
"date_from": "2026-09-01",
"date_to": "2026-09-30",
"format": "csv",
"created_at": "2026-09-06 17:01:51.868542+00:00",
"finished_at": null,
"expires_at": null,
"artifact_sha256": null,
"artifact_size": null,
"download_url": null
}
}| 字段 | 是否必填 | 备注 |
|---|---|---|
client_request_id | 是 | 您的唯一标识符。每个账户内唯一 |
address | 是 | TRON base58 地址,34 个字符 |
token_id | 否 | 默认为 TRX;可为 TRC20 合约地址或 TRC10 ID |
date_from, date_to | 是 | UTC 时间,包含起止日。最长 366 天 |
format | 否 | 默认为 csv。PDF 格式最多限制 5000 条操作记录 |
等待生成
curl -s 'https://netts.io/apiv2/reports/REPxxxxxxxxxxxx' \
-H 'X-API-KEY: your-api-key' -H 'X-Real-IP: 203.0.113.10'status 字段的状态流转为:queued → running → waiting_cypherarc → done。另外两个为终态:error(原因见 error_code 和 error_message),以及文件超出保存期限后的 expired。较短周期的对账单通常在一分钟内即可完成;除 done 以外的任何状态均代表“请继续等待”。
一旦状态变为 done,download_url 将被填入(为相对路径,非完整 URL),即可下载文件:
curl -s -OJ 'https://netts.io/apiv2/reports/REPxxxxxxxxxxxx/download' \
-H 'X-API-KEY: your-api-key' -H 'X-Real-IP: 203.0.113.10'文件以 gzip 压缩格式提供。 订购 CSV 文件下载时为 application/gzip 格式,在 Content-Disposition 中带有 .csv.gz 文件名;解析前需先解压。状态响应中包含完全匹配所交付压缩文件的 artifact_sha256 和 artifact_size,因此您无需发起第二次请求即可校验下载内容。
与其轮询状态,不如注册 Webhook,在文件准备就绪时接收通知。
重复请求是安全的
发送相同的 client_request_id 或相同的 X-Idempotency-Key,将直接返回已存在的订单,而不会重复生成第二份。响应中会包含 "msg": "existing",方便您区分两者。
使用相同的标识符但携带不同的请求体属于错误操作,不会创建新订单:这将返回 409。标识符仅在您的账户内保持唯一 —— 其他账户的标识符绝不会与您的产生冲突。
文件保留 30 天
30 天后订单状态将变为 expired,此时下载将返回 410。后续如仍需使用请重新订购。
速率限制
每个接口 每秒 10 次请求,所有客户端共享配额。超出限制将返回 429,附带标头 Retry-After: 1 和提示消息 Endpoint rate limit exceeded (10 req/s shared)。
这是唯一的限制。没有月度配额,没有订购文件数量上限,也没有同时生成的任务数量限制 —— 只要账户余额充足,即可在速率限制范围内随意订购。超出生成队列承载能力的订单将被暂存并自动重试,而不会被拒绝,因此突发流量只会增加延迟,不会导致请求失败。
错误响应
| HTTP 状态码 | 含义 |
|---|---|
400 | 地址为 34 个字符,但未能通过 base58 校验和检查 |
401 | 密钥缺失或无效,或者来源 IP 不在白名单中 |
402 | 账户余额低于 4 TRX 最低要求 |
403 | API 密钥已被封禁;请联系技术支持 |
409 | 相同标识符被用于不同的请求体 —— 响应体为 IDEMPOTENCY_CONFLICT |
410 | 文件已过期 |
422 | 字段缺失或格式错误,或查询周期超过 366 天 |
429 | 超出速率限制 —— 请在 Retry-After 指定时间后重试 |
相关内容
- 余额 — 查询余额与实时对账单预览
- 报表 Webhook — 文件就绪通知