POST /apiv2/time/order
ซื้อจำนวนรอบการมอบหมาย Energy ที่ระบุสำหรับที่อยู่และเปิดใช้งาน Host Mode ให้กับที่อยู่นั้น
URL ของ Endpoint
POST https://netts.io/apiv2/time/orderการยืนยันตัวตน
ระบุ API key ของคุณในเนื้อหาคำขอ (api_key) หรือส่วนหัว X-API-KEY โดย IP ของคำขอจะต้องอยู่ในไวท์ลิสต์ที่กำหนดค่าไว้สำหรับ API key ของคุณ
เนื้อหาคำขอ (Request Body)
json
{
"api_key": "your_api_key",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10
}พารามิเตอร์
| พารามิเตอร์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| api_key | string | ใช่ | API key (หรือส่วนหัว X-API-KEY) |
| address | string | ใช่ | ที่อยู่ TRON (TRC-20), ^T[1-9A-HJ-NP-Za-km-z]{33}$ |
| cycles | integer | ใช่ | จำนวนรอบที่ต้องการซื้อ ต้องมีค่า ≥ 1 |
ราคาและการเรียกเก็บเงิน
- การสั่งซื้อรอบจะไม่มีการเรียกเก็บเงินล่วงหน้า แต่ละรอบจะถูกเรียกเก็บเงินในขณะที่มีการมอบหมาย Energy ให้: การมอบหมายครั้งแรกของการเปิดใช้งานมีค่าใช้จ่าย 4 TRX และในแต่ละครั้งถัดไปจะมีค่าใช้จ่าย 2 หรือ 4 TRX ขึ้นอยู่กับ Energy ที่ธุรกรรมโอนก่อนหน้าของคุณใช้ไปจริง (≤65,000 → 2 TRX, มากกว่านั้น → 4 TRX) ดูรายละเอียดกฎทั้งหมดได้ที่ Host Mode → รอบและราคา และดู ยอดขั้นต่ำรายวัน สำหรับยอดขั้นต่ำรายวัน 8 TRX (มีผลบังคับใช้ 2026-08-29)
- ค่า
amountในการตอบกลับเป็นเพียง การประมาณการ (cycles × ราคาอ้างอิง) ไม่ใช่ยอดรวมสุดท้าย - ยอดคงเหลือของคุณจะได้รับการตรวจสอบก่อนที่จะยอมรับคำสั่งซื้อ หากยอดคงเหลือไม่เพียงพอสำหรับคำสั่งซื้อ คำสั่งซื้อจะถูกปฏิเสธ (ข้อผิดพลาด
-2)
การส่งคำสั่งซื้อจะตั้งค่าที่อยู่เป็น active และสร้างคำสั่งซื้อที่เปิดอยู่ตามจำนวนรอบที่ร้องขอ จากนั้นที่อยู่จะเริ่มได้รับการมอบหมาย Energy ไปทีละรอบ และจะมีการเรียกเก็บเงินสำหรับการมอบหมายแต่ละครั้งเมื่อเกิดขึ้นจริง
ตัวอย่างคำขอ
cURL
bash
curl -X POST https://netts.io/apiv2/time/order \
-H "Content-Type: application/json" \
-d '{
"api_key": "YOUR_API_KEY_HERE",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10
}'Python
python
import requests
resp = requests.post(
"https://netts.io/apiv2/time/order",
json={
"api_key": "YOUR_API_KEY_HERE",
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10,
},
timeout=30,
)
result = resp.json()
if result["code"] == 0:
d = result["data"]
print(f"Order {d['order_id']}: {d['cycles']} cycles for {d['amount']} TRX")
else:
print("Error:", result["msg"])Node.js
javascript
const axios = require('axios');
axios.post('https://netts.io/apiv2/time/order', {
api_key: 'YOUR_API_KEY_HERE',
address: 'TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE',
cycles: 10,
}).then(({ data: result }) => {
if (result.code === 0) {
const d = result.data;
console.log(`Order ${d.order_id}: ${d.cycles} cycles for ${d.amount} TRX`);
} else {
console.error('Error:', result.msg);
}
}).catch(err => console.error('Request failed:', err.response?.data || err.message));การตอบกลับ (Response)
สำเร็จ (200 OK)
json
{
"code": 0,
"msg": "Cycles purchased and host mode activated successfully",
"data": {
"order_id": 5426,
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"cycles": 10,
"amount": 23.5,
"status": "active",
"timestamp": "2026-07-13T05:30:15.123456"
}
}ฟิลด์การตอบกลับ
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
| code | integer | 0 = สำเร็จ, ค่าลบ = ข้อผิดพลาด |
| msg | string | ข้อความที่มนุษย์อ่านได้ |
| data.order_id | integer | ตัวระบุคำสั่งซื้อภายใน |
| data.address | string | ที่อยู่ที่ทำการซื้อรอบให้ |
| data.cycles | integer | จำนวนรอบที่ซื้อ |
| data.amount | number | ยอดรวมคำสั่งซื้อโดยประมาณ ในหน่วย TRX (สำหรับการอ้างอิงเท่านั้น — การเรียกเก็บเงินจะคิดเป็นรายครั้งของการมอบหมาย) |
| data.status | string | "active" หลังจากสั่งซื้อสำเร็จ |
| data.timestamp | string | การประทับเวลา ISO ของคำสั่งซื้อ |
การตอบกลับข้อผิดพลาด (Error Responses)
| code | msg | สาเหตุ |
|---|---|---|
| -1 | Invalid API key or IP not in whitelist | การยืนยันตัวตนล้มเหลว |
| -1 | Invalid TRC-20 address format | รูปแบบที่อยู่ไม่ถูกต้อง |
| -1 | Cycle count must be 1 or more | cycles < 1 |
| -1 | Database error processing order | ข้อผิดพลาดชั่วคราวฝั่งเซิร์ฟเวอร์ — ให้ลองใหม่อีกครั้ง |
| -2 | Insufficient balance. Required: X TRX, Available: Y TRX | ยอดคงเหลือต่ำกว่ายอดรวมคำสั่งซื้อ |
| -6 | Cannot buy cycles: There is an open order with … cycles for this address | มีคำสั่งซื้อที่เปิดอยู่แล้วสำหรับที่อยู่นี้ (รวมถึงแบบ infinity) |
json
{
"code": -2,
"msg": "Insufficient balance. Required: 23.5 TRX, Available: 10.0 TRX"
}ที่อยู่ปลายทางไม่ได้รับอนุญาต (403)
จะมีการตรวจสอบที่อยู่ก่อนที่จะยอมรับคำสั่งซื้อ หากไม่อนุญาตให้มอบหมายทรัพยากรไปยังที่อยู่นี้ คำขอจะถูกปฏิเสธด้วย HTTP 403 และจะไม่มีการบันทึกข้อมูลใด ๆ — ไม่มีการสร้างคำสั่งซื้อ และไม่มีการเพิ่มหรือเปิดใช้งานที่อยู่ เนื้อหาจะใช้รูปแบบ detail:
| code | msg | ความหมาย |
|---|---|---|
| 1006 | Address is blocked. Contact support. | ที่อยู่ถูกระงับ |
| 1007 | Energy rental to smart contracts is not supported. | ที่อยู่เป็น Smart Contract (ที่อยู่กระเป๋าเงิน GasFree ก็เป็น Smart Contract เช่นกัน) |
| 1010 | Resource delegation to this address is not available. | การมอบหมายทรัพยากรไปยังที่อยู่นี้ไม่พร้อมใช้งาน |
| 1011 | This address is frozen and cannot receive resource delegation. | ที่อยู่ถูกระงับการทำงาน (Frozen) และไม่สามารถรับการมอบหมายทรัพยากรได้ |
json
{ "detail": { "code": 1007, "msg": "Energy rental to smart contracts is not supported." } }Endpoint ที่เกี่ยวข้อง
- POST /apiv2/time/add — เพิ่มที่อยู่ก่อน
- POST /apiv2/time/infinitystart — ใช้รอบแบบไม่จำกัดแทนการกำหนดจำนวนคงที่
- POST /apiv2/time/status — ตรวจสอบรอบที่เหลืออยู่
- POST /apiv2/time/stop — หยุดและปิดคำสั่งซื้อ
หมายเหตุ
- หากที่อยู่นั้นยังไม่ได้อยู่ใน Host Mode การสั่งซื้อจะทำการลงทะเบียนและเปิดใช้งานให้ด้วย
- อนุญาตให้มีคำสั่งซื้อที่เปิดอยู่ได้เพียงหนึ่งคำสั่งซื้อต่อหนึ่งที่อยู่ ณ เวลาเดียวกัน
- รอบที่ซื้อจะถูกใช้ไปหนึ่งรอบต่อการมอบหมายหนึ่งครั้ง เมื่อรอบหมดลงที่อยู่จะหยุดทำงานโดยอัตโนมัติ