Appearance
API Status Waktu
Dapatkan informasi status untuk alamat dalam Host Mode — semua alamat untuk akun Anda, atau satu alamat saja.
Terdapat dua endpoint:
- POST /apiv2/time/status — status untuk semua alamat Anda (dengan paginasi opsional dan ringkasan tingkat akun).
- GET /apiv2/time/status/{address} — status untuk satu alamat tertentu.
POST /apiv2/time/status
URL Endpoint
POST https://netts.io/apiv2/time/statusAutentikasi
Sediakan API key Anda di dalam body permintaan (api_key) atau header X-API-KEY. IP permintaan harus berada di dalam whitelist yang dikonfigurasi untuk API key Anda.
Body Permintaan
json
{
"api_key": "your_api_key",
"page": 1,
"page_size": 50
}| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| api_key | string | Ya | API key (atau header X-API-KEY). |
| page | integer | Tidak | Nomor halaman, ≥ 1. Memerlukan page_size. |
| page_size | integer | Tidak | Alamat per halaman, 1–100. Memerlukan page. |
Paginasi: jika page dan page_size keduanya diberikan, hasil akan dipaginasi dan objek pagination disertakan. Tanpa keduanya, semua alamat akan dikembalikan (hingga 1000), diurutkan berdasarkan waktu pembuatan (terbaru terlebih dahulu).
Contoh Permintaan
cURL (semua alamat):
bash
curl -X POST https://netts.io/apiv2/time/status \
-H "Content-Type: application/json" \
-d '{ "api_key": "YOUR_API_KEY_HERE" }'cURL (terpaginasi):
bash
curl -X POST https://netts.io/apiv2/time/status \
-H "Content-Type: application/json" \
-d '{ "api_key": "YOUR_API_KEY_HERE", "page": 1, "page_size": 50 }'Python:
python
import requests
resp = requests.post(
"https://netts.io/apiv2/time/status",
json={"api_key": "YOUR_API_KEY_HERE"}, # add "page"/"page_size" to paginate
timeout=30,
)
result = resp.json()
if result["code"] == 0:
for a in result["data"]["addresses"]:
# cycles_remaining is None in infinity mode — no limit to count down
left = "unlimited" if a["cycles_remaining"] is None else f"{a['cycles_remaining']} left"
print(a["address"], a["mode"], a["status"], left,
f"spent {a['total_spent']} TRX")
else:
print("Error:", result["msg"])Node.js:
javascript
const axios = require('axios');
axios.post('https://netts.io/apiv2/time/status', { api_key: 'YOUR_API_KEY_HERE' })
.then(({ data: result }) => {
if (result.code === 0) {
result.data.addresses.forEach(a => {
// cycles_remaining is null in infinity mode — no limit to count down
const left = a.cycles_remaining === null ? 'unlimited' : `${a.cycles_remaining} left`;
console.log(a.address, a.mode, a.status, left, `spent ${a.total_spent} TRX`);
});
} else {
console.error('Error:', result.msg);
}
})
.catch(err => console.error('Request failed:', err.response?.data || err.message));Respons
json
{
"code": 0,
"msg": "Status retrieved successfully",
"data": {
"summary": {
"total_addresses": 3,
"active_addresses": 2,
"infinity_mode_count": 1,
"total_cycles_ordered": 25,
"total_open_orders": 3
},
"order_statistics": {
"total_orders": 12,
"open_orders": 3,
"closed_orders": 9,
"total_cycles_in_open_orders": 25,
"total_delegations": 340,
"total_amount_spent": 1502.4471
},
"addresses": [
{
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"status": "active",
"mode": "normal",
"cycles_ordered": 25,
"cycle_set": 25,
"cycles_completed": 10,
"cycles_remaining": 15,
"cycles_total_lifetime": 214,
"current_cycle_no": 3,
"open_orders": 1,
"total_spent": 962.1184,
"bandwidth_delegated": true,
"created_at": "2026-07-08T12:00:00.000000",
"updated_at": "2026-07-09T10:00:00.000000"
},
{
"address": "TYn8Y3khEsLJW2ChVWFMSMeRDow6KcbMTF",
"status": "active",
"mode": "infinity",
"cycles_ordered": null,
"cycle_set": 0,
"cycles_completed": 83,
"cycles_remaining": null,
"cycles_total_lifetime": 115,
"current_cycle_no": 5,
"open_orders": 1,
"total_spent": 519.1234,
"bandwidth_delegated": true,
"created_at": "2026-07-08T08:00:00.000000",
"updated_at": "2026-07-09T09:30:00.000000"
}
],
"timestamp": "2026-07-09T12:34:50.123456"
}
}Dengan paginasi, data juga memuat:
json
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 150,
"total_pages": 3,
"has_next": true,
"has_prev": false
}Kolom summary
| Kolom | Deskripsi |
|---|---|
| total_addresses | Jumlah alamat di bawah akun Anda |
| active_addresses | Alamat yang saat ini aktif |
| infinity_mode_count | Alamat aktif yang berjalan dalam mode infinity |
| total_cycles_ordered | Jumlah siklus yang dipesan di seluruh pesanan terbuka (tidak termasuk pesanan infinity) |
| total_open_orders | Jumlah pesanan terbuka di semua alamat |
Kolom order_statistics
| Kolom | Deskripsi |
|---|---|
| total_orders | Semua pesanan yang pernah dibuat |
| open_orders | Pesanan yang saat ini terbuka |
| closed_orders | Pesanan yang sudah ditutup |
| total_cycles_in_open_orders | Siklus di seluruh pesanan terbuka (tidak termasuk infinity) |
| total_delegations | Delegasi yang benar-benar dilakukan di seluruh alamat Anda |
| total_amount_spent | Benar-benar ditagihkan, dalam TRX — jumlah yang benar-benar dipotong dari saldo Anda |
Kolom objek Address
| Kolom | Tipe | Deskripsi |
|---|---|---|
| address | string | Alamat TRON |
| status | string | "active" atau "inactive" |
| mode | string | "normal", "infinity", atau "off" (saat tidak aktif) |
| cycles_ordered | integer | null | Siklus yang dipesan dalam pesanan terbuka. null dalam mode infinity |
| cycle_set | integer | Nilai cycle_set yang tersimpan untuk alamat tersebut |
| cycles_completed | integer | Siklus yang digunakan sejak alamat terakhir kali dimulai. Direset ketika Anda menghentikan mode atau siklus yang dipesan habis |
| cycles_remaining | integer | null | cycles_ordered − cycles_completed. null dalam mode infinity |
| cycles_total_lifetime | integer | Semua delegasi untuk alamat ini sepanjang riwayatnya. Tidak pernah direset |
| current_cycle_no | integer | null | Urutan delegasi saat ini sejak alamat terakhir kali dimulai. null ketika tidak ada delegasi yang aktif |
| open_orders | integer | Jumlah pesanan terbuka untuk alamat tersebut |
| total_spent | number | Benar-benar ditagihkan untuk alamat ini, dalam TRX |
| bandwidth_delegated | boolean | Apakah Bandwidth saat ini didelegasikan. Bandwidth gratis dan sudah termasuk dalam harga siklus |
| created_at | string | Timestamp ISO saat ditambahkan |
| updated_at | string | Timestamp ISO pembaruan terakhir |
Mode infinity.
cycles_ordereddancycles_remainingbernilainull, bukan0— tidak ada batas untuk hitung mundur. Perlakukannullsebagai “tidak terbatas”, dan jangan mengartikannya sebagai “tidak ada siklus tersisa”.cycles_completedtetap melaporkan angka riil.
Tiga penghitung siklus, tiga arti.
cycles_completedhanya menghitung sejak alamat terakhir kali dimulai,cycles_total_lifetimemenghitung sepanjang seluruh riwayatnya, dancurrent_cycle_noadalah urutan dari delegasi saat ini. Nilai-nilai ini memang diharapkan berbeda — untuk satu alamat Anda mungkin melihat83,115, dan5pada saat yang sama.
Error
Semua error menggunakan code = -1:
| msg | Penyebab |
|---|---|
API key required in body or X-API-KEY header | Tidak ada API key yang diberikan |
Invalid API key or IP not in whitelist | Autentikasi gagal |
Page number must be >= 1 | page bernilai di bawah 1 |
Page size must be >= 1 | page_size bernilai di bawah 1 |
Page size must be <= 100 | page_size bernilai di atas 100 |
Database error getting status | Error sisi server sementara — coba lagi |
Internal server error | Error tak terduga — coba lagi atau hubungi dukungan |
GET /apiv2/time/status/
Status untuk satu alamat.
URL Endpoint
GET https://netts.io/apiv2/time/status/{address}Autentikasi
Kirim API key Anda di dalam header X-API-KEY. IP permintaan harus masuk dalam whitelist.
Contoh Permintaan
bash
curl -X GET "https://netts.io/apiv2/time/status/TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" \
-H "X-API-KEY: YOUR_API_KEY_HERE"python
import requests
address = "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
resp = requests.get(
f"https://netts.io/apiv2/time/status/{address}",
headers={"X-API-KEY": "YOUR_API_KEY_HERE"},
timeout=30,
)
print(resp.json())Respons
json
{
"code": 0,
"msg": "Address status retrieved successfully",
"data": {
"address_info": {
"address": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"status": "active",
"mode": "normal",
"cycles_ordered": 25,
"cycle_set": 25,
"cycles_completed": 10,
"cycles_remaining": 15,
"cycles_total_lifetime": 214,
"current_cycle_no": 3,
"open_orders": 1,
"total_spent": 962.1184,
"bandwidth_delegated": true,
"created_at": "2026-07-08T12:00:00.000000",
"updated_at": "2026-07-09T10:00:00.000000"
},
"timestamp": "2026-07-09T12:34:50.123456"
}
}address_info menggunakan kolom yang sama dengan objek alamat di atas.
Error
code = -1, sebagai contoh:
| msg | Penyebab |
|---|---|
API key required in X-API-KEY header | Header tidak ditemukan |
Invalid API key or IP not in whitelist | Autentikasi gagal |
Address not found or doesn't belong to user | Alamat tidak dikenal untuk akun ini |
Database error getting address status | Error sisi server sementara — coba lagi |
Internal server error | Error tak terduga — coba lagi atau hubungi dukungan |
Kode status HTTP
Kedua endpoint mengembalikan error mereka dengan HTTP 200 dan code bernilai negatif — periksa code, bukan status HTTP. Body error selalu menyertakan "data": null.
Beberapa error dikembalikan sebelum permintaan mencapai endpoint. Error tersebut menggunakan status non-200 dan format body yang berbeda:
| HTTP | Body | Penyebab |
|---|---|---|
| 402 | {"detail": {"code": 1004, "msg": "Insufficient funds. Minimum balance is 4 TRX. Please top up your account."}} | Saldo akun terlalu rendah |
| 403 | {"detail": {"code": 1005, "msg": "API key is blocked. Contact support."}} | API key diblokir — hubungi dukungan |
| 422 | {"detail": [ … ]} | Hanya POST — validasi body permintaan gagal: ada kolom yang memiliki tipe salah, atau page/page_size dikirim tanpa api_key. Perhatikan bahwa tidak ada kolom code dalam respons ini |
Endpoint Terkait
- POST /apiv2/time/add — menambahkan alamat
- POST /apiv2/time/order — membeli siklus
- POST /apiv2/time/infinitystart — mengaktifkan mode infinity
- POST /apiv2/time/stop — menghentikan alamat
- POST /apiv2/time/delete — menghapus alamat
Catatan
- Endpoint status bersifat read-only.
- Hanya alamat milik akun Anda yang akan dikembalikan.
- Timestamp berupa string ISO 8601.