Skip to content
Translated page. The English version is the source of truth.

POST /apiv2/reports/statement

สั่งสร้างไฟล์รายการเดินบัญชี (statement) — ทุกธุรกรรมของหนึ่งโทเคนในช่วงเวลาที่กำหนด ในรูปแบบ CSV หรือ PDF ไฟล์จะถูกสร้างขึ้นในเบื้องหลัง: คำขอจะส่งคืนหมายเลขคำสั่งซื้อทันที และสามารถดาวน์โหลดไฟล์ได้เมื่อสร้างเสร็จสมบูรณ์

สำหรับการดูข้อมูลเดียวกันอย่างรวดเร็วโดยไม่ต้องรอ ให้ใช้ statement preview แทน — ซึ่งจะตอบกลับทันทีแต่จำกัดจำนวนธุรกรรมที่ส่งคืน

Base URL ของ Endpoint

https://netts.io/apiv2/reports

Headers ของคำขอ

Headerจำเป็นคำอธิบาย
X-API-KEYใช่API key จากแดชบอร์ด
X-Real-IPใช่ที่อยู่อิสระจากรายการที่อนุญาต (whitelist) ของคีย์
X-Idempotency-Keyไม่คีย์ของคุณเอง ความยาว 12–128 ตัวอักษร จาก A-Z a-z 0-9 . _ : -

สั่งสร้างไฟล์

bash
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"
      }'
json
{
  "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 จะจำกัดไว้ที่ 5,000 ธุรกรรม

จากนั้นรอไฟล์สร้างเสร็จ

bash
curl -s 'https://netts.io/apiv2/reports/REPxxxxxxxxxxxx' \
  -H 'X-API-KEY: your-api-key' -H 'X-Real-IP: 203.0.113.10'

ฟิลด์ status จะเปลี่ยนสถานะตามลำดับ queuedrunningwaiting_cypherarcdone โดยมีสถานะสิ้นสุดอีกสองสถานะคือ: error พร้อมระบุเหตุผลใน error_code และ error_message และ expired เมื่อไฟล์หมดอายุ รายการเดินบัญชีที่มีช่วงเวลาสั้นๆ มักจะพร้อมใช้งานภายในเวลาไม่ถึงหนึ่งนาที โปรดถือว่าสถานะอื่นใดที่ไม่ใช่ done หมายถึง "ให้รอต่อไป"

เมื่อสถานะเป็น done ฟิลด์ download_url จะแสดงข้อมูล — ในรูปแบบ path ไม่ใช่ URL แบบเต็ม — และสามารถดาวน์โหลดไฟล์ได้:

bash
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 พร้อมชื่อไฟล์ .csv.gz ใน Content-Disposition; กรุณาคลายการบีบอัดก่อนนำไปประมวลผล การตอบกลับสถานะจะมี artifact_sha256 และ artifact_size สำหรับไฟล์บีบอัดตรงตามที่ส่งมอบ เพื่อให้คุณสามารถตรวจสอบความถูกต้องของไฟล์ที่ดาวน์โหลดได้โดยไม่ต้องส่งคำขอซ้ำอีกครั้ง

แทนที่จะใช้วิธีส่งคำขอตรวจสอบเป็นระยะ (polling) คุณสามารถ ลงทะเบียน webhook เพื่อรับการแจ้งเตือนเมื่อไฟล์พร้อมใช้งาน

การส่งคำขอซ้ำมีความปลอดภัย

การส่ง client_request_id เดิม หรือ X-Idempotency-Key เดิม จะทำให้คุณได้รับคำสั่งซื้อเดิมกลับมาแทนที่จะสร้างคำสั่งซื้อใหม่อีกรายการ การตอบกลับจะระบุ "msg": "existing" เพื่อให้คุณแยกความแตกต่างได้

การนำตัวระบุเดิมกลับมาใช้ใหม่โดยมีเนื้อหาคำขอ (body) ที่แตกต่างกันจะถือเป็นข้อผิดพลาด ไม่ใช่การสร้างคำสั่งซื้อใหม่: ซึ่งจะได้รับสถานะ 409 ตัวระบุจะไม่ซ้ำกันเฉพาะภายในบัญชีของคุณเท่านั้น — ตัวระบุของบัญชีอื่นจะไม่มีวันชนกับของคุณ

ไฟล์มีอายุ 30 วัน

หลังจากพ้นระยะเวลาดังกล่าว คำสั่งซื้อจะเปลี่ยนสถานะเป็น expired และการดาวน์โหลดจะได้รับสถานะ 410 หากคุณต้องการใช้ในภายหลัง กรุณาสั่งสร้างไฟล์ใหม่อีกครั้ง

ขีดจำกัดอัตราการเรียกใช้

10 คำขอต่อวินาที ต่อ endpoint ซึ่งแชร์ร่วมกันในหมู่ผู้ใช้งานทั้งหมด หากเกินขีดจำกัดจะได้รับสถานะ 429 พร้อม Retry-After: 1 และข้อความ Endpoint rate limit exceeded (10 req/s shared)

นี่คือข้อจำกัดเพียงอย่างเดียว ไม่มีการจำกัดโควตารายเดือน ไม่จำกัดจำนวนไฟล์ที่คุณสามารถสั่งสร้างได้ และไม่จำกัดจำนวนไฟล์ที่สร้างพร้อมกันในคราวเดียว — บัญชีที่มียอดคงเหลือเป็นบวกสามารถสั่งสร้างได้มากเท่าที่ rate limit อนุญาต คำสั่งซื้อที่เกินกว่าความจุของคิวการสร้างจะถูกพักไว้และลองใหม่อัตโนมัติแทนที่จะถูกปฏิเสธ ดังนั้นคำขอที่เข้ามาจำนวนมากพร้อมกัน (burst) จะส่งผลต่อความล่าช้าเท่านั้น แต่จะไม่เกิดความล้มเหลว

ข้อผิดพลาด

HTTPความหมาย
400ที่อยู่มีความยาว 34 ตัวอักษร แต่ checksum ของ base58 ไม่ถูกต้อง
401คีย์ขาดหายหรือไม่ถูกต้อง หรือ IP ต้นทางไม่อยู่ใน whitelist
402ยอดคงเหลือในบัญชีต่ำกว่าขั้นต่ำ 4 TRX
403API key ถูกระงับการใช้งาน โปรดติดต่อฝ่ายสนับสนุน
409มีการใช้ตัวระบุเดิมกับเนื้อหาคำขอที่แตกต่างกัน — เนื้อหาคำขอคือ IDEMPOTENCY_CONFLICT
410ไฟล์หมดอายุแล้ว
422ฟิลด์ขาดหายหรือรูปแบบไม่ถูกต้อง หรือช่วงเวลาเกินกว่า 366 วัน
429เกินขีดจำกัด rate limit — ให้ลองใหม่อีกครั้งหลังจากระยะเวลาใน Retry-After

หน้าที่เกี่ยวข้อง

  • Balances — การดูยอดคงเหลือและพรีวิวรายการเดินบัญชีทันที
  • Report webhooks — การแจ้งเตือนเมื่อไฟล์พร้อมใช้งาน