POST /apiv2/order1h
स्वचालित फ़ेलओवर के साथ एकाधिक Energy प्रदाताओं के माध्यम से 1 घंटे का Energy रेंटल ऑर्डर बनाएं।
एंडपॉइंट URL
POST https://netts.io/apiv2/order1hअनुरोध हेडर
| Header | Required | Description |
|---|---|---|
| Content-Type | Yes | application/json |
| X-API-KEY | Yes | Netts डैशबोर्ड से आपकी API कुंजी |
| X-Real-IP | Yes | आपकी श्वेतसूची (whitelist) से IP पता |
अनुरोध बॉडी
{
"amount": 131000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}अनुरोध पैरामीटर
| Parameter | Type | Required | Description |
|---|---|---|---|
| amount | integer | Yes | किराए पर ली जाने वाली Energy की मात्रा (न्यूनतम: 61000, अधिकतम: 3000000) |
| receiveAddress | string | Yes | TRON पता जो Energy प्राप्त करेगा (TRC-20 प्रारूप) |
प्रदाता चयन
API स्वचालित रूप से निम्नलिखित के आधार पर इष्टतम Energy प्रदाता का चयन करता है:
- लागत दक्षता - हमेशा न्यूनतम उपलब्ध मूल्य ढूँढता है
- उपलब्धता - पर्याप्त Energy भंडार सुनिश्चित करता है
- विश्वसनीयता - उच्च सफलता दर वाले प्रदाताओं का उपयोग करता है
- गति - सबसे तेज़ डिलीवरी समय को प्राथमिकता देता है
उदाहरण
cURL
curl -X POST https://netts.io/apiv2/order1h \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-H "X-Real-IP: your_whitelisted_ip" \
-d '{
"amount": 131000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}'Python
import requests
url = "https://netts.io/apiv2/order1h"
headers = {
"Content-Type": "application/json",
"X-API-KEY": "your_api_key",
"X-Real-IP": "your_whitelisted_ip"
}
payload = {
"amount": 131000,
"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')}")
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, 2.23 TRX deducted",
"data": {
"orderId": "1H123456",
"paidTRX": 2.23,
"hash": "a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456",
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq",
"energy": 131050
}
}
}प्रतिक्रिया फ़ील्ड्स
| Parameter | Type | Description |
|---|---|---|
| detail.code | integer | सफल ऑर्डरों के लिए हमेशा 10000 |
| detail.msg | string | काटी गई राशि के साथ सफलता संदेश |
| detail.data.orderId | string | एकीकृत ऑर्डर ID (प्रारूप: 1H{request_id}) |
| detail.data.paidTRX | number | TRX में कुल लागत (यदि पता सक्रिय नहीं था तो सक्रियण शुल्क शामिल है) |
| detail.data.hash | string | null | ट्रांजेक्शन हैश। फ़ील्ड हमेशा मौजूद रहती है लेकिन खाली हो सकती है - कुछ प्रदाता तुरंत हैश नहीं लौटाते हैं। हैश प्राप्त करने के लिए 1 मिनट के बाद /apiv2/order_check का उपयोग करें |
| detail.data.delegateAddress | string | पूल का पता जिसने Energy डेलिगेट की |
| detail.data.energy | integer | Energy मात्रा + बफ़र (आमतौर पर +50) |
त्रुटि प्रतिक्रियाएं
प्रमाणीकरण त्रुटि (401)
{
"detail": "Invalid API key or IP not in whitelist"
}अपर्याप्त शेष राशि (403)
{
"code": 1004,
"msg": "Insufficient funds. Required: 2.23 TRX, Available: 1.50 TRX"
}सेवा अनुपलब्ध (503)
{
"code": 5003,
"msg": "Service temporarily unavailable. All energy providers are currently unavailable."
}प्रदाता त्रुटियाँ (503)
{
"code": 5001,
"msg": "Energy provider temporarily unavailable"
}{
"code": 5002,
"msg": "Energy provider temporarily unavailable"
}{
"code": 5004,
"msg": "Energy provider requires higher minimum amount"
}आंतरिक सर्वर त्रुटि (500)
{
"code": 5000,
"msg": "Internal server error occurred"
}त्रुटि कोड संदर्भ
| Parameter | Description | HTTP Status |
|---|---|---|
10000 | सफलता | 200 |
10000 | सफलता (कैश की गई प्रतिक्रिया) | 208 |
- | डुप्लिकेट अनुरोध अभी भी संसाधित हो रहा है | 409 |
1004 | अपर्याप्त शेष राशि | 403 |
5000 | आंतरिक सर्वर त्रुटि | 500 |
5001 | Energy प्रदाता अनुपलब्ध | 503 |
5002 | Energy प्रदाता अनुपलब्ध | 503 |
5003 | Energy सेवा अनुपलब्ध | 503 |
5004 | Energy प्रदाता की न्यूनतम आवश्यकता पूरी नहीं हुई | 503 |
दर सीमाएं
इस एंडपॉइंट पर निम्नलिखित दर सीमाएं लागू होती हैं (प्रति IP पता):
| Parameter | 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 इडेम्पोटेंसी का समर्थन करता है। जब आप एकाधिक समान अनुरोध भेजते हैं, तो सिस्टम सुनिश्चित करता है कि ऑर्डर केवल एक बार ही संसाधित हो।
इडेम्पोटेंसी कैसे काम करती है
अनुरोध की विशिष्टता निम्नलिखित के संयोजन द्वारा निर्धारित की जाती है:
- अनुरोध टाइमस्टैम्प (1-सेकंड की विंडो)
- Energy मात्रा
- प्राप्तकर्ता का पता
- API कुंजी
प्रत्येक अनुरोध को 1-सेकंड की विशिष्टता विंडो दी जाती है। सिस्टम को दुरुपयोग से बचाने और उचित प्रोसेसिंग सुनिश्चित करने के लिए, समान मापदंडों वाले अनुरोध प्रति सेकंड एक बार से अधिक बारंबारता से नहीं भेजे जा सकते हैं।
वर्तमान व्यवहार: सिस्टम ग्राहकों को पहले से ऑर्डर की गई Energy पर अनपेक्षित पुनः प्रयासों से स्वचालित रूप से सुरक्षित करता है। यदि आप गलती से एक ही अनुरोध दो बार भेजते हैं, तो आपसे दो बार शुल्क नहीं लिया जाएगा।
अपनी स्वयं की कुंजी की आपूर्ति करना
आप X-Idempotency-Key हेडर भेजकर इडेम्पोटेंसी को अपने हाथों में ले सकते हैं। जब यह मौजूद होता है, तो केवल वही मान तय करता है कि क्या कोई अनुरोध दोहराया गया है, और ऊपर दिए गए स्वचालित संयोजन का उपयोग नहीं किया जाता है। जब यह अनुपस्थित होता है, तो कुछ भी नहीं बदलता है — सर्वर आपके लिए कुंजी प्राप्त करता है।
| Header | X-Idempotency-Key |
| प्रारूप | ठीक 64 लोअरकेस हेक्साडेसिमल वर्ण — एक SHA-256 डाइजेस्ट |
| जीवनकाल | उस कुंजी को ले जाने वाले पहले अनुरोध से 24 घंटे |
| दायरा | आपका खाता। किसी भिन्न खाते द्वारा भेजा गया समान मान कभी भी आपका परिणाम नहीं लौटाता है |
किसी भी अन्य आकार की कुंजी — डैश के साथ एक UUID, base64, अपरकेस हेक्स — ऑर्डर दिए जाने से पहले और कोई शुल्क लिए जाने से पहले 400 के साथ अस्वीकार कर दी जाती है:
{
"detail": "Invalid idempotency key format. Must be 64-character hexadecimal string."
}प्रारूप अन्य एंडपॉइंट्स से भिन्न है।
/apiv2/withdraw,/apiv2/bandwidthऔर ऑर्केस्ट्रेटर 16–64 वर्णों की base64 कुंजी स्वीकार करते हैं। यह एंडपॉइंट केवल 64-वर्णों का हेक्स डाइजेस्ट स्वीकार करता है, इसलिए उन एंडपॉइंट्स से कॉपी किया गया कुंजी-निर्माण कोड यहाँ 400 लौटाता है।
कुंजी कैसे बनाएं
इसे अपनी API कुंजी से प्राप्त करें। यह मान को आपके खाते के लिए अद्वितीय बनाता है, पुनः प्रयास पर प्रतिलिपि प्रस्तुत करने योग्य बनाता है, और किसी अन्य के लिए उस तक पहुंचना असंभव बनाता है:
import hashlib
import hmac
def make_idempotency_key(api_key: str, address: str, amount: int, nonce: str) -> str:
message = f"{address}:{amount}:{nonce}"
return hmac.new(api_key.encode(), message.encode(), hashlib.sha256).hexdigest()
nonceऑर्डर से संबंधित है, अनुरोध से नहीं। इसे एक बार चुनें, जब आपकी ओर से ऑर्डर बनाया जाता है, और उस ऑर्डर के प्रत्येक भेजने पर वही मान पास करें — पहला प्रयास और प्रत्येक पुनः प्रयास समान रूप से। भेजने वाले फ़ंक्शन के अंदर एक नया मान उत्पन्न करना (प्रत्येक कॉल परstr(uuid.uuid4())) प्रत्येक प्रयास को एक अलग कुंजी देता है, इसलिए टाइमआउट के बाद पुनः प्रयास को दूसरे ऑर्डर के रूप में स्वीकार किया जाता है और फिर से शुल्क लिया जाता है। सबसे सरल सही विकल्प वह ऑर्डर आईडी है जो आपके पास पहले से है: यह पहले प्रयास से पहले मौजूद होती है और आपकी प्रक्रिया के पुनः आरंभ होने के बाद भी बनी रहती है।
# एक बार, जब ऑर्डर आपके सिस्टम में दिखाई देता है
order = create_order(address="TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE", amount=131000)
# पहले प्रयास पर और प्रत्येक पुनः प्रयास पर — वही तीन इनपुट, वही कुंजी
key = make_idempotency_key(API_KEY, order.address, order.amount, order.id)
headers = {
"Content-Type": "application/json",
"X-API-KEY": API_KEY,
"X-Idempotency-Key": key,
}एक कुंजी 24 घंटे तक सक्रिय रहती है। उसके बाद वही nonce फिर से स्वतंत्र हो जाता है और एक नया ऑर्डर शुरू करता है।
ऐसे मान का उपयोग न करें जिस पर कोई अन्य व्यक्ति पहुँच सके — 64 शून्य, एक निश्चित शब्द का डाइजेस्ट। कुंजियाँ सभी खातों में एक ही स्थान साझा करती हैं। ऐसा टकराव कभी भी किसी अन्य खाते के ऑर्डर को उजागर नहीं करता है, लेकिन आपके अनुरोध को उनकी कुंजी समाप्त होने तक 409 के साथ अस्वीकार कर दिया जाता है, जो कि पुनः प्रयास के बीच में वह उत्तर नहीं है जो आप चाहते हैं।
दो समान ऑर्डर देना
कभी-कभी आप वास्तव में एक ही ऑर्डर दो बार चाहते हैं — समान पते पर समान मात्रा में Energy, एक के बाद एक। स्वचालित कुंजी इसे पुनः प्रयास से अलग नहीं बता सकती: दोनों अनुरोध बाइट-दर-बाइट समान हैं, और केवल उनके आने का क्षण ही उन्हें अलग करता है।
अपनी स्वयं की कुंजी के बिना, परिणाम उनके बीच के अंतर पर निर्भर करता है:
| दो अनुरोधों के बीच का अंतर | क्या होता है |
|---|---|
| उसी 1-सेकंड की विंडो के अंदर | दूसरे अनुरोध को दोहराव माना जाता है। इसे निष्पादित नहीं किया जाता है: आपको 208 और पहले ऑर्डर की प्रतिक्रिया मिलती है, जिसमें orderId शामिल है। इसके लिए कुछ भी शुल्क नहीं लिया जाता है |
| एक सेकंड से अधिक का अंतर | दो अलग-अलग कुंजियाँ — दोनों ऑर्डर दिए जाते हैं और दोनों पर शुल्क लिया जाता है |
इसलिए यदि आप स्वचालित कुंजी पर भरोसा करते हैं, तो दो समान ऑर्डरों के बीच एक सेकंड से अधिक का समय छोड़ें, और स्थिति कोड पढ़ें: 208 का अर्थ है कि आपने जो ऑर्डर अभी भेजा है वह नहीं दिया गया था।
रोकना (pause) एक अस्थायी समाधान (workaround) है, कोई स्थायी समाधान नहीं। यह प्रत्येक अनुरोध को अलग करता है, जिसमें वे अनुरोध भी शामिल हैं जिन्हें आपने कभी दोहराने का इरादा नहीं किया था — टाइमआउट के बाद पुनः प्रयास, डबल क्लिक, आपकी कतार द्वारा पुनः वितरित किया गया संदेश। वे भी विंडो के बाद आते हैं, इसलिए उन्हें अलग-अलग ऑर्डर के रूप में रखा जाता है और अलग से शुल्क लिया जाता है। इस एंडपॉइंट का प्रतिक्रिया टाइमआउट 10 सेकंड है, जो पहले से ही विंडो से बहुत बाहर है: स्वचालित कुंजी उस पुनः प्रयास की रक्षा नहीं करती है जो टाइमआउट के बाद होता है।
आपकी अपनी कुंजी अनुमान लगाने की आवश्यकता को समाप्त कर देती है, क्योंकि निर्णय एकमात्र उस पक्ष के पास चला जाता है जो उत्तर जानता है:
| आप क्या कर रहे हैं | आप क्या भेजते हैं | परिणाम |
|---|---|---|
| दूसरा, वास्तव में नया ऑर्डर | एक नया nonce | एक नई कुंजी — ऑर्डर दिया जाता है |
| किसी ऐसे ऑर्डर का पुनः प्रयास जिसका परिणाम आप नहीं जानते | पहले प्रयास का nonce | वही कुंजी — 208, मूल प्रतिक्रिया, कोई दूसरा शुल्क नहीं |
दूसरी पंक्ति ही वह कारण है जिसके लिए हेडर मौजूद है, और यहीं पर कार्यान्वयन में आमतौर पर चूक होती है: कुंजी कैसे बनाएं के अंतर्गत नोट देखें।
डुप्लिकेट अनुरोधों के लिए HTTP स्थिति कोड
| Status Code | Name | Description |
|---|---|---|
| 200 | OK | ऑर्डर सफलतापूर्वक संसाधित हुआ (पहला अनुरोध) |
| 208 | Already Reported | ऑर्डर पहले ही संसाधित हो चुका था, कैश की गई प्रतिक्रिया लौटा रहा है |
| 409 | Conflict | अनुरोध वर्तमान में संसाधित किया जा रहा है, पुनः प्रयास न करें |
डुप्लिकेट अनुरोध - पहले ही संसाधित (208)
जब पहले से पूर्ण हो चुके ऑर्डर के लिए डुप्लिकेट अनुरोध प्राप्त होता है:
{
"detail": {
"code": 10000,
"msg": "Successful, 2.54 TRX deducted",
"data": {
"hash": "9e4c20e21e01e4c39b21b670d1ea1fc1e4b0de94d8fbd4c190d5378ba911dfae",
"energy": 65050,
"orderId": "1H70bcc7962a",
"paidTRX": 2.535,
"delegateAddress": "TNp5gsJhBmZFXgCdgjMgr8pEZ8fHgXUHDq"
}
},
"idempotency": {
"status": "completed",
"cached": true,
"original_created_at": "2025-12-03T10:34:49.104896"
}
}प्रतिक्रिया बॉडी मूल सफल प्रतिक्रिया के समान होती है, जिसमें एक अतिरिक्त idempotency ऑब्जेक्ट होता है जो दर्शाता है कि यह एक कैश की गई प्रतिक्रिया है।
डुप्लिकेट अनुरोध - अभी भी संसाधित हो रहा है (409)
जब कोई डुप्लिकेट अनुरोध तब आता है जब मूल अनुरोध अभी भी संसाधित हो रहा होता है:
{
"success": false,
"error": "duplicate_request_processing",
"message": "This request is currently being processed. Please wait and do not retry.",
"idempotency_key": "b9e67b2412d33c92a4f0e1c3d5b7a9f2e4c6d8b0a2f4e6c8d0b2a4f6e8c0d2b4",
"retry_after_seconds": 3
}सिफारिश: ऑर्डर की स्थिति जांचने से पहले निर्दिष्ट retry_after_seconds तक प्रतीक्षा करें।
सर्वोत्तम प्रथाएं
- समान मापदंडों के साथ समानांतर अनुरोध न भेजें - प्रत्येक प्रतिक्रिया की प्रतीक्षा करें
- प्रत्येक नए ऑर्डर के लिए एक नए
nonceका उपयोग करें, और इसके प्रत्येक पुनः प्रयास के लिए पहले प्रयास केnonceका उपयोग करें - भेजने के समय कभी भी
nonceका पुनर्निर्माण न करें — पुनः प्रयास में पहले प्रयास की कुंजी को ही पुनरुत्पादित किया जाना चाहिए, कोई नई कुंजी नहीं - तुरंत पुनः प्रयास करके नहीं, बल्कि प्रतीक्षा करके 409 प्रतिक्रियाओं को संभालें
- कैश की गई प्रतिक्रियाओं की पहचान करने के लिए
idempotency.cachedफ़ील्ड की जांच करें —208का अर्थ है कि आपने जो ऑर्डर अभी भेजा है वह नहीं दिया गया था
पोस्टपेड खाते
पोस्टपेड बिलिंग वाले खाते बाकी सभी की तरह समान एंडपॉइंट, URL, हेडर और अनुरोध बॉडी का उपयोग करते हैं। अंतर केवल इस बात में है कि ऑर्डर का भुगतान कैसे किया जाता है:
- आपकी जमा राशि से कुछ भी नहीं काटा जाता है। प्रत्येक सफल ऑर्डर आपके खाते की देय शेष राशि में आपके अनुबंध में सहमत निपटान मुद्रा में जोड़ दिया जाता है। आप अपने समझौते के अनुसार चालान (invoice) द्वारा इसका भुगतान करते हैं।
- आपके खाते की एक क्रेडिट सीमा होती है। जब तक देय राशि सीमा के भीतर है, शून्य जमा के साथ भी ऑर्डर स्वीकार किए जाते हैं।
- केवल वितरित सेवाओं का ही बिल भेजा जाता है। जो ऑर्डर अस्वीकार कर दिया जाता है या निष्पादित नहीं होता है, उसकी कोई लागत नहीं होती है।
- यदि प्राप्तकर्ता पते को सक्रिय करना पड़ता है, तो सक्रियण उसी ऑर्डर का हिस्सा होता है और इसका बिल एक अलग शुल्क के रूप में बनता है।
अनुरोध पर Netts द्वारा किसी खाते के लिए पोस्टपेड बिलिंग सक्षम की जाती है। प्रत्येक प्रतिक्रिया आपको बताती है कि ऑर्डर का भुगतान कैसे किया जाता है: paymentMode या तो postpaid होता है या prepaid।
अतिरिक्त अनुरोध फ़ील्ड्स
| Parameter | Type | Required | Description |
|---|---|---|---|
| test | boolean | No | true — केवल मूल्य की गणना करें। कुछ भी ऑर्डर, वितरित या बिल नहीं किया जाता है |
| freezePrice | boolean | No | true — आपके अनुबंध की कीमत को 60 सेकंड के लिए तय करता है। कुछ भी ऑर्डर या बिल नहीं किया जाता है |
| quoteId | string | No | freezePrice द्वारा जारी किए गए उद्धरण के मूल्य पर ऑर्डर दें |
| priceCurrency | string | No | TRX (डिफ़ॉल्ट) या आपके अनुबंध की मुद्रा, जैसा कि settlement.asset में है। पोस्टपेड खातों के लिए आपके अनुबंध की मुद्रा में राशियाँ हमेशा शामिल होती हैं |
quoteId को test या freezePrice के साथ संयोजित नहीं किया जा सकता है। अनुरोध बॉडी में किसी भी अन्य फ़ील्ड को अस्वीकार कर दिया जाता है।
मूल्य जांच (test: true)
{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"test": true
}{
"detail": {
"code": 10010,
"msg": "Test calculation",
"data": {
"amount": 65000,
"unitPriceSun": "20",
"discount": null,
"energyTRX": "1.300000",
"activationTRX": "1.100000",
"wouldCostTRX": "2.400000",
"paidTRX": 0,
"paymentMode": "postpaid",
"activationCheck": "inactive",
"alt": {"USDC": {"energy": "0.430541", "activation": "0.364304", "total": "0.794845"}},
"fxAt": "2026-10-19T07:15:18.469870+00:00"
}
}
}| Parameter | Description |
|---|---|
| unitPriceSun | SUN में प्रति Energy इकाई मूल्य, जिसमें आपकी व्यक्तिगत छूट (यदि आपके पास है) शामिल है |
| discount | आपकी व्यक्तिगत छूट (type, value) या null |
| energyTRX / activationTRX / wouldCostTRX | TRX में Energy, सक्रियण (यदि पते को इसकी आवश्यकता है) और कुल |
| activationCheck | inactive — पता सक्रिय किया जाएगा और बिल भेजा जाएगा; active — कोई सक्रियण नहीं; unknown — अभी जांच नहीं की जा सकी |
alt.<currency> | वही राशियाँ आपके अनुबंध की मुद्रा में |
| fxAt | आपके अनुबंध की मुद्रा की राशियों के लिए उपयोग की गई विनिमय दर का समय |
निश्चित मूल्य उद्धरण (freezePrice: true)
ऑर्डर करने से पहले अपने अनुबंध की कीमत तय करने के लिए उद्धरण का उपयोग करें।
"freezePrice": trueके साथ ऑर्डर भेजें। प्रतिक्रिया में कोड10011(Quote issued), मूल्य जांच के समान फ़ील्ड, साथ हीquoteIdऔरexpiresAtहोता है।- 60 सेकंड के भीतर
"quoteId": "<quoteId>"और समानamountऔरreceiveAddressके साथ ऑर्डर भेजें। - ऑर्डर का बिल कोटेशन की कीमत पर बनता है — यानी कोटेशन के समय आपके अनुबंध की कीमत पर — भले ही इस बीच कीमत बदल जाए।
एक उद्धरण का उपयोग केवल एक बार और केवल उसी उत्पाद के लिए किया जा सकता है: 1 घंटे का उद्धरण 5 मिनट के ऑर्डर के लिए भुगतान नहीं कर सकता है। एक समाप्त या पहले से उपयोग किए गए उद्धरण को अस्वीकार कर दिया जाता है और कुछ भी ऑर्डर नहीं किया जाता है।
{
"amount": 65000,
"receiveAddress": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE",
"quoteId": "q_4f540f16a2c94b7f8e3d1a6b5c0e9d72"
}सफल ऑर्डर
{
"detail": {
"code": 10000,
"msg": "Successful, 1.30 TRX for energy + 1.10 TRX for address activation, postpaid",
"data": {
"orderId": "1Hf9544a1508",
"paidTRX": 2.4,
"hash": "032bda8fa6911b42c15a6d8d30520dc22bcc4077972a1503b6a3fae491967eb4",
"delegateAddress": "TVnkj2jHKgmea8DVJFo2teD7rRSpH51bne",
"energy": 65000,
"activationHash": "259e1ab276114ae717a6f62d7d25eb1f89a2dccb637cbe41be626df3c2a78519",
"paymentMode": "postpaid",
"energyTRX": "1.300000",
"activationTRX": "1.100000",
"totalTRX": "2.400000"
}
}
}| Parameter | Description |
|---|---|
| paidTRX | TRX में सेवा की लागत। पोस्टपेड खातों के लिए इसे जमा राशि से नहीं काटा जाता है |
| paymentMode | postpaid |
| energyTRX / activationTRX / totalTRX | सटीक राशियाँ, दशमलव के 6 स्थान |
| quoteId, alt | तब मौजूद होते हैं जब ऑर्डर कोटेशन के साथ दिया गया हो: कोटेशन ID और कोट की गई राशियाँ |
| activationFinal | केवल तभी उपस्थित और false होता है जब सक्रियण राशि प्रारंभिक होती है; अंतिम राशि आपके चालान पर दिखाई देती है |
अन्य सभी फ़ील्ड प्रीपेड ऑर्डर के समान ही हैं।
क्रेडिट सीमा समाप्त (402)
{
"detail": {
"code": 1004,
"msg": "Postpaid credit limit reached.",
"paymentMode": "postpaid",
"reason": "limit_reached"
}
}ऑर्डर निष्पादित नहीं किया जाता है और कुछ भी बिल नहीं किया जाता है। आपका भुगतान पंजीकृत होने या आपकी सीमा बढ़ने के बाद नए ऑर्डर फिर से स्वीकार किए जाते हैं।
पोस्टपेड त्रुटि कोड
| Parameter | HTTP Status | Description |
|---|---|---|
10010 | 200 | मूल्य जांच परिणाम (test) |
10011 | 200 | उद्धरण जारी किया गया (freezePrice) |
1004 | 402 | पोस्टपेड क्रेडिट सीमा समाप्त हो गई |
4100 | 400 | अमान्य अनुरोध |
4101 | 400 | असमर्थित priceCurrency |
4102 | 400 | quoteId को test या freezePrice के साथ संयोजित किया गया |
4103 | 409 | उद्धरण पहले ही उपयोग किया जा चुका है |
4104 | 409 | उद्धरण समाप्त हो गया |
4105 | 409 | इडेम्पोटेंसी कुंजी पहले से ही किसी भिन्न अनुरोध के लिए उपयोग की गई है |
4106 | 404 | उद्धरण नहीं मिला |
4107 | 409 | ऑर्डर के पैरामीटर उद्धरण से भिन्न हैं |
4108 | 400 | अमान्य quoteId प्रारूप |
4109 | 422 | सब-अकाउंट के लिए उपलब्ध नहीं |
5032 | 503 | मूल्य अस्थायी रूप से अनुपलब्ध है |
5033 | 503 | विनिमय दर अस्थायी रूप से अनुपलब्ध है |
5034 | 503 | बिलिंग अस्थायी रूप से अनुपलब्ध है — ऑर्डर स्वीकार नहीं किया गया था |
5036 | 503 | क्रेडिट जांच अस्थायी रूप से अनुपलब्ध है — बाद में पुनः प्रयास करें |
ऊपर दिए गए सभी 4xx और 503 प्रतिक्रियाओं के लिए कुछ भी ऑर्डर नहीं किया जाता है और कुछ भी बिल नहीं किया जाता है।
नोट्स
- सफल ऑर्डर पर Energy तुरंत वितरित की जाती है (आमतौर पर 0.5-10 सेकंड के भीतर)
- API प्रतिक्रिया टाइमआउट: अधिकतम 10 सेकंड, आमतौर पर 2 सेकंड तक प्रतिक्रिया देता है
- पता सक्रियण: यदि प्राप्तकर्ता का पता सक्रिय नहीं है, तो Netts इसे लागत मूल्य पर सक्रिय करता है
- सक्रियण विलंब: गैर-सक्रिय पतों के लिए, सक्रियण प्रक्रिया के कारण API प्रतिक्रिया में 6 सेकंड तक का समय लग सकता है
- स्वचालित प्रदाता फ़ेलओवर के साथ ऑर्डर 24/7 संसाधित किए जाते हैं
- न्यूनतम Energy मात्रा: 61,000 इकाइयाँ
- अधिकतम Energy मात्रा: 3,000,000 इकाइयाँ प्रति ऑर्डर
- Energy बफ़र: प्रदाता क्षतिपूर्ति के लिए +50 इकाइयाँ स्वचालित रूप से जोड़ी जाती हैं (निःशुल्क)
- ट्रांजेक्शन हैश: फ़ील्ड हमेशा मौजूद रहती है लेकिन खाली हो सकती है यदि प्रदाता इसे तुरंत नहीं लौटाता है। हैश प्राप्त करने के लिए, ऑर्डर देने के 1 मिनट से पहले /apiv2/order_check को कॉल न करें
- प्रदाता चयन: लागत और उपलब्धता के आधार पर स्वचालित
- ऑर्डर ID प्रारूप: एकीकृत ट्रैकिंग के लिए
1H{request_id} - मूल्य निर्धारण: दिन के समय और Energy की मात्रा के आधार पर गतिशील
- अवधि: निश्चित 1 घंटा (3600 सेकंड)
- Rate Limiting: 50 अनुरोध प्रति सेकंड प्रति IP पता