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

GET /apiv2/prices Deprecated

Deprecated

เอนด์พอยต์นี้เลิกใช้งานแล้วและจะถูกลบออกในเวอร์ชันถัดไป โปรดเปลี่ยนไปใช้เอนด์พอยต์ใหม่ GET /apiv2/pricing ซึ่งรองรับช่วงเวลาแบบไดนามิก การกรองบริการ ส่วนลดตามระยะเวลา และรูปแบบการตอบกลับที่เป็นมาตรฐานเดียวกัน

ดึงราคาเช่า Energy ปัจจุบันสำหรับช่วงเวลาต่างๆ ตลอดวัน

ราคาอาจเปลี่ยนแปลงระหว่างการดำเนินการ

ราคาที่ได้รับจากเอนด์พอยต์นี้อาจมีการเปลี่ยนแปลงขณะที่คำสั่งซื้อกำลังดำเนินการ ผู้ให้บริการ Energy อาจปฏิเสธคำขอการมอบสิทธิ์ ซึ่งในกรณีดังกล่าว Netts จะส่งต่อคำสั่งซื้อไปยังผู้ให้บริการรายถัดไปที่มีอยู่โดยอัตโนมัติ Netts มุ่งมั่นไม่เพียงแต่นำเสนอราคาที่มีความสามารถในการแข่งขันสูงที่สุด แต่ยังให้ความสำคัญกับความน่าเชื่อถือของการจัดหา Energy — ดังนั้นคำสั่งซื้ออาจได้รับการดำเนินการในราคาที่สูงกว่าราคาที่เสนอไว้ สิ่งนี้มีผลเฉพาะกับคำสั่งซื้อตั้งแต่ 300,000 หน่วย Energy ขึ้นไปเท่านั้น

URL ของเอนด์พอยต์

GET https://netts.io/apiv2/prices

ส่วนหัวของคำขอ

ส่วนหัวจำเป็นคำอธิบายค่าที่ใช้ได้
X-API-KEYใช่API key ของคุณข้อความ
X-Real-IPใช่ที่อยู่ IP จากรายการที่อนุญาตที่อยู่ IP
X-Formatไม่รูปแบบการตอบกลับ (ค่าเริ่มต้น: JSON แบบขยาย)now, compact, short, short1h, count

พารามิเตอร์ของคำขอ

ไม่จำเป็นต้องระบุพารามิเตอร์ - ส่งคืนข้อมูลราคาทั้งหมดในปัจจุบัน

ตัวอย่างคำขอ

cURL

bash
curl -X GET https://netts.io/apiv2/prices \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip"

Python

python
import requests

url = "https://netts.io/apiv2/prices"
headers = {
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip"
}

response = requests.get(url, headers=headers)
data = response.json()

if response.status_code == 200:
    print(f"Status: {data.get('status')}")
    print(f"Current UTC time: {data.get('current_utc_time')}")
    print(f"Active period: {data.get('active_period')}")
    print(f"Host price: {data.get('host_price')} TRX")
    
    print("\nPrice periods:")
    for period in data.get('periods', []):
        is_active = period.get('is_active', False)
        active_marker = " *ACTIVE*" if is_active else ""
        print(f"\n{period.get('label')}{active_marker}:")
        print(f"  Time: {period.get('period')}")
        
        prices = period.get('prices', {})
        print(f"  < 200k energy: {prices.get('less_than_200k', {}).get('price_sun')} sun")
        print(f"  = 131k energy: {prices.get('equal_131k', {}).get('price_sun')} sun")  
        print(f"  > 200k energy: {prices.get('more_than_200k', {}).get('price_sun')} sun")
else:
    print(f"Error: {data.get('message', 'Unknown error')}")

รูปแบบการตอบกลับแบบกระชับ (Compact)

ใหม่ในเวอร์ชัน 2.1: ใช้ส่วนหัว X-Format เพื่อรับการตอบกลับเป็นข้อความแบบกระชับแทนโครงสร้าง JSON แบบเต็ม

กรณีที่ควรใช้

  • การรวมระบบเข้ากับระบบตรวจสอบ (Monitoring)
  • การแสดงราคาแบบง่าย
  • การติดตามราคาอัตโนมัติ
  • ความต้องการใช้แบนด์วิดท์ต่ำที่สุด

ตัวอย่างคำขอ

bash
curl -X GET https://netts.io/apiv2/prices \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -H "X-Format: now"

ตัวอย่างการตอบกลับแบบกระชับ

text
Daytime Hours (11:00-21:00 UTC): price=27 sun, 65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)

คำอธิบายรูปแบบการตอบกลับ

รูปแบบกระชับประกอบด้วยข้อมูลดังนี้:

องค์ประกอบคำอธิบายตัวอย่าง
ป้ายกำกับช่วงเวลาช่วงเวลาของราคาที่ใช้งานอยู่Daytime Hours (11:00-21:00 UTC)
price=X sunราคาต่อหนึ่งหน่วย Energy ในหน่วย SUNprice=27 sun
65k=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 65,000 หน่วย Energy65k=1.755 TRX (0.52$)
131k=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 131,000 หน่วย Energy131k=3.537 TRX (1.05$)
1m=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 1,000,000 หน่วย Energy1m=27.000 TRX (7.99$)

สูตรการคำนวณ

TRX cost = (price_sun / 1,000,000) × energy_amount
USD cost = TRX_cost × current_TRX_USD_rate

หมายเหตุ: อัตราแลกเปลี่ยน TRX/USD ดึงมาจากตาราง chain_param และแคชไว้เป็นเวลา 30 นาที

ชนิดของเนื้อหา (Content Type)

  • รูปแบบขยาย: application/json
  • รูปแบบกระชับ: text/plain

ตัวอย่าง Python

python
import requests

url = "https://netts.io/apiv2/prices"
headers = {
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip",
    "X-Format": "now"  # Request compact format
}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    print("Compact price data:")
    print(response.text)
    # Output: Daytime Hours (11:00-21:00 UTC): price=27 sun, 65k=1.755 TRX (0.52$), ...
else:
    print(f"Error: {response.status_code}")

รูปแบบการตอบกลับแบบกระชับพิเศษ (short1h)

ใหม่ในเวอร์ชัน 2.2: ใช้ส่วนหัว X-Format: short1h เพื่อรับการตอบกลับเป็นข้อความแบบกระชับพิเศษที่มีเฉพาะผลการคำนวณ Energy โดยไม่มีป้ายกำกับช่วงเวลาและราคาต่อหน่วย

กรณีที่ควรใช้

  • แดชบอร์ดตรวจสอบที่มีพื้นที่จำกัด
  • แอปพลิเคชันบนมือถือ
  • ความต้องการใช้แบนด์วิดท์ต่ำที่สุด
  • ให้ความสำคัญเฉพาะค่าใช้จ่ายขั้นสุดท้ายเท่านั้น

ตัวอย่างคำขอ

bash
curl -X GET https://netts.io/apiv2/prices \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -H "X-Format: short1h"

ตัวอย่างการตอบกลับแบบกระชับพิเศษ

text
65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)

คำอธิบายรูปแบบการตอบกลับ

รูปแบบกระชับพิเศษจะแสดงเฉพาะการคำนวณค่าใช้จ่ายที่สำคัญเท่านั้น:

องค์ประกอบคำอธิบายตัวอย่าง
65k=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 65,000 หน่วย Energy65k=1.755 TRX (0.52$)
131k=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 131,000 หน่วย Energy131k=3.537 TRX (1.05$)
1m=X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 1,000,000 หน่วย Energy1m=27.000 TRX (7.99$)

หมายเหตุ: รูปแบบนี้จะไม่รวมป้ายกำกับช่วงเวลาและราคาต่อหน่วย Energy เพื่อให้ได้ขนาดที่กะทัดรัดที่สุด

ชนิดของเนื้อหา (Content Type)

  • รูปแบบกระชับพิเศษ: text/plain

ตัวอย่าง Python

python
import requests

url = "https://netts.io/apiv2/prices"
headers = {
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip",
    "X-Format": "short1h"  # Request ultra-compact format
}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    print("Ultra-compact price data:")
    print(response.text)
    # Output: 65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)
else:
    print(f"Error: {response.status_code}")

รูปแบบการตอบกลับแบบจำนวนรายการ (count)

ใหม่ในเวอร์ชัน 2.3: ใช้ส่วนหัว X-Format: count เพื่อรับการคำนวณราคาสำหรับการสั่งซื้อจำนวนมาก โดยแสดงค่าใช้จ่ายสำหรับ 1, 2, 3, 5, 10 และ 20 คำสั่งซื้อ

กรณีที่ควรใช้

  • การแสดงราคาสำหรับการสั่งซื้อจำนวนมาก (Bulk order)
  • เครื่องคำนวณส่วนลดตามปริมาณ
  • เครื่องมือเปรียบเทียบราคา
  • การวางแผนจำนวนคำสั่งซื้อ
  • การประมาณการต้นทุนสำหรับหลายคำสั่งซื้อ

ตัวอย่างคำขอ

bash
curl -X GET https://netts.io/apiv2/prices \
  -H "X-API-KEY: your_api_key" \
  -H "X-Real-IP: your_whitelisted_ip" \
  -H "X-Format: count"

ตัวอย่างการตอบกลับแบบจำนวนรายการ

text
1-1.690 TRX (0.50$), 2-3.380 TRX (1.00$), 3-5.070 TRX (1.50$), 5-8.450 TRX (2.50$), 10-16.900 TRX (5.00$), 20-33.800 TRX (10.00$)

คำอธิบายรูปแบบการตอบกลับ

รูปแบบการนับจำนวนจะแสดงราคาที่คำนวณแล้วสำหรับปริมาณคำสั่งซื้อที่แตกต่างกัน:

องค์ประกอบคำอธิบายตัวอย่าง
1-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 1 คำสั่งซื้อ (65,000 หน่วย Energy)1-1.690 TRX (0.50$)
2-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 2 คำสั่งซื้อ (131,000 หน่วย Energy)2-3.380 TRX (1.00$)
3-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 3 คำสั่งซื้อ (3 × 65,000 Energy)3-5.070 TRX (1.50$)
5-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 5 คำสั่งซื้อ (5 × 65,000 Energy)5-8.450 TRX (2.50$)
10-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 10 คำสั่งซื้อ (10 × 65,000 Energy)10-16.900 TRX (5.00$)
20-X.XXX TRX (X.XX$)ค่าใช้จ่ายสำหรับ 20 คำสั่งซื้อ (20 × 65,000 Energy)20-33.800 TRX (10.00$)

สูตรการคำนวณ

1 order:  TRX cost = (price_sun_65k / 1,000,000) × 65,000
2 orders: TRX cost = (price_sun_131k / 1,000,000) × 131,000
3+ orders: TRX cost = (price_sun_65k / 1,000,000) × 65,000 × quantity
USD cost = TRX_cost × current_TRX_USD_rate

หมายเหตุ: อัตราแลกเปลี่ยน TRX/USD ดึงมาจากตาราง chain_param และแคชไว้เป็นเวลา 30 นาที

ชนิดของเนื้อหา (Content Type)

  • รูปแบบจำนวนรายการ: text/plain

ตัวอย่าง Python

python
import requests

url = "https://netts.io/apiv2/prices"
headers = {
    "X-API-KEY": "your_api_key",
    "X-Real-IP": "your_whitelisted_ip",
    "X-Format": "count"  # Request count format
}

response = requests.get(url, headers=headers)

if response.status_code == 200:
    print("Bulk order pricing:")
    print(response.text)
    # Output: 1-1.690 TRX (0.50$), 2-3.380 TRX (1.00$), 3-5.070 TRX (1.50$), ...
else:
    print(f"Error: {response.status_code}")

การตอบกลับ

การตอบกลับเมื่อสำเร็จ (200 OK)

json
{
    "status": "success",
    "current_utc_time": "2025-09-02 06:50:39",
    "current_utc_hour": 6,
    "active_period": "05:00-07:00",
    "last_update": "2025-09-02 08:05:03",
    "host_price": 2.989,
    "periods": [
        {
            "label": "Early Morning Hours (05:00-07:00 UTC)",
            "period": "05:00-07:00",
            "is_active": true,
            "prices": {
                "less_than_200k": {
                    "price_sun": 17
                },
                "equal_131k": {
                    "price_sun": 17
                },
                "more_than_200k": {
                    "price_sun": 17
                }
            }
        },
        {
            "label": "Morning Hours (07:00-11:00 UTC)",
            "period": "07:00-11:00",
            "is_active": false,
            "prices": {
                "less_than_200k": {
                    "price_sun": 17
                },
                "equal_131k": {
                    "price_sun": 17
                },
                "more_than_200k": {
                    "price_sun": 17
                }
            }
        }
    ]
}

ฟิลด์การตอบกลับ

ฟิลด์ชนิดคำอธิบาย
statusข้อความเป็น "success" เสมอสำหรับคำขอที่สำเร็จ
current_utc_timeข้อความเวลาเซิร์ฟเวอร์ปัจจุบันในรูปแบบ UTC
current_utc_hourจำนวนเต็มชั่วโมง UTC ปัจจุบัน (0-23)
active_periodข้อความช่วงเวลาของราคาที่กำลังใช้งานอยู่ในปัจจุบัน
last_updateข้อความเวลาล่าสุดที่มีการอัปเดตราคา
host_priceตัวเลขราคาโฮสต์ปัจจุบันในหน่วย TRX
periodsอาร์เรย์อาร์เรย์ของช่วงเวลาของราคาทั้งหมด
periods[].labelข้อความชื่อช่วงเวลาที่มนุษย์สามารถอ่านเข้าใจได้
periods[].periodข้อความช่วงเวลา (HH:MM-HH:MM)
periods[].is_activeบูลีนระบุว่าช่วงเวลานี้กำลังใช้งานอยู่หรือไม่
periods[].prices.less_than_200k.price_sunจำนวนเต็มราคาในหน่วย SUN สำหรับ Energy < 200,000 หน่วย
periods[].prices.equal_131k.price_sunจำนวนเต็มราคาในหน่วย SUN สำหรับ Energy 131,000 หน่วยพอดี
periods[].prices.more_than_200k.price_sunจำนวนเต็มราคาในหน่วย SUN สำหรับ Energy > 200,000 หน่วย

หมวดหมู่ปริมาณ Energy

หมวดหมู่คำอธิบายช่วงของ Energy
less_than_200kคำสั่งซื้อขนาดเล็ก< 200,000 หน่วย Energy
equal_131kคำสั่งซื้อมาตรฐาน131,000 หน่วย Energy พอดี
more_than_200kคำสั่งซื้อขนาดใหญ่> 200,000 หน่วย Energy

ช่วงเวลา

API ส่งคืนราคาสำหรับ 5 ช่วงเวลาที่แตกต่างกัน:

ช่วงเวลาช่วงเวลา (UTC)คำอธิบาย
Early Morning05:00-07:00ช่วงเวลาที่มีความต้องการใช้งานต่ำ
Morning07:00-11:00เริ่มต้นเวลาทำการ
Daytime11:00-21:00เวลาทำการที่มีการใช้งานสูงสุด
Evening21:00-23:00กิจกรรมช่วงค่ำ
Night23:00-05:00ช่วงเวลาที่มีความต้องการใช้งานต่ำที่สุด

ขีดจำกัดอัตราการเรียกใช้งาน (Rate Limits)

ขีดจำกัดอัตราการเรียกใช้งานต่อไปนี้มีผลกับเอนด์พอยต์นี้ (ต่อที่อยู่ IP):

ช่วงเวลาขีดจำกัดคำอธิบาย
1 นาที1 คำขอสูงสุด 1 คำขอต่อนาที
1 ชั่วโมง60 คำขอสูงสุด 60 คำขอต่อชั่วโมง

ส่วนหัวของขีดจำกัดอัตราการเรียกใช้งาน

http
RateLimit-Limit: 1
RateLimit-Remaining: 0
RateLimit-Reset: 21
X-RateLimit-Limit-Minute: 1
X-RateLimit-Remaining-Minute: 0
X-RateLimit-Limit-Hour: 60
X-RateLimit-Remaining-Hour: 59
Retry-After: 21

เรียกใช้งานเกินขีดจำกัด (429)

json
{
    "message": "API rate limit exceeded"
}

การตอบกลับเมื่อเกิดข้อผิดพลาด

ข้อผิดพลาดในการยืนยันตัวตน (401)

json
{
    "status": "error",
    "code": 401,
    "message": "Invalid API key or IP not in whitelist"
}

ข้อผิดพลาดภายในเซิร์ฟเวอร์ (500)

json
{
    "status": "error",
    "message": "Internal server error"
}

หมายเหตุ

  • ไม่จำเป็นต้องมีเนื้อหาของคำขอ (Request body) - นี่คือคำขอแบบ GET
  • ราคาทั้งหมดอยู่ในหน่วย SUN (1 TRX = 1,000,000 SUN)
  • ราคาจะแตกต่างกันไปตามปริมาณ Energy และช่วงเวลาของวัน (UTC)
  • ช่วงเวลาที่ใช้งานอยู่: มีการเปลี่ยนแปลงตลอดวันตามความต้องการใช้งาน
  • การจำกัดอัตราการเรียกใช้งาน: มีการจำกัดอย่างเข้มงวดเนื่องจากเป็นกระบวนการที่ทำงานกับฐานข้อมูลอย่างหนัก
  • การอัปเดตราคา: ราคามีการรีเฟรชจากฐานข้อมูลเป็นระยะ
  • เขตเวลา: เวลาทั้งหมดเป็นเวลาในรูปแบบ UTC