Activator — पता सक्रियण
उस TRON पते को सक्रिय करें जिसका कभी ऑन-चेन उपयोग नहीं किया गया है। बिल्कुल नए पते का कोई खाता रिकॉर्ड नहीं होता है, इसलिए जब तक इसे सक्रिय नहीं किया जाता, तब तक यह डेलिगेट की गई Energy या Bandwidth प्राप्त नहीं कर सकता। यह एंडपॉइंट आपके लिए खाता बनाता है और सक्रियण लेनदेन हैश लौटाता है।
सक्रियण प्रति पते एक एकमुश्त (one-time) प्रक्रिया है। यदि पता पहले से ही सक्रिय है, तो एंडपॉइंट आपको इसकी जानकारी देता है और कोई शुल्क नहीं लेता है।
Endpoint बेस URL
https://netts.io/apiv2/activatorअनुरोध Headers
| Header | Required | Description |
|---|---|---|
| Content-Type | Yes | application/json |
| X-API-KEY | Yes | Netts डैशबोर्ड से आपकी API कुंजी |
आपकी user_id API कुंजी से ली गई है — आपको इसे कभी पास करने की आवश्यकता नहीं होती है।
सक्रिय करें — POST /apiv2/activator
अनुरोध Body
{ "targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE" }| Field | Type | Required | Description |
|---|---|---|---|
targetAddress | string | Yes | सक्रिय करने के लिए TRON पता। ^T[A-Za-z0-9]{33}$ (34 वर्ण, T से शुरू) से मेल खाना चाहिए। |
Response — सक्रिय किया गया (200, कोड 10000)
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX deducted",
"data": {
"orderId": "A123456",
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"activation_cost": 1.1,
"user_balance_before": 500.00,
"user_balance_after": 498.90,
"hash": "0000000000000000000000000000000000000000000000000000000000000000"
}
}
}| Field | Type | Description |
|---|---|---|
orderId | string | सक्रियण ऑर्डर संख्या, हमेशा A + अंक। समाधान (reconciliation) के लिए इसका उपयोग करें। |
targetAddress | string | वह पता जिसे सक्रिय किया गया था |
activation_cost | float | आपके शेष से काटी गई राशि, TRX में |
user_balance_before | float | कटौती से पहले का शेष |
user_balance_after | float | कटौती के बाद का शेष |
hash | string | सक्रियण लेनदेन हैश। इसे किसी भी TRON एक्सप्लोरर पर सत्यापित करें। |
Response — पहले से ही सक्रिय (200, कोड 2001)
तब लौटाया जाता है जब पता ऑन-चेन पहले से मौजूद होता है। कोई शुल्क नहीं लिया जाता है।
{
"detail": {
"code": 2001,
"msg": "Address is already activated",
"data": {
"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"status": "already_activated",
"user_balance": 500.00,
"activation_cost": 0,
"activation_required": false
}
}
}यह मानने से पहले कि कोई शुल्क लिया गया है, code की जाँच करें: 10000 का अर्थ है आपने भुगतान किया है, 2001 का अर्थ है आपने भुगतान नहीं किया है।
उदाहरण
curl -X POST https://netts.io/apiv2/activator \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-d '{"targetAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"}'मूल्य
| Item | Amount |
|---|---|
| सक्रियण | 1.1 TRX |
| पता पहले से ही सक्रिय है | 0 |
राशि निश्चित है और यह पते या नेटवर्क की स्थिति पर निर्भर नहीं करती है। यह सक्रियण सफल होने के समय आपके Netts शेष से काट ली जाती है — उससे पहले कभी नहीं। असफल सक्रियण पर कुछ भी खर्च नहीं होता है।
आपके शेष में लागत कवर होनी चाहिए, अन्यथा अनुरोध को 403 (1004) के साथ अस्वीकार कर दिया जाता है और कोई ऑर्डर नहीं बनता है।
आपको इसकी आवश्यकता कब होगी
- नए पते के लिए Energy या Bandwidth किराए पर लेने से पहले। गैर-मौजूद खाते के लिए डेलिगेशन विफल हो जाता है। पहले सक्रिय करें, फिर ऑर्डर करें।
- आपके द्वारा स्वयं जनरेट किए गए पते पर पहले इनकमिंग ट्रांसफर से पहले।
आपको ऐसे पते के लिए इस एंडपॉइंट को कॉल करने की आवश्यकता नहीं है, जिसने कभी भी TRX या टोकन प्राप्त किया हो — यह पहले से ही सक्रिय है, और कॉल केवल 2001 लौटाएगी।
नए पते के लिए Energy ऑर्डर करना
1-घंटे का Energy एंडपॉइंट ऑर्डर के हिस्से के रूप में एक गैर-सक्रिय प्राप्तकर्ता को अपने आप सक्रिय करता है, और सक्रियण लागत उस ऑर्डर में जोड़ दी जाती है। जब आप किसी किराये से पहले पता सक्रिय करना चाहते हैं, तब एक्टिवेटर को स्पष्ट रूप से कॉल करें — उदाहरण के लिए पहले Bandwidth टॉप अप करने के लिए, जिसके लिए एक सक्रिय खाते की आवश्यकता होती है।
समय (Timing)
सक्रियण एक वास्तविक ऑन-चेन लेनदेन है। एंडपॉइंट इसके प्रसारित होने और सक्रियण रिकॉर्ड लिखे जाने के बाद प्रतिक्रिया देता है, आमतौर पर कुछ सेकंड के भीतर।
पता केवल तभी उपयोग करने योग्य बनता है जब लेनदेन ब्लॉक में शामिल हो जाता है — प्रतिक्रिया के लगभग 3 सेकंड बाद तक, क्योंकि यही TRON ब्लॉक अंतराल है। यदि आपका अगला कदम पते के सक्रिय होने पर निर्भर करता है (उदाहरण के लिए Bandwidth का ऑर्डर देना), तो तुरंत कॉल करने के बजाय लौटाए गए hash द्वारा ऑन-चेन स्थिति की पुष्टि करें।
त्रुटि कोड संदर्भ
| Code | Description | HTTP Status |
|---|---|---|
10000 | पता सक्रिय किया गया, शेष काटा गया | 200 |
2001 | पता पहले से ही सक्रिय है, कोई शुल्क नहीं लिया गया | 200 |
-1 | अमान्य API कुंजी / IP श्वेतसूची में नहीं है | 401 |
1004 | अपर्याप्त निधि — संदेश बताता है कि क्या आवश्यक है और आपके पास क्या है | 403 |
- | अमान्य targetAddress प्रारूप (34 वर्ण होने चाहिए, T से शुरू होना चाहिए) | 422 |
5003 | सक्रियण विफल या सेवा अस्थायी रूप से अनुपलब्ध — बाद में पुनः प्रयास करें | 503 |
5000 | आंतरिक सर्वर त्रुटि | 500 |
503 का अर्थ है कि कोई शुल्क नहीं लिया गया और कोई पता सक्रिय नहीं किया गया: अनुरोध को सुरक्षित रूप से पुनः प्रयास किया जा सकता है।
दर सीमाएं
प्रति स्रोत IP सीमित:
| Period | Limit |
|---|---|
| 1 सेकंड | 5 अनुरोध |
| 1 मिनट | 60 अनुरोध |
Rate Limit Exceeded (429)
{ "message": "API rate limit exceeded" }पोस्टपेड खाते
पोस्टपेड बिलिंग वाले खाते समान एंडपॉइंट, हेडर और अनुरोध मुख्य भाग (request body) का उपयोग करते हैं। अंतर केवल इस बात का है कि सक्रियण का भुगतान कैसे किया जाता है:
- आपकी जमा राशि से कुछ भी नहीं काटा जाता है। प्रत्येक सफल सक्रियण को आपके अनुबंध में सहमत निपटान मुद्रा (settlement currency) में देय खाता शेष में जोड़ दिया जाता है। आप अपने समझौते के अनुसार चालान (invoice) द्वारा इसका भुगतान करते हैं।
- आपके खाते की एक क्रेडिट सीमा (credit limit) होती है। जब तक देय राशि सीमा के भीतर है, तब तक शून्य जमा के साथ भी सक्रियण स्वीकार किए जाते हैं।
- केवल पूर्ण सक्रियण का ही बिल भेजा जाता है। वह पता जो पहले से सक्रिय है (
2001) और असफल सक्रियण पर कोई लागत नहीं आती है।
अनुरोध पर Netts द्वारा किसी खाते के लिए पोस्टपेड बिलिंग सक्षम की जाती है। प्रत्येक प्रतिक्रिया आपको बताती है कि सक्रियण का भुगतान कैसे किया जाता है: paymentMode या तो postpaid है या prepaid।
अतिरिक्त अनुरोध फ़ील्ड
| Field | Type | Required | Description |
|---|---|---|---|
test | boolean | No | true — केवल मूल्य की गणना करें और पते की जाँच करें। कुछ भी सक्रिय या बिल नहीं किया जाता है |
freezePrice | boolean | No | true — 60 सेकंड के लिए अपने अनुबंध के तहत मूल्य तय (fix) करें। कुछ भी सक्रिय या बिल नहीं किया जाता है |
quoteId | string | No | उसी पते के लिए freezePrice द्वारा जारी किए गए कोटेशन (quote) के मूल्य पर सक्रिय करें |
priceCurrency | string | No | TRX (डिफ़ॉल्ट) या आपके अनुबंध की मुद्रा, जैसा कि settlement.asset में है। पोस्टपेड खातों के लिए आपके अनुबंध की मुद्रा में राशियाँ हमेशा शामिल होती हैं |
quoteId को test या freezePrice के साथ संयोजित नहीं किया जा सकता है। Request body में किसी भी अन्य फ़ील्ड को अस्वीकार कर दिया जाता है।
मूल्य जाँच (test: true)
{ "targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH", "test": true }{
"detail": {
"code": 10010,
"msg": "Test calculation",
"data": {
"amount": 1,
"unitPriceSun": null,
"discount": null,
"energyTRX": "0.000000",
"activationTRX": "1.100000",
"wouldCostTRX": "1.100000",
"paidTRX": 0,
"paymentMode": "postpaid",
"activationCheck": "inactive",
"alt": {"USDC": {"energy": "0.000000", "activation": "0.364333", "total": "0.364333"}},
"fxAt": "2026-10-19T07:17:33.475335+00:00",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH"
}
}
}activationCheck: inactive — पते को सक्रियण की आवश्यकता है और इसका बिल भेजा जाएगा; active — पता पहले से ही सक्रिय है, wouldCostTRX का मान 0 है; unknown — अभी जाँच नहीं की जा सकी।
alt.<currency> — आपके अनुबंध की मुद्रा में समान राशियाँ। fxAt — उपयोग की गई विनिमय दर का समय।
निश्चित-मूल्य कोटेशन (freezePrice: true)
"freezePrice": trueके साथ अनुरोध भेजें। प्रतिक्रिया में कोड10011(Quote issued), मूल्य जाँच के समान फ़ील्ड, साथ हीquoteIdऔरexpiresAtशामिल होते हैं।- 60 सेकंड के भीतर
"quoteId": "<quoteId>"और समानtargetAddressके साथ अनुरोध भेजें। - सक्रियण का बिल उद्धृत मूल्य पर दिया जाता है — कोटेशन के समय आपके अनुबंध के तहत निर्धारित मूल्य।
एक कोटेशन का उपयोग एक बार किया जा सकता है। समाप्त (expired) या पहले से उपयोग किए गए कोटेशन को अस्वीकार कर दिया जाता है और कुछ भी सक्रिय नहीं होता है।
सफल सक्रियण
{
"detail": {
"code": 10000,
"msg": "Address activated successfully, 1.1 TRX service cost, postpaid",
"data": {
"orderId": "A564125",
"targetAddress": "TSMARToKjQGxroMnPKK6o6d4876VkQmHEH",
"activation_cost": 1.1,
"user_balance_before": 0.0,
"user_balance_after": 0.0,
"hash": "bd9ea6ef92ce4ba6553af3930a03abe874cdfcc2399b7fdd9abdb11570de2920",
"paymentMode": "postpaid",
"activationTRX": "1.100000",
"totalTRX": "1.100000"
}
}
}| Field | Description |
|---|---|
activation_cost | TRX में सक्रियण की लागत। पोस्टपेड खातों के लिए इसे जमा राशि से नहीं काटा जाता है |
user_balance_before / user_balance_after | आपकी जमा राशि — पोस्टपेड खातों के लिए अपरिवर्तित |
paymentMode | postpaid |
activationTRX / totalTRX | सटीक राशियाँ, 6 दशमलव स्थान |
quoteId, alt | तब मौजूद होते हैं जब सक्रियण किसी कोटेशन के साथ किया गया हो |
क्रेडिट सीमा समाप्त (402)
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached"
}
}कुछ भी सक्रिय नहीं किया जाता है और कोई बिल नहीं भेजा जाता है। आपका भुगतान पंजीकृत होने या आपकी सीमा बढ़ाए जाने के बाद नए सक्रियण फिर से स्वीकार किए जाते हैं।
पोस्टपेड त्रुटि कोड
| Code | HTTP | Description |
|---|---|---|
10010 | 200 | मूल्य जाँच परिणाम (test) |
10011 | 200 | कोटेशन जारी किया गया (freezePrice) |
1004 | 402 | पोस्टपेड क्रेडिट सीमा समाप्त हो गई |
4100 | 400 | अमान्य अनुरोध |
4101 | 400 | असमर्थित priceCurrency |
4102 | 400 | quoteId को test या freezePrice के साथ संयोजित किया गया |
4103 | 409 | कोटेशन पहले ही उपयोग किया जा चुका है |
4104 | 409 | कोटेशन समाप्त हो गया है |
4106 | 404 | कोटेशन नहीं मिला |
4107 | 409 | अनुरोध पैरामीटर कोटेशन से भिन्न हैं |
4108 | 400 | अमान्य quoteId प्रारूप |
4109 | 422 | उप-खातों (sub-accounts) के लिए उपलब्ध नहीं है |
5032 | 503 | मूल्य अस्थायी रूप से अनुपलब्ध है |
5033 | 503 | विनिमय दर अस्थायी रूप से अनुपलब्ध है |
5034 | 503 | बिलिंग अस्थायी रूप से अनुपलब्ध है — सक्रियण स्वीकार नहीं किया गया |
5036 | 503 | क्रेडिट जाँच अस्थायी रूप से अनुपलब्ध है — बाद में पुनः प्रयास करें |
ऊपर दी गई सभी 4xx और 503 प्रतिक्रियाओं के लिए कुछ भी सक्रिय नहीं किया जाता है और कोई बिल नहीं बनता है।
नोट्स
- इडेमपोटेंसी (Idempotency) की जिम्मेदारी आपकी है। एंडपॉइंट में कोई इडेमपोटेंसी कुंजी नहीं है। उस पते के लिए अनुरोध दोहराना जो पहले से सक्रिय है, सुरक्षित और निःशुल्क (
2001) है, लेकिन एक ही बिल्कुल नए पते के लिए दो एक साथ किए गए अनुरोध दोनों आगे बढ़ सकते हैं। अपनी तरफ से प्रति पता सक्रियण को क्रमबद्ध (serialise) करें। orderIdप्रारूपA+ अंक है और यह सभी सक्रियणों में अद्वितीय होता है।- आज सक्रियण के लिए कोई वेबहुक नहीं भेजा जाता है — प्रतिक्रिया और
hashही पुष्टि हैं। वेबहुक वर्तमान में केवल पुष्टि किए गए Energy डेलिगेशन को कवर करते हैं, देखें Webhooks।