POST /apiv2/billing/limits
Netts द्वारा निर्धारित क्रेडिट सीमा के भीतर अपनी स्वयं की सीमाएं बनाएं, बदलें, बंद करें और चालू करें। Netts द्वारा निर्धारित सीमाओं को इन एंडपॉइंट्स से नहीं बदला जा सकता है। पोस्टपेड बिलिंग का भाग।
एंडपॉइंट्स
| एंडपॉइंट | कार्य |
|---|---|
POST /apiv2/billing/limits | अपनी स्वयं की सीमा बनाएं |
PUT /apiv2/billing/limits/{id}?scope=account | इसका मान बदलें |
POST /apiv2/billing/limits/{id}/disable?scope=account | इसे बंद करें — यह लागू होना बंद हो जाता है, कुछ भी हटाया नहीं जाता है |
POST /apiv2/billing/limits/{id}/enable?scope=account | इसे पुनः चालू करें |
{id} सीमाएं से प्राप्त सीमा id है। परिवर्तनों के लिए scope=account आवश्यक है।
अनुरोध हेडर
| हेडर | आवश्यक | विवरण |
|---|---|---|
X-API-KEY | हाँ | limits.write अनुमति वाली API कुंजी |
X-Real-IP | हाँ | कुंजी श्वेतसूची (whitelist) से एक पता |
Idempotency-Key | हाँ | एक अद्वितीय स्ट्रिंग, 8–128 वर्ण, प्रति परिवर्तन एक |
Content-Type | हाँ | application/json |
Idempotency-Key पुनः प्रयास को सुरक्षित बनाता है। उसी कुंजी और उसी बॉडी के साथ अनुरोध दोहराएं — उदाहरण के लिए, टाइमआउट के बाद — और आपको मूल उत्तर वापस मिल जाता है; परिवर्तन दो बार नहीं किया जाता है। एक अलग बॉडी वाली समान कुंजी को 409 idempotency_conflict के साथ अस्वीकार कर दिया जाता है।
expectedRevision आपको ऐसे परिवर्तन को अधिलेखित (overwrite) करने से बचाता है जिसे आपने नहीं देखा है। आपके द्वारा अंतिम बार पढ़ा गया revision भेजें (जब आप कोई सीमा बनाते हैं तो 0)। यदि इस बीच सीमा बदल गई है, तो अनुरोध 409 revision_conflict के साथ अस्वीकार कर दिया जाता है — सीमाएं को फिर से पढ़ें और पुनः प्रयास करें।
एक सीमा बनाएं
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
productCode | स्ट्रिंग या null | नहीं | energy_1h, energy_5m, bandwidth, activation, aml_check; आपकी समग्र सीमा के लिए null या छोड़ दिया गया |
period | स्ट्रिंग | हाँ | outstanding, day, week या order |
value | स्ट्रिंग | हाँ | राशि, Netts सीमा की मुद्रा में, उससे अधिक नहीं |
expectedRevision | पूर्णांक | हाँ | 0 |
प्रत्येक उत्पाद और अवधि के लिए आपकी अपनी एक सीमा हो सकती है। मुद्रा Netts सीमा से ली जाती है — कोई मुद्रा फ़ील्ड नहीं है।
curl -s -X POST 'https://netts.io/apiv2/billing/limits' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-day' \
-H 'Content-Type: application/json' \
-d '{"productCode": "energy_5m", "period": "day", "value": "200", "expectedRevision": 0}'{
"success": true,
"data": {
"id": 5,
"scope": "account",
"origin": "client",
"productCode": "energy_5m",
"period": "day",
"enabled": true,
"limit": { "unit": "USD", "value": "200.000000" },
"equivalent": { "unit": "TRX", "value": "604.514867" },
"revision": 1,
"fx": { "usdPerTrx": "0.33084276", "at": "2026-10-19T20:24:23.449930+00:00" },
"fxStatus": "ok"
},
"timestamp": "2026-10-19T20:30:02+00:00"
}यह सीमा तुरंत अगले ऑर्डर पर लागू हो जाती है।
एक सीमा बदलें
curl -s -X PUT 'https://netts.io/apiv2/billing/limits/5?scope=account' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-300' \
-H 'Content-Type: application/json' \
-d '{"value": "300", "expectedRevision": 1}'| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
value | स्ट्रिंग | हाँ | नई राशि, Netts सीमा से अधिक नहीं |
expectedRevision | पूर्णांक | हाँ | सीमा का वर्तमान revision |
उत्तर का प्रारूप ऊपर जैसा ही है, जिसमें revision एक से बढ़ जाता है।
एक सीमा बंद या चालू करें
curl -s -X POST 'https://netts.io/apiv2/billing/limits/5/disable?scope=account' \
-H 'X-API-KEY: your-api-key' \
-H 'X-Real-IP: 203.0.113.10' \
-H 'Idempotency-Key: 6f1c2b8e-limit-5m-off' \
-H 'Content-Type: application/json' \
-d '{"expectedRevision": 2}'बॉडी में केवल expectedRevision है। /enable उसी तरह काम करता है। बंद की गई सीमा सूची में "enabled": false के साथ बनी रहती है और इसे बाद में चालू किया जा सकता है; आपका बकाया और शुल्क प्रभावित नहीं होते हैं।
आप क्या नहीं कर सकते
"origin": "netts"वाली सीमा या कुंजी सीमा को बदलना या बंद करना —403 netts_limit_readonly, इसे कम करने के लिए भी नहीं।- Netts सीमा से अधिक मान सेट करना —
422 above_account_limit। - समान उत्पाद और अवधि के लिए दूसरी सीमा बनाना —
409 limit_exists; इसके बजाय मौजूदा सीमा को बदलें। - Netts द्वारा आपके खाते की क्रेडिट सीमा निर्धारित करने से पहले कोई सीमा बनाना —
409 no_account_limit। - ऐसी सीमा को चालू करना जिसकी मुद्रा वर्तमान Netts सीमा से भिन्न हो —
422 unit_mismatch; पहले एक नया मान सेट करें।
त्रुटियां
| HTTP | code | अर्थ |
|---|---|---|
| 400 | invalid_request, invalid_amount | कोई फ़ील्ड अनुपलब्ध है या उसका प्रारूप गलत है |
| 400 | idempotency_key_required, invalid_idempotency_key | कोई Idempotency-Key नहीं है, या 8–128 वर्ण नहीं हैं |
| 401 | -1, -2 | कुंजी अनुपलब्ध या अमान्य है, या IP श्वेतसूची में नहीं है — API गेटवे द्वारा उत्तर दिया गया, देखें प्रतिक्रिया प्रारूप |
| 403 | forbidden | कुंजी के पास limits.write अनुमति नहीं है |
| 403 | postpaid_disabled | पोस्टपेड बिलिंग रोक दी गई है: सीमाएं नहीं बदली जा सकती हैं |
| 403 | netts_limit_readonly | सीमा Netts द्वारा निर्धारित की गई है |
| 404 | not_found | आपके खाते पर ऐसी कोई सीमा नहीं है |
| 409 | revision_conflict, limit_exists, idempotency_conflict, no_account_limit | ऊपर देखें |
| 422 | above_account_limit, product_not_postpaid, unit_mismatch | मान Netts सीमा से ऊपर है, अज्ञात उत्पाद है, Netts सीमा की मुद्रा बदल गई है |
सभी कोड पोस्टपेड बिलिंग में सूचीबद्ध हैं।