Time Status API
Host Mode में पतों (addresses) के लिए स्थिति (status) की जानकारी प्राप्त करें — आपके खाते के सभी पते, या कोई एक विशिष्ट पता।
यहाँ दो एंडपॉइंट हैं:
- POST /apiv2/time/status — आपके सभी पतों की स्थिति (वैकल्पिक पेजिनेशन और खाता-स्तरीय सारांश के साथ)।
- GET /apiv2/time/status/{address} — किसी एक विशिष्ट पते की स्थिति।
POST /apiv2/time/status
एंडपॉइंट URL
POST https://netts.io/apiv2/time/statusप्रमाणीकरण
अनुरोध के मुख्य भाग (request body) (api_key) में या X-API-KEY हेडर में अपनी API कुंजी प्रदान करें। अनुरोध का IP आपकी API कुंजी के लिए कॉन्फ़िगर की गई व्हाइटलिस्ट में होना चाहिए।
अनुरोध बॉडी
{
"api_key": "your_api_key",
"page": 1,
"page_size": 50
}| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| api_key | string | हाँ | API कुंजी (या X-API-KEY हेडर)। |
| page | integer | नहीं | पृष्ठ संख्या, ≥ 1। इसके लिए page_size आवश्यक है। |
| page_size | integer | नहीं | प्रति पृष्ठ पते, 1–100। इसके लिए page आवश्यक है। |
पेजिनेशन: यदि page और page_size दोनों प्रदान किए जाते हैं, तो परिणाम पेजिनेटेड होते हैं और एक pagination ऑब्जेक्ट शामिल होता है। उनके बिना, निर्माण समय (नवीनतम पहले) के अनुसार क्रमबद्ध सभी पते (1000 तक) लौटाए जाते हैं।
उदाहरण अनुरोध
cURL (सभी पते):
curl -X POST https://netts.io/apiv2/time/status \
-H "Content-Type: application/json" \
-d '{ "api_key": "YOUR_API_KEY_HERE" }'cURL (पेजिनेटेड):
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));प्रतिक्रिया
{
"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"
}
}पेजिनेशन के साथ, data में यह भी शामिल है:
"pagination": {
"page": 1,
"page_size": 50,
"total_items": 150,
"total_pages": 3,
"has_next": true,
"has_prev": false
}Summary फ़ील्ड्स
| फ़ील्ड | विवरण |
|---|---|
| total_addresses | आपके खाते के अंतर्गत पतों की संख्या |
| active_addresses | वर्तमान में सक्रिय पते |
| infinity_mode_count | infinity mode में चल रहे सक्रिय पते |
| total_cycles_ordered | खुले ऑर्डरों में ऑर्डर किए गए चक्रों का कुल योग (infinity ऑर्डर शामिल नहीं हैं) |
| total_open_orders | सभी पतों पर खुले ऑर्डरों की संख्या |
order_statistics फ़ील्ड्स
| फ़ील्ड | विवरण |
|---|---|
| total_orders | अब तक बनाए गए सभी ऑर्डर |
| open_orders | वर्तमान में खुले ऑर्डर |
| closed_orders | बंद ऑर्डर |
| total_cycles_in_open_orders | खुले ऑर्डरों में चक्र (infinity शामिल नहीं है) |
| total_delegations | आपके सभी पतों पर वास्तव में किए गए डेलिगेशन |
| total_amount_spent | वास्तव में शुल्क लिया गया, TRX में — वह राशि जो वास्तव में आपके बैलेंस से काटी गई है |
Address ऑब्जेक्ट फ़ील्ड्स
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
| address | string | TRON पता |
| status | string | "active" या "inactive" |
| mode | string | "normal", "infinity", या "off" (निष्क्रिय होने पर) |
| cycles_ordered | integer | null | खुले ऑर्डरों में ऑर्डर किए गए चक्र। infinity mode में null |
| cycle_set | integer | पते के लिए संग्रहीत cycle_set मान |
| cycles_completed | integer | पते को अंतिम बार शुरू किए जाने के बाद से उपयोग किए गए चक्र। जब आप मोड बंद करते हैं या ऑर्डर किए गए चक्र समाप्त हो जाते हैं, तो यह रीसेट हो जाता है |
| cycles_remaining | integer | null | cycles_ordered − cycles_completed। infinity mode में null |
| cycles_total_lifetime | integer | इस पते के पूरे इतिहास में सभी डेलिगेशन। कभी रीसेट नहीं होता |
| current_cycle_no | integer | null | पते के अंतिम बार शुरू होने के बाद से वर्तमान डेलिगेशन की स्थिति। जब कोई डेलिगेशन सक्रिय न हो तो null |
| open_orders | integer | पते के लिए खुले ऑर्डरों की संख्या |
| total_spent | number | इस पते के लिए वास्तव में शुल्क लिया गया, TRX में |
| bandwidth_delegated | boolean | क्या वर्तमान में Bandwidth डेलीगेट की गई है। Bandwidth मुफ़्त है और चक्र मूल्य में शामिल है |
| created_at | string | जोड़े जाने का ISO टाइमस्टैम्प |
| updated_at | string | अंतिम अपडेट का ISO टाइमस्टैम्प |
Infinity mode.
cycles_orderedऔरcycles_remainingnullहैं,0नहीं — उल्टी गिनती (काउन्टडाउन) के लिए कोई सीमा नहीं है।nullको "असीमित" के रूप में समझें, और इसे "कोई चक्र शेष नहीं है" के रूप में न पढ़ें।cycles_completedअभी भी एक वास्तविक संख्या दर्शाता है।
तीन चक्र काउंटर, तीन अर्थ।
cycles_completedकेवल पते के अंतिम बार शुरू होने के बाद से गणना करता है,cycles_total_lifetimeइसके पूरे इतिहास की गणना करता है, औरcurrent_cycle_noवर्तमान डेलिगेशन की स्थिति है। इनमें भिन्नता अपेक्षित है — एक पते के लिए आप एक ही समय में83,115और5देख सकते हैं।
त्रुटियाँ
सभी त्रुटियाँ code = -1 का उपयोग करती हैं:
| msg | कारण |
|---|---|
API key required in body or X-API-KEY header | कोई API कुंजी प्रदान नहीं की गई |
Invalid API key or IP not in whitelist | प्रमाणीकरण विफल रहा |
Page number must be >= 1 | page 1 से कम है |
Page size must be >= 1 | page_size 1 से कम है |
Page size must be <= 100 | page_size 100 से अधिक है |
Database error getting status | अस्थायी सर्वर-साइड त्रुटि — पुन: प्रयास करें |
Internal server error | अप्रत्याशित त्रुटि — पुन: प्रयास करें या सहायता से संपर्क करें |
GET /apiv2/time/status/
एकल पते के लिए स्थिति।
एंडपॉइंट URL
GET https://netts.io/apiv2/time/status/{address}प्रमाणीकरण
अपनी API कुंजी X-API-KEY हेडर में भेजें। अनुरोध का IP व्हाइटलिस्टेड होना चाहिए।
उदाहरण अनुरोध
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())प्रतिक्रिया
{
"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 ऊपर दिए गए एड्रेस ऑब्जेक्ट के समान फ़ील्ड्स का उपयोग करता है।
त्रुटियाँ
code = -1, उदाहरण के लिए:
| msg | कारण |
|---|---|
API key required in X-API-KEY header | हेडर मौजूद नहीं है |
Invalid API key or IP not in whitelist | प्रमाणीकरण विफल रहा |
Address not found or doesn't belong to user | इस खाते के लिए अज्ञात पता |
Database error getting address status | अस्थायी सर्वर-साइड त्रुटि — पुन: प्रयास करें |
Internal server error | अप्रत्याशित त्रुटि — पुन: प्रयास करें या सहायता से संपर्क करें |
HTTP स्थिति कोड
दोनों एंडपॉइंट अपनी त्रुटियों को HTTP 200 और ऋणात्मक code के साथ लौटाते हैं — code की जाँच करें, HTTP स्थिति की नहीं। त्रुटि प्रतिक्रियाओं (error bodies) में हमेशा "data": null शामिल होता है।
कुछ त्रुटियाँ अनुरोध के एंडपॉइंट तक पहुँचने से पहले ही लौटा दी जाती हैं। वे गैर-200 स्थिति और एक अलग प्रतिक्रिया संरचना (body shape) का उपयोग करती हैं:
| HTTP | बॉडी | कारण |
|---|---|---|
| 402 | {"detail": {"code": 1004, "msg": "Insufficient funds. Minimum balance is 4 TRX. Please top up your account."}} | खाते का बैलेंस बहुत कम है |
| 403 | {"detail": {"code": 1005, "msg": "API key is blocked. Contact support."}} | API कुंजी ब्लॉक है — सहायता से संपर्क करें |
| 422 | {"detail": [ … ]} | केवल POST — अनुरोध बॉडी का सत्यापन विफल रहा: किसी फ़ील्ड का प्रकार गलत है, या api_key के बिना page/page_size भेजे गए थे। ध्यान दें कि इस प्रतिक्रिया में कोई code फ़ील्ड नहीं है |
संबंधित एंडपॉइंट
- POST /apiv2/time/add — एक पता जोड़ें
- POST /apiv2/time/order — चक्र खरीदें
- POST /apiv2/time/infinitystart — infinity mode सक्षम करें
- POST /apiv2/time/stop — किसी पते को रोकें
- POST /apiv2/time/delete — किसी पते को हटाएं
नोट्स
- स्थिति एंडपॉइंट केवल पढ़ने के लिए (read-only) हैं।
- केवल आपके खाते से संबंधित पते ही लौटाए जाते हैं।
- टाइमस्टैम्प ISO 8601 स्ट्रिंग्स हैं।