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

API Status Waktu

Dapatkan informasi status untuk alamat dalam Host Mode — semua alamat untuk akun Anda, atau satu alamat saja.

Terdapat dua endpoint:

  1. POST /apiv2/time/status — status untuk semua alamat Anda (dengan paginasi opsional dan ringkasan tingkat akun).
  2. GET /apiv2/time/status/{address} — status untuk satu alamat tertentu.

POST /apiv2/time/status

URL Endpoint

POST https://netts.io/apiv2/time/status

Autentikasi

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
}
ParameterTipeWajibDeskripsi
api_keystringYaAPI key (atau header X-API-KEY).
pageintegerTidakNomor halaman, ≥ 1. Memerlukan page_size.
page_sizeintegerTidakAlamat 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

KolomDeskripsi
total_addressesJumlah alamat di bawah akun Anda
active_addressesAlamat yang saat ini aktif
infinity_mode_countAlamat aktif yang berjalan dalam mode infinity
total_cycles_orderedJumlah siklus yang dipesan di seluruh pesanan terbuka (tidak termasuk pesanan infinity)
total_open_ordersJumlah pesanan terbuka di semua alamat

Kolom order_statistics

KolomDeskripsi
total_ordersSemua pesanan yang pernah dibuat
open_ordersPesanan yang saat ini terbuka
closed_ordersPesanan yang sudah ditutup
total_cycles_in_open_ordersSiklus di seluruh pesanan terbuka (tidak termasuk infinity)
total_delegationsDelegasi yang benar-benar dilakukan di seluruh alamat Anda
total_amount_spentBenar-benar ditagihkan, dalam TRX — jumlah yang benar-benar dipotong dari saldo Anda

Kolom objek Address

KolomTipeDeskripsi
addressstringAlamat TRON
statusstring"active" atau "inactive"
modestring"normal", "infinity", atau "off" (saat tidak aktif)
cycles_orderedinteger | nullSiklus yang dipesan dalam pesanan terbuka. null dalam mode infinity
cycle_setintegerNilai cycle_set yang tersimpan untuk alamat tersebut
cycles_completedintegerSiklus yang digunakan sejak alamat terakhir kali dimulai. Direset ketika Anda menghentikan mode atau siklus yang dipesan habis
cycles_remaininginteger | nullcycles_ordered − cycles_completed. null dalam mode infinity
cycles_total_lifetimeintegerSemua delegasi untuk alamat ini sepanjang riwayatnya. Tidak pernah direset
current_cycle_nointeger | nullUrutan delegasi saat ini sejak alamat terakhir kali dimulai. null ketika tidak ada delegasi yang aktif
open_ordersintegerJumlah pesanan terbuka untuk alamat tersebut
total_spentnumberBenar-benar ditagihkan untuk alamat ini, dalam TRX
bandwidth_delegatedbooleanApakah Bandwidth saat ini didelegasikan. Bandwidth gratis dan sudah termasuk dalam harga siklus
created_atstringTimestamp ISO saat ditambahkan
updated_atstringTimestamp ISO pembaruan terakhir

Mode infinity. cycles_ordered dan cycles_remaining bernilai null, bukan 0 — tidak ada batas untuk hitung mundur. Perlakukan null sebagai “tidak terbatas”, dan jangan mengartikannya sebagai “tidak ada siklus tersisa”. cycles_completed tetap melaporkan angka riil.

Tiga penghitung siklus, tiga arti. cycles_completed hanya menghitung sejak alamat terakhir kali dimulai, cycles_total_lifetime menghitung sepanjang seluruh riwayatnya, dan current_cycle_no adalah urutan dari delegasi saat ini. Nilai-nilai ini memang diharapkan berbeda — untuk satu alamat Anda mungkin melihat 83, 115, dan 5 pada saat yang sama.

Error

Semua error menggunakan code = -1:

msgPenyebab
API key required in body or X-API-KEY headerTidak ada API key yang diberikan
Invalid API key or IP not in whitelistAutentikasi gagal
Page number must be >= 1page bernilai di bawah 1
Page size must be >= 1page_size bernilai di bawah 1
Page size must be <= 100page_size bernilai di atas 100
Database error getting statusError sisi server sementara — coba lagi
Internal server errorError 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:

msgPenyebab
API key required in X-API-KEY headerHeader tidak ditemukan
Invalid API key or IP not in whitelistAutentikasi gagal
Address not found or doesn't belong to userAlamat tidak dikenal untuk akun ini
Database error getting address statusError sisi server sementara — coba lagi
Internal server errorError 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:

HTTPBodyPenyebab
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

Catatan

  • Endpoint status bersifat read-only.
  • Hanya alamat milik akun Anda yang akan dikembalikan.
  • Timestamp berupa string ISO 8601.