Time Status API
Host Mode'daki adresler için durum bilgilerini alın — hesabınızdaki tüm adresler veya tek bir adres.
İki uç nokta bulunmaktadır:
- POST /apiv2/time/status — tüm adreslerinizin durumu (isteğe bağlı sayfalama ve hesap düzeyinde özet ile).
- GET /apiv2/time/status/{address} — belirli tek bir adresin durumu.
POST /apiv2/time/status
Endpoint URL'si
POST https://netts.io/apiv2/time/statusKimlik Doğrulama
API anahtarınızı istek gövdesinde (api_key) veya X-API-KEY üstbilgisinde sağlayın. İstek IP'si, API anahtarınız için yapılandırılmış beyaz listede olmalıdır.
İstek Gövdesi
{
"api_key": "your_api_key",
"page": 1,
"page_size": 50
}| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
| api_key | string | Evet | API anahtarı (veya X-API-KEY üstbilgisi). |
| page | integer | Hayır | Sayfa numarası, ≥ 1. page_size gerektirir. |
| page_size | integer | Hayır | Sayfa başına adres sayısı, 1–100. page gerektirir. |
Sayfalama: Hem page hem de page_size sağlanırsa, sonuçlar sayfalanır ve bir pagination nesnesi dahil edilir. Bunlar olmadan, oluşturulma zamanına göre sıralanmış olarak (en yeniden başlayarak) tüm adresler döndürülür (en fazla 1000).
Örnek İstekler
cURL (tüm adresler):
curl -X POST https://netts.io/apiv2/time/status \
-H "Content-Type: application/json" \
-d '{ "api_key": "YOUR_API_KEY_HERE" }'cURL (sayfalanmış):
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:
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:
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));Yanıt
{
"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"
}
}Sayfalama ile birlikte, data ayrıca şunları içerir:
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 150,
"total_pages": 3,
"has_next": true,
"has_prev": false
}summary alanları
| Alan | Açıklama |
|---|---|
| total_addresses | Hesabınız altındaki adres sayısı |
| active_addresses | Şu anda aktif olan adresler |
| infinity_mode_count | Infinity modunda çalışan aktif adresler |
| total_cycles_ordered | Açık siparişlerdeki sipariş edilen döngülerin toplamı (infinity siparişleri hariç) |
| total_open_orders | Tüm adreslerdeki açık sipariş sayısı |
order_statistics alanları
| Alan | Açıklama |
|---|---|
| total_orders | Şimdiye kadar oluşturulmuş tüm siparişler |
| open_orders | Şu anda açık olan siparişler |
| closed_orders | Kapatılmış siparişler |
| total_cycles_in_open_orders | Açık siparişlerdeki döngüler (infinity hariç) |
| total_delegations | Tüm adreslerinizde fiilen gerçekleştirilen yetkilendirmeler |
| total_amount_spent | TRX cinsinden fiilen tahsil edilen — bakiyenizden gerçekten düşülen toplam tutar |
Adres nesnesi alanları
| Alan | Tür | Açıklama |
|---|---|---|
| address | string | TRON adresi |
| status | string | "active" veya "inactive" |
| mode | string | "normal", "infinity", veya "off" (etkin olmadığında) |
| cycles_ordered | integer | null | Açık siparişlerdeki sipariş edilen döngüler. Infinity modunda null |
| cycle_set | integer | Adres için saklanan cycle_set değeri |
| cycles_completed | integer | Adres en son başlatıldığından beri kullanılan döngüler. Modu durdurduğunuzda veya sipariş edilen döngüler tükendiğinde sıfırlanır |
| cycles_remaining | integer | null | cycles_ordered − cycles_completed. Infinity modunda null |
| cycles_total_lifetime | integer | Bu adres için tüm geçmişi boyunca yapılan tüm yetkilendirmeler. Asla sıfırlanmaz |
| current_cycle_no | integer | null | Adres en son başlatıldığından bu yana geçerli yetkilendirmenin sırası. Etkin bir yetkilendirme olmadığında null |
| open_orders | integer | Adres için açık sipariş sayısı |
| total_spent | number | Bu adres için TRX cinsinden fiilen tahsil edilen tutar |
| bandwidth_delegated | boolean | Bandwidth'in şu anda yetkilendirilip yetkilendirilmediği. Bandwidth ücretsizdir ve döngü fiyatına dahildir |
| created_at | string | Eklendiği zamanın ISO zaman damgası |
| updated_at | string | Son güncellemenin ISO zaman damgası |
Infinity modu.
cycles_orderedvecycles_remainingdeğerleri0değil,nullşeklindedir — geri sayılacak bir sınır yoktur.nulldeğerini "sınırsız" olarak kabul edin ve "hiç döngü kalmadı" şeklinde yorumlamayın.cycles_completedyine de gerçek bir sayı bildirir.
Üç döngü sayacı, üç farklı anlam.
cycles_completedyalnızca adres en son başlatıldığından beri sayar,cycles_total_lifetimetüm geçmişini sayar vecurrent_cycle_noise geçerli yetkilendirmenin sırasıdır. Farklı olmaları beklenir — tek bir adres için aynı anda83,115ve5görebilirsiniz.
Hatalar
Tüm hatalar code = -1 kullanır:
| msg | Neden |
|---|---|
API key required in body or X-API-KEY header | API anahtarı sağlanmadı |
Invalid API key or IP not in whitelist | Kimlik doğrulama başarısız oldu |
Page number must be >= 1 | page 1'den küçük |
Page size must be >= 1 | page_size 1'den küçük |
Page size must be <= 100 | page_size 100'den büyük |
Database error getting status | Sunucu tarafında geçici hata — tekrar deneyin |
Internal server error | Beklenmeyen hata — tekrar deneyin veya destek ile iletişime geçin |
GET /apiv2/time/status/
Tek bir adres için durum.
Endpoint URL'si
GET https://netts.io/apiv2/time/status/{address}Kimlik Doğrulama
API anahtarınızı X-API-KEY üstbilgisinde gönderin. İstek IP'si beyaz listede olmalıdır.
Örnek İstek
curl -X GET "https://netts.io/apiv2/time/status/TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" \
-H "X-API-KEY: YOUR_API_KEY_HERE"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())Yanıt
{
"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, yukarıdaki adres nesnesi ile aynı alanları kullanır.
Hatalar
code = -1, örneğin:
| msg | Neden |
|---|---|
API key required in X-API-KEY header | Eksik üstbilgi |
Invalid API key or IP not in whitelist | Kimlik doğrulama başarısız oldu |
Address not found or doesn't belong to user | Bu hesap için bilinmeyen adres |
Database error getting address status | Sunucu tarafında geçici hata — tekrar deneyin |
Internal server error | Beklenmeyen hata — tekrar deneyin veya destek ile iletişime geçin |
HTTP durum kodları
Her iki uç nokta da hatalarını HTTP 200 ve negatif bir code ile döndürür — HTTP durumunu değil, code değerini kontrol edin. Hata gövdeleri her zaman "data": null içerir.
Bazı hatalar istek uç noktaya ulaşmadan önce döndürülür. Bunlar 200 dışı bir durum ve farklı bir gövde yapısı kullanır:
| HTTP | Gövde | Neden |
|---|---|---|
| 402 | {"detail": {"code": 1004, "msg": "Insufficient funds. Minimum balance is 4 TRX. Please top up your account."}} | Hesap bakiyesi çok düşük |
| 403 | {"detail": {"code": 1005, "msg": "API key is blocked. Contact support."}} | API anahtarı engellendi — destek ile iletişime geçin |
| 422 | {"detail": [ … ]} | Yalnızca POST — istek gövdesi doğrulamadan geçemedi: bir alan yanlış türe sahip veya page/page_size parametreleri api_key olmadan gönderildi. Bu yanıtta code alanı bulunmadığına dikkat edin |
İlgili Uç Noktalar
- POST /apiv2/time/add — bir adres ekleyin
- POST /apiv2/time/order — döngü satın alın
- POST /apiv2/time/infinitystart — infinity modunu etkinleştirin
- POST /apiv2/time/stop — bir adresi durdurun
- POST /apiv2/time/delete — bir adresi kaldırın
Notlar
- Durum uç noktaları salt okunurdur.
- Yalnızca hesabınıza ait adresler döndürülür.
- Zaman damgaları ISO 8601 dizeleridir.