Appearance
GET /apiv2/prices Deprecated
Deprecated
Endpoint ini telah kedaluwarsa (deprecated) dan akan dihapus dalam rilis mendatang. Silakan bermigrasi ke endpoint GET /apiv2/pricing baru yang menyediakan periode dinamis, pemfilteran layanan, diskon durasi, dan format respons yang terpadu.
Dapatkan harga sewa energy saat ini untuk berbagai periode waktu sepanjang hari.
Harga dapat berubah selama proses pemenuhan
Harga yang dikembalikan oleh endpoint ini dapat berubah saat pesanan sedang diproses. Penyedia energy dapat menolak permintaan delegasi, dalam hal ini Netts secara otomatis merutekan pesanan ke penyedia berikutnya yang tersedia. Netts berkomitmen tidak hanya untuk menawarkan harga yang paling kompetitif, tetapi juga untuk memastikan pasokan energy yang andal — oleh karena itu pesanan dapat dipenuhi dengan harga yang lebih tinggi daripada yang dikutip. Ini hanya berlaku untuk pesanan sebesar 300.000 unit energy ke atas.
URL Endpoint
GET https://netts.io/apiv2/pricesHeader Permintaan
| Header | Diperlukan | Deskripsi | Nilai |
|---|---|---|---|
| X-API-KEY | Ya | Kunci API Anda | string |
| X-Real-IP | Ya | Alamat IP dari whitelist | IP address |
| X-Format | Tidak | Format respons (default: extended JSON) | now, compact, short, short1h, count |
Parameter Permintaan
Tidak ada parameter yang diperlukan - mengembalikan semua informasi harga saat ini.
Contoh Permintaan
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')}")Format Respons Compact
Baru di v2.1: Gunakan header X-Format untuk mendapatkan respons teks ringkas alih-alih struktur JSON lengkap.
Kapan Menggunakannya
- Integrasi dengan sistem pemantauan
- Tampilan harga sederhana
- Pelacakan harga otomatis
- Kebutuhan bandwidth minimal
Contoh Permintaan
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"Contoh Respons Compact
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$)Penjelasan Format Respons
Format compact menyediakan:
| Komponen | Deskripsi | Contoh |
|---|---|---|
| Label periode | Periode penetapan harga aktif | Daytime Hours (11:00-21:00 UTC) |
| price=X sun | Harga per unit energy dalam SUN | price=27 sun |
| 65k=X.XXX TRX (X.XX$) | Biaya untuk 65.000 unit energy | 65k=1.755 TRX (0.52$) |
| 131k=X.XXX TRX (X.XX$) | Biaya untuk 131.000 unit energy | 131k=3.537 TRX (1.05$) |
| 1m=X.XXX TRX (X.XX$) | Biaya untuk 1.000.000 unit energy | 1m=27.000 TRX (7.99$) |
Rumus Perhitungan
TRX cost = (price_sun / 1,000,000) × energy_amount
USD cost = TRX_cost × current_TRX_USD_rateCatatan: Nilai tukar TRX/USD diambil dari tabel chain_param dan di-cache selama 30 menit.
Tipe Konten
- Format extended:
application/json - Format compact:
text/plain
Contoh 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}")Format Respons Ultra-Compact (short1h)
Baru di v2.2: Gunakan header X-Format: short1h untuk mendapatkan respons teks ultra-ringkas yang hanya berisi perhitungan energy, tanpa label periode dan harga per unit.
Kapan Menggunakannya
- Dasbor pemantauan dengan ruang terbatas
- Aplikasi seluler
- Kebutuhan bandwidth minimal
- Fokus hanya pada biaya akhir
Contoh Permintaan
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"Contoh Respons Ultra-Compact
text
65k=1.755 TRX (0.52$), 131k=3.537 TRX (1.05$), 1m=27.000 TRX (7.99$)Penjelasan Format Respons
Format ultra-compact hanya menyediakan perhitungan biaya penting:
| Komponen | Deskripsi | Contoh |
|---|---|---|
| 65k=X.XXX TRX (X.XX$) | Biaya untuk 65.000 unit energy | 65k=1.755 TRX (0.52$) |
| 131k=X.XXX TRX (X.XX$) | Biaya untuk 131.000 unit energy | 131k=3.537 TRX (1.05$) |
| 1m=X.XXX TRX (X.XX$) | Biaya untuk 1.000.000 unit energy | 1m=27.000 TRX (7.99$) |
Catatan: Format ini mengecualikan label periode dan harga per unit energy demi kekompakan maksimal.
Tipe Konten
- Format ultra-compact:
text/plain
Contoh 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}")Format Respons Count (count)
Baru di v2.3: Gunakan header X-Format: count untuk mendapatkan perhitungan harga pesanan massal yang menunjukkan biaya untuk 1, 2, 3, 5, 10, dan 20 pesanan.
Kapan Menggunakannya
- Tampilan harga pesanan massal
- Kalkulator diskon volume
- Alat perbandingan harga
- Perencanaan kuantitas pesanan
- Estimasi biaya untuk beberapa pesanan
Contoh Permintaan
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"Contoh Respons 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$)Penjelasan Format Respons
Format count menyediakan penetapan harga yang dihitung untuk berbagai jumlah pesanan:
| Komponen | Deskripsi | Contoh |
|---|---|---|
| 1-X.XXX TRX (X.XX$) | Biaya untuk 1 pesanan (65.000 unit energy) | 1-1.690 TRX (0.50$) |
| 2-X.XXX TRX (X.XX$) | Biaya untuk 2 pesanan (131.000 unit energy) | 2-3.380 TRX (1.00$) |
| 3-X.XXX TRX (X.XX$) | Biaya untuk 3 pesanan (3 × 65.000 energy) | 3-5.070 TRX (1.50$) |
| 5-X.XXX TRX (X.XX$) | Biaya untuk 5 pesanan (5 × 65.000 energy) | 5-8.450 TRX (2.50$) |
| 10-X.XXX TRX (X.XX$) | Biaya untuk 10 pesanan (10 × 65.000 energy) | 10-16.900 TRX (5.00$) |
| 20-X.XXX TRX (X.XX$) | Biaya untuk 20 pesanan (20 × 65.000 energy) | 20-33.800 TRX (10.00$) |
Rumus Perhitungan
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_rateCatatan: Nilai tukar TRX/USD diambil dari tabel chain_param dan di-cache selama 30 menit.
Tipe Konten
- Format count:
text/plain
Contoh 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}")Respons
Respons Sukses (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
}
}
}
]
}Bidang Respons
| Bidang | Tipe | Deskripsi |
|---|---|---|
| status | string | Selalu "success" untuk permintaan yang berhasil |
| current_utc_time | string | Waktu server saat ini dalam UTC |
| current_utc_hour | integer | Jam UTC saat ini (0-23) |
| active_period | string | Periode penetapan harga yang sedang aktif |
| last_update | string | Waktu terakhir harga diperbarui |
| host_price | number | Harga host saat ini dalam TRX |
| periods | array | Array dari semua periode penetapan harga |
| periods[].label | string | Nama periode yang mudah dibaca |
| periods[].period | string | Rentang waktu (HH:MM-HH:MM) |
| periods[].is_active | boolean | Apakah periode ini sedang aktif |
| periods[].prices.less_than_200k.price_sun | integer | Harga dalam SUN untuk energy < 200.000 unit |
| periods[].prices.equal_131k.price_sun | integer | Harga dalam SUN untuk tepat 131.000 unit |
| periods[].prices.more_than_200k.price_sun | integer | Harga dalam SUN untuk energy > 200.000 unit |
Kategori Jumlah Energy
| Kategori | Deskripsi | Rentang Energy |
|---|---|---|
| less_than_200k | Pesanan kecil | < 200.000 unit energy |
| equal_131k | Pesanan standar | Tepat 131.000 unit energy |
| more_than_200k | Pesanan besar | > 200.000 unit energy |
Periode Waktu
API mengembalikan harga untuk 5 periode waktu yang berbeda:
| Periode | Rentang Waktu (UTC) | Deskripsi |
|---|---|---|
| Early Morning | 05:00-07:00 | Periode permintaan lebih rendah |
| Morning | 07:00-11:00 | Jam kerja dimulai |
| Daytime | 11:00-21:00 | Jam kerja sibuk (peak) |
| Evening | 21:00-23:00 | Aktivitas malam |
| Night | 23:00-05:00 | Periode permintaan terendah |
Batas Laju (Rate Limits)
Batas laju berikut berlaku untuk endpoint ini (per alamat IP):
| Periode | Batas | Deskripsi |
|---|---|---|
| 1 menit | 1 permintaan | Maksimum 1 permintaan per menit |
| 1 jam | 60 permintaan | Maksimum 60 permintaan per jam |
Header Batas Laju
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: 21Batas Laju Terlampaui (429)
json
{
"message": "API rate limit exceeded"
}Respons Kesalahan
Kesalahan Autentikasi (401)
json
{
"status": "error",
"code": 401,
"message": "Invalid API key or IP not in whitelist"
}Kesalahan Server Internal (500)
json
{
"status": "error",
"message": "Internal server error"
}Catatan
- Tidak ada badan permintaan yang diperlukan - ini adalah permintaan GET
- Semua harga dalam SUN (1 TRX = 1.000.000 SUN)
- Harga bervariasi berdasarkan jumlah energy dan waktu (UTC)
- Active period: Berubah sepanjang hari berdasarkan permintaan
- Rate limiting: Pembatasan ketat karena operasi intensif basis data
- Price updates: Harga diperbarui dari basis data secara berkala
- Time zones: Semua waktu dalam UTC