POST /apiv2/order5m
Netts आंतरिक Energy पूलों के माध्यम से 5 मिनट का Energy रेंटल ऑर्डर बनाएं।
एंडपॉइंट URL
POST https://netts.io/apiv2/order5mअनुरोध हेडर
| Header | Required | Description |
|---|---|---|
| Content-Type | हाँ | application/json |
| X-API-KEY | हाँ | Netts डैशबोर्ड से आपकी API कुंजी |
| X-Real-IP | हाँ | आपकी श्वेतसूची (व्हाइटलिस्ट) से IP पता |
अनुरोध बॉडी
{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}अनुरोध पैरामीटर
| Parameter | Type | Required | Description |
|---|---|---|---|
| amount | integer | हाँ | किराए पर ली जाने वाली Energy की मात्रा (न्यूनतम: 61,000, अधिकतम: 650,000) |
| receiveAddress | string | हाँ | TRON पता जो Energy प्राप्त करेगा (TRC-20 प्रारूप) |
Energy सीमाएं
5 मिनट का एंडपॉइंट प्रति ऑर्डर 61,000 और 650,000 यूनिट के बीच Energy की मात्रा स्वीकार करता है। इस सीमा के बाहर के अनुरोधों को HTTP 400 के साथ अस्वीकार कर दिया जाएगा।
प्रदाता की जानकारी
5 मिनट के Energy ऑर्डर विशेष रूप से Netts आंतरिक Energy पूलों के माध्यम से पूरे किए जाते हैं। 1 घंटे वाले एंडपॉइंट के विपरीत, बाहरी प्रदाताओं का उपयोग नहीं किया जाता है।
उपलब्धता और पुनः प्रयास (रीट्राई) रणनीति
चूंकि डेलिगेशन केवल आंतरिक पूलों से आते हैं, इसलिए उच्च मांग की अवधि के दौरान अस्थायी अनुपलब्धता संभव है। यदि आपको 503 त्रुटि मिलती है, तो थोड़ी देर बाद अनुरोध का पुनः प्रयास करें या 1-घंटे वाले एंडपॉइंट का उपयोग करें, जिसके पास कई बाहरी प्रदाताओं तक पहुंच है।
उदाहरण
cURL
curl -X POST https://netts.io/apiv2/order5m \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}'Python
import requests
url = "https://netts.io/apiv2/order5m"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
payload = {
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
if response.status_code == 200:
detail = data.get('detail', {})
order_data = detail.get('data', {})
print(f"Order ID: {order_data.get('orderId')}")
print(f"Transaction Hash: {order_data.get('hash')}")
print(f"Energy Delivered: {order_data.get('energy')}")
print(f"Cost: {order_data.get('paidTRX')} TRX")
print(f"Delegate Address: {order_data.get('delegateAddress')}")
elif response.status_code == 503:
# Pool temporarily unavailable - retry or fallback to 1h
print("Pool busy, retrying in 2 seconds...")
else:
error_detail = data.get('detail', data)
print(f"Error Code: {error_detail.get('code', 'N/A')}")
print(f"Error Message: {error_detail.get('msg', error_detail)}")प्रतिक्रिया
सफल प्रतिक्रिया (200 OK)
{
"detail": {
"code": 10000,
"msg": "Successful, 1.430 TRX deducted",
"data": {
"orderId": "5Mb4ee11ef86",
"paidTRX": 1.43,
"hash": "3636f97dde244fca17cdc0b2cf7fd157...",
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
"energy": 65050
}
}
}पता सक्रियण के साथ सफलता (200 OK)
जब रिसीवर का पता TRON नेटवर्क पर सक्रिय नहीं होता है, तो Netts इसे स्वचालित रूप से सक्रिय कर देता है। सक्रियण लागत कुल राशि में जोड़ दी जाती है:
{
"detail": {
"code": 10000,
"msg": "Successful, 1.430 TRX for energy + 1.100 TRX for address activation",
"data": {
"orderId": "5Mb4ee11ef86",
"paidTRX": 2.53,
"hash": "3636f97dde244fca17cdc0b2cf7fd157...",
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
"energy": 65050,
"activationHash": "bab38070a64b237acc9110ecf5135acc..."
}
}
}प्रतिक्रिया फ़ील्ड
| Field | Type | Description |
|---|---|---|
| detail.code | integer | सफल ऑर्डर के लिए हमेशा 10000 |
| detail.msg | string | काटी गई राशि के साथ सफलता संदेश |
| detail.data.orderId | string | एकीकृत ऑर्डर ID (प्रारूप: 5M{id}) |
| detail.data.paidTRX | number | TRX में कुल लागत (यदि लागू हो तो सक्रियण शुल्क शामिल है) |
| detail.data.hash | string | डेलिगेशन लेन-देन का हैश |
| detail.data.delegateAddress | string | पूल का पता जिसने Energy डेलिगेट की |
| detail.data.energy | integer | Energy की मात्रा + बफ़र (आमतौर पर +50) |
| detail.data.activationHash | string | केवल तभी मौजूद होता है जब पता सक्रियण किया गया हो |
त्रुटि प्रतिक्रियाएं
अमान्य Energy मात्रा (400)
{
"code": 1003,
"msg": "Energy amount must be between 61000 and 650000. Requested: 50000"
}प्रमाणीकरण त्रुटि (401)
{
"detail": "Invalid API key or IP not in whitelist"
}अपर्याप्त शेष राशि (403)
{
"code": 1004,
"msg": "Insufficient funds. Required: 1.43 TRX, Available: 0.50 TRX"
}सेवा अनुपलब्ध (503)
{
"code": 5003,
"msg": "Service temporarily unavailable. Energy delegation failed after retries."
}503 त्रुटियों को संभालना
503 प्रतिक्रिया का अर्थ है कि आंतरिक पूल अस्थायी रूप से पूरी क्षमता पर हैं। अनुशंसित रणनीति:
- 2-3 सेकंड प्रतीक्षा करें और 5 मिनट के ऑर्डर का पुनः प्रयास करें
- यदि अभी भी अनुपलब्ध है, तो 1-घंटे वाले एंडपॉइंट का उपयोग करें जो कई प्रदाताओं का उपयोग करता है
आंतरिक सर्वर त्रुटि (500)
{
"code": 5000,
"msg": "Internal server error occurred"
}त्रुटि कोड संदर्भ
| Code | Description | HTTP Status |
|---|---|---|
10000 | सफलता | 200 |
10000 | सफलता (कैश की गई प्रतिक्रिया) | 208 |
- | डुप्लिकेट अनुरोध अभी भी संसाधित हो रहा है | 409 |
1003 | Energy की मात्रा सीमा से बाहर है | 400 |
1004 | अपर्याप्त शेष राशि | 403 |
1005 | उपयोगकर्ता भुगतानकर्ता का पता कॉन्फ़िगर नहीं है | 400 |
5000 | आंतरिक सर्वर त्रुटि | 500 |
5003 | Energy सेवा अनुपलब्ध | 503 |
दर सीमाएं
इस एंडपॉइंट पर निम्नलिखित दर सीमाएं लागू होती हैं (प्रति IP पता):
| Period | Limit | Description |
|---|---|---|
| 1 सेकंड | 50 अनुरोध | अधिकतम 50 अनुरोध प्रति सेकंड |
दर सीमा हेडर
RateLimit-Limit: 50
RateLimit-Remaining: 49
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 50
X-RateLimit-Remaining-Second: 49दर सीमा पार हो गई (429)
{
"message": "API rate limit exceeded"
}Idempotency
डुप्लिकेट ऑर्डर प्रोसेसिंग को रोकने के लिए API idempotency का समर्थन करता है। जब आप कई समान अनुरोध भेजते हैं, तो सिस्टम यह सुनिश्चित करता है कि ऑर्डर केवल एक बार संसाधित हो।
Idempotency कैसे काम करता है
अनुरोध की विशिष्टता निम्नलिखित के संयोजन द्वारा निर्धारित की जाती है:
- अनुरोध टाइमस्टैम्प (2-सेकंड विंडो)
- Energy राशि
- रिसीवर का पता
- API कुंजी
प्रत्येक अनुरोध को 2-सेकंड की विशिष्टता विंडो दी जाती है। इस विंडो के भीतर समान पैरामीटर वाले अनुरोधों को डुप्लिकेट माना जाता है।
अपनी स्वयं की कुंजी प्रदान करना
आप X-Idempotency-Key हेडर भेजकर idempotency को अपने नियंत्रण में ले सकते हैं। जब यह मौजूद होता है, तो केवल वही मान तय करता है कि अनुरोध दोबारा भेजा गया है या नहीं, और ऊपर दिए गए स्वचालित संयोजन का उपयोग नहीं किया जाता है। जब यह अनुपस्थित होता है, तो कुछ भी नहीं बदलता है — सर्वर आपके लिए कुंजी प्राप्त करता है।
नियम /apiv2/order1h के समान ही हैं:
| Header | X-Idempotency-Key |
| Format | ठीक 64 लोअरकेस हेक्साडेसिमल वर्ण — एक SHA-256 डाइजेस्ट |
| Lifetime | उस कुंजी वाले पहले अनुरोध से 24 घंटे |
| Scope | आपका खाता। किसी भिन्न खाते द्वारा भेजा गया वही मान कभी भी आपका परिणाम वापस नहीं करता है |
किसी अन्य आकार की कुंजी — डैश के साथ UUID, base64, अपरकेस हेक्स — को ऑर्डर दिए जाने से पहले और कोई भी शुल्क लिए जाने से पहले 400 के साथ अस्वीकार कर दिया जाता है:
{
"detail": "Invalid idempotency key format. Must be 64-character hexadecimal string."
}कुंजी को अपनी API कुंजी से प्राप्त करें ताकि यह आपके खाते के लिए अद्वितीय हो और पुनः प्रयास करने पर पुनरुत्पादित हो सके — इसका विस्तृत उदाहरण 1-घंटे वाले पृष्ठ पर है। जिस संदेश को आप हैश करते हैं उसमें किराये की अवधि शामिल करें: एक ही पते को 5 मिनट और 1 घंटे के लिए किराए पर लेना अलग-अलग ऑर्डर हैं, और दोनों के लिए एक ही कुंजी का पुनः उपयोग करने से दूसरे अनुरोध के लिए पहले ऑर्डर की प्रतिक्रिया वापस आती है।
दो समान ऑर्डर देना
घंटे वाले एंडपॉइंट के समान ही समस्या, एक व्यापक विंडो के साथ। दो समान ऑर्डर — एक ही पते पर समान राशि — एक पुनः प्रयास से अप्रभेद्य हैं, और केवल आने का समय ही उन्हें अलग करता है।
अपनी स्वयं की कुंजी के बिना:
| दोनों अनुरोधों के बीच का अंतर | क्या होता है |
|---|---|
| उसी 2-सेकंड की विंडो के भीतर | दूसरा अनुरोध दोहराव माना जाता है। यह निष्पादित नहीं किया जाता है: आपको 208 और पहले ऑर्डर की प्रतिक्रिया मिलती है। इसके लिए कोई शुल्क नहीं लिया जाता है |
| दो सेकंड से अधिक का अंतर | दो अलग-अलग कुंजियाँ — दोनों ऑर्डर दिए जाते हैं और दोनों का शुल्क लिया जाता है |
इसलिए दो समान ऑर्डरों के बीच दो सेकंड से अधिक का अंतर रखें, और स्थिति कोड पढ़ें: 208 का अर्थ है कि आपने जो ऑर्डर अभी भेजा है वह नहीं दिया गया था।
एक ठहराव केवल एक अस्थायी समाधान है, स्थायी समाधान नहीं — यह उन अनुरोधों को भी अलग करता है जिन्हें आप कभी दोहराना नहीं चाहते थे, जैसे टाइमआउट के बाद पुनः प्रयास या आपकी कतार द्वारा पुनः डिलीवर किया गया संदेश, और उनमें से प्रत्येक एक अलग शुल्क के साथ एक अलग ऑर्डर बन जाता है। अपनी स्वयं की कुंजी भेजना ही इसे वास्तव में हल करता है: एक नए ऑर्डर के लिए एक नया nonce, पुनः प्रयास के लिए पहले प्रयास का nonce। पूरा तर्क 1-घंटे वाले पृष्ठ पर है।
डुप्लिकेट अनुरोधों के लिए HTTP स्थिति कोड
| Status Code | Name | Description |
|---|---|---|
| 200 | OK | ऑर्डर सफलतापूर्वक संसाधित हुआ (पहला अनुरोध) |
| 208 | Already Reported | ऑर्डर पहले ही संसाधित हो चुका था, कैश की गई प्रतिक्रिया वापस लौटाई जा रही है |
| 409 | Conflict | अनुरोध वर्तमान में संसाधित हो रहा है, पुनः प्रयास न करें |
डुप्लिकेट अनुरोध - पहले ही संसाधित (208)
{
"detail": {
"code": 10000,
"msg": "Successful, 1.430 TRX deducted",
"data": {
"hash": "3636f97dde244fca17cdc0b2cf7fd157...",
"energy": 65050,
"orderId": "5Mb4ee11ef86",
"paidTRX": 1.43,
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq"
}
},
"idempotency": {
"status": "completed",
"cached": true,
"original_created_at": "2026-03-21T08:53:52.498000"
}
}डुप्लिकेट अनुरोध - अभी भी संसाधित हो रहा है (409)
{
"success": false,
"error": "duplicate_request_processing",
"message": "This request is currently being processed. Please wait and do not retry.",
"retry_after_seconds": 3
}सर्वोत्तम प्रथाएं
- समान पैरामीटर के साथ समानांतर अनुरोध न भेजें - प्रत्येक प्रतिक्रिया की प्रतीक्षा करें
- तुरंत पुनः प्रयास करने के बजाय प्रतीक्षा करके 409 प्रतिक्रियाओं को संभालें
- कैश की गई प्रतिक्रियाओं की पहचान करने के लिए
idempotency.cachedफ़ील्ड की जाँच करें
तुलना: 5-मिनट बनाम 1-घंटे के ऑर्डर
| Feature | 5-Minute Order | 1-Hour Order |
|---|---|---|
| Endpoint | /apiv2/order5m | /apiv2/order1h |
| अवधि | 5 मिनट | 1 घंटा |
| Energy सीमा | 61,000 - 650,000 | 61,000 - 3,000,000 |
| प्रदाता | केवल Netts आंतरिक पूल | आंतरिक पूल + बाहरी प्रदाता |
| कीमत | कम (5-मिनट की दर) | मानक प्रति घंटा दर |
| उपलब्धता | पीक समय के दौरान सीमित हो सकती है | उच्च (एकाधिक प्रदाता फ़ॉलबैक) |
| इसके लिए सर्वश्रेष्ठ | लगातार छोटे लेन-देन | बड़े या गारंटीकृत वितरण |
नोट्स
- सफल ऑर्डर पर Energy तुरंत डिलीवर की जाती है (आमतौर पर 0.5-2 सेकंड के भीतर)
- API प्रतिक्रिया टाइमआउट: अधिकतम 10 सेकंड (आंतरिक पुनः प्रयास शामिल हैं)
- पता सक्रियण: यदि रिसीवर का पता सक्रिय नहीं है, तो Netts इसे लागत मूल्य पर सक्रिय करता है। सक्रियण लागत प्रति पते पर केवल एक बार ली जाती है
- अवधि: निश्चित 5 मिनट (300 सेकंड)
- न्यूनतम Energy मात्रा: 61,000 यूनिट
- अधिकतम Energy मात्रा: 650,000 यूनिट प्रति ऑर्डर
- Energy बफ़र: +50 यूनिट स्वचालित रूप से जोड़ी गईं (निःशुल्क)
- ऑर्डर ID प्रारूप: एकीकृत ट्रैकिंग के लिए
5M{id} - मूल्य निर्धारण: Pricing API के माध्यम से दिन के समय के आधार पर गतिशील
- दर सीमित करना (Rate Limiting): प्रति IP पता 50 अनुरोध प्रति सेकंड
- केवल आंतरिक पूल: यदि पूल पूरी क्षमता पर हैं, तो थोड़ी देर बाद पुनः प्रयास करें या फ़ॉलबैक के रूप में 1-घंटे वाले एंडपॉइंट का उपयोग करें