स्वचालित नवीनीकरण बंद करें
POST
/account/api/v1/auto-renewal/disableकार्रवाई की स्पष्ट पुष्टि करें
यह कार्रवाई रिकॉर्ड, शेष राशि या सेवा सेटिंग बदल सकती है। पहले दायरा और नोट पढ़ें। परिणाम अनिश्चित हो तो नई कार्रवाई के बजाय उसी की स्थिति पूछें।
प्राधिकरण
| Authorization | Bearer YOUR_ARNPROXY_API_KEY |
|---|---|
| आवश्यक अनुमति | renewals |
| Accept | application/json |
| Content-Type | application/json |
| Idempotency-Key | 16–100 अक्षर, अंक, _ या -। एक ही कार्रवाई के लिए मान सहेजकर दोबारा उपयोग करें। |
पैरामीटर
| नाम | प्रकार | विवरण |
|---|---|---|
Idempotency-Key | string | 16–100 अक्षर/अंक/_/-। कार्रवाई और स्थिति में समान मान रखें; अलग बॉडी में पुनः उपयोग न करें। |
settings | object[] | 1–1000 अपनी शेष-राशि नवीनीकरण सेटिंग, अद्वितीय ID सहित। कार्ड/PayPal सेटिंग प्रबंधित नहीं होतीं। |
settings[].id | integer | auto_renewal_settings से अपनी सेटिंग ID। |
settings[].revision | string | उसी सेटिंग पंक्ति का 64-अक्षर revision। |
terms | boolean | स्पष्ट स्वीकृति के लिए JSON बूलियन true चाहिए, "true" स्ट्रिंग नहीं। |
अनुरोध का मुख्य भाग
YOUR_/FROM_ को संबंधित कैटलॉग, कोट या दायरे के मान से बदलें। उदाहरणों में सहमति false है; वास्तविक कार्रवाई केवल जानबूझकर मंज़ूर करें।
{
"settings": [
{
"id": "YOUR_SETTING_ID",
"revision": "FROM_SETTINGS_REVISION"
}
],
"terms": false
}अनुरोध उदाहरण
printf 'Authorization: Bearer %s\n' "$ARNPROXY_API_KEY" |
curl --silent --show-error --header @- \
--header 'Accept: application/json' \
--connect-timeout 10 --max-time 30 \
--header 'Idempotency-Key: YOUR_SAVED_OPERATION_KEY' \
--request POST --header 'Content-Type: application/json' \
--data-binary @request.json \
'https://www.arnproxy.com/account/api/v1/auto-renewal/disable'इस पेज पर उदाहरण नहीं चलते। API कुंजी सर्वर की पर्यावरण चर में रखें, URL या ब्राउज़र कोड में नहीं। POST के लिए request.json तैयार करें।
{"curl":"printf \u0027Authorization: Bearer %s\\n\u0027 \u0022$ARNPROXY_API_KEY\u0022 |\n curl --silent --show-error --header @- \\\n --header \u0027Accept: application\/json\u0027 \\\n --connect-timeout 10 --max-time 30 \\\n --header \u0027Idempotency-Key: YOUR_SAVED_OPERATION_KEY\u0027 \\\n --request POST --header \u0027Content-Type: application\/json\u0027 \\\n --data-binary @request.json \\\n \u0027https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0027","python":"import os, requests\n\nheaders = {\u0022Authorization\u0022: \u0022Bearer \u0022 + os.environ[\u0022ARNPROXY_API_KEY\u0022]}\nheaders[\u0022Idempotency-Key\u0022] = \u0022YOUR_SAVED_OPERATION_KEY\u0022\nimport json\nwith open(\u0022request.json\u0022, encoding=\u0022utf-8\u0022) as f:\n payload = json.load(f)\nresponse = requests.post(\n \u0022https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0022,\n headers=headers, json=payload,\n timeout=(10, 30), allow_redirects=False\n)\nprint(response.status_code, response.text)\n# No automatic write retry.","javascript":"const headers = { Authorization: `Bearer ${process.env.ARNPROXY_API_KEY}` };\nheaders[\u0027Idempotency-Key\u0027] = \u0027YOUR_SAVED_OPERATION_KEY\u0027;\nconst { readFile } = await import(\u0027node:fs\/promises\u0027);\nheaders[\u0027Content-Type\u0027] = \u0027application\/json\u0027;\nconst body = await readFile(\u0027request.json\u0027, \u0027utf8\u0027);\nconst response = await fetch(\u0022https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0022, {\n method: \u0027POST\u0027, headers, redirect: \u0027error\u0027,\n signal: AbortSignal.timeout(30000), body\n});\nconsole.log(response.status, await response.text());\n\/\/ A write timeout is ambiguous; query its saved operation.","php":"\u003C?php\n$headers = [\u0027Accept: application\/json\u0027,\n \u0027Authorization: Bearer \u0027.getenv(\u0027ARNPROXY_API_KEY\u0027)];\n$headers[] = \u0027Idempotency-Key: YOUR_SAVED_OPERATION_KEY\u0027;\n$headers[] = \u0027Content-Type: application\/json\u0027;\n$ch = curl_init(\u0027https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0027);\ncurl_setopt_array($ch, [\n CURLOPT_RETURNTRANSFER =\u003E true,\n CURLOPT_HTTPHEADER =\u003E $headers,\n CURLOPT_FOLLOWLOCATION =\u003E false,\n CURLOPT_SSL_VERIFYPEER =\u003E true, CURLOPT_SSL_VERIFYHOST =\u003E 2,\n CURLOPT_CONNECTTIMEOUT =\u003E 10, CURLOPT_TIMEOUT =\u003E 30,\n CURLOPT_POST =\u003E true,\n CURLOPT_POSTFIELDS =\u003E file_get_contents(\u0027request.json\u0027),\n]);\n$result = curl_exec($ch);\nif ($result === false) {\n \/\/ Do not repeat a write; use the original operation key.\n throw new RuntimeException(\u0027Transport result unknown\u0027);\n}\necho curl_getinfo($ch, CURLINFO_HTTP_CODE).PHP_EOL.$result;\ncurl_close($ch);","go":"package main\n\nimport (\n \u0022fmt\u0022\n \u0022io\u0022\n \u0022net\/http\u0022\n \u0022os\u0022\n \u0022time\u0022\n)\n\nfunc main() {\n client := \u0026http.Client{Timeout: 30*time.Second,\n CheckRedirect: func(req *http.Request, via []*http.Request) error {\n return http.ErrUseLastResponse\n }}\n var body io.Reader\n file, err := os.Open(\u0022request.json\u0022); if err != nil { panic(err) }\n defer file.Close(); body = file\n req, err := http.NewRequest(\u0022POST\u0022, \u0022https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0022, body)\n if err != nil { panic(err) }\n req.Header.Set(\u0022Authorization\u0022, \u0022Bearer \u0022+os.Getenv(\u0022ARNPROXY_API_KEY\u0022))\n req.Header.Set(\u0022Idempotency-Key\u0022, \u0022YOUR_SAVED_OPERATION_KEY\u0022)\n req.Header.Set(\u0022Content-Type\u0022, \u0022application\/json\u0022)\n res, err := client.Do(req); if err != nil { panic(err) }\n defer res.Body.Close()\n data, err := io.ReadAll(res.Body); if err != nil { panic(err) }\n fmt.Println(res.StatusCode, string(data))\n}","csharp":"using System;\nusing System.IO;\nusing System.Net.Http;\nusing System.Net.Http.Headers;\nusing System.Text;\n\nusing var handler = new HttpClientHandler { AllowAutoRedirect = false };\nusing var client = new HttpClient(handler) { Timeout = TimeSpan.FromSeconds(30) };\nusing var request = new HttpRequestMessage(HttpMethod.Post,\n \u0022https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0022);\nrequest.Headers.Authorization = new AuthenticationHeaderValue(\n \u0022Bearer\u0022, Environment.GetEnvironmentVariable(\u0022ARNPROXY_API_KEY\u0022));\nrequest.Headers.Add(\u0022Idempotency-Key\u0022, \u0022YOUR_SAVED_OPERATION_KEY\u0022);\nrequest.Content = new StringContent(\n await File.ReadAllTextAsync(\u0022request.json\u0022), Encoding.UTF8, \u0022application\/json\u0022);\nusing var response = await client.SendAsync(request);\nConsole.WriteLine((int)response.StatusCode);\nConsole.WriteLine(await response.Content.ReadAsStringAsync());\n\/\/ Never automatically retry an ambiguous write.","java":"import java.net.URI;\nimport java.net.http.*;\nimport java.nio.charset.StandardCharsets;\nimport java.nio.file.*;\n\n\/\/ Inside your application method:\nvar client = HttpClient.newHttpClient();\nvar request = HttpRequest.newBuilder(URI.create(\u0022https:\/\/www.arnproxy.com\/account\/api\/v1\/auto-renewal\/disable\u0022))\n .header(\u0022Authorization\u0022, \u0022Bearer \u0022 + System.getenv(\u0022ARNPROXY_API_KEY\u0022))\n .header(\u0022Accept\u0022, \u0022application\/json\u0022)\n .header(\u0022Idempotency-Key\u0022, System.getenv(\u0022ARNPROXY_OPERATION_KEY\u0022))\n .header(\u0022Content-Type\u0022, \u0022application\/json\u0022)\n .POST(HttpRequest.BodyPublishers.ofString(\n Files.readString(Path.of(\u0022request.json\u0022), StandardCharsets.UTF_8)))\n .build();\nvar response = client.send(request, HttpResponse.BodyHandlers.ofString());\nSystem.out.println(response.statusCode());"}उत्तर
200सफल उत्तर
{
"ok": true,
"data": {
"state": "completed",
"action": "disable",
"settings": [
{
"id": 20,
"proxy_id": 12345,
"order_number": null,
"active": false,
"payment_method": "balance",
"time_id": 101,
"currency": "TRY",
"next_renewal_date": "2030-02-01",
"next_attempt_at": null,
"last_status": "disabled",
"revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"managed_via_website": false,
"timezone": "Europe/Istanbul"
}
],
"payment_method": "balance",
"configuration_only": true,
"immediate_charge": false,
"balance_changed": false,
"proxy_expiry_changed": false,
"provider_requests": 0,
"payment_requests": 0,
"consent_version": "balance_current_pricing_v1",
"api_key_revocation_stops_existing_renewals": false,
"source": "existing_website_auto_renewal",
"completed_at": "2030-01-01T12:00:00+00:00",
"replayed": false
},
"meta": {
"request_id": "000000000000000000000001",
"phase": "public_v1",
"source": "arnproxy_records"
}
}उत्तर के फ़ील्ड और प्रकार
| नाम | प्रकार | विवरण |
|---|---|---|
ok | boolean | सफलता संकेत; false पर error.code देखें। |
data | object | कार्रवाई-विशिष्ट परिणाम; उदाहरण कृत्रिम और समझाने के लिए हैं। |
data.state | string | रिकॉर्ड/कार्रवाई स्थिति। accepted डिलीवरी नहीं; completed कनेक्शन परीक्षण नहीं। |
data.action | string | action का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.settings | array | settings का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.settings[] | object | settings का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.settings[].id | integer | संबंधित ARNPROXY रिकॉर्ड ID; आंतरिक प्रदाता ID के बदले इसे लें। |
data.settings[].proxy_id | integer | संबंधित ARNPROXY रिकॉर्ड ID; आंतरिक प्रदाता ID के बदले इसे लें। |
data.settings[].order_number | string|null | दिखने वाला ऑर्डर नंबर; id माँगने वाले फ़ील्ड में नहीं। |
data.settings[].active | boolean | क्या रिकॉर्ड सक्रिय है; निष्क्रिय पुरानी सेटिंग सहेजी रह सकती है। |
data.settings[].payment_method | string | शेष राशि/कार्ड/PayPal विधि; API सेटिंग प्रबंधन केवल शेष राशि के लिए। |
data.settings[].time_id | integer | स्थानीय अवधि/GB प्लान ID, दिनों या GB की गिनती नहीं। |
data.settings[].currency | string | खाते की लेनदेन मुद्रा: TRY या USD। |
data.settings[].next_renewal_date | string | सहेजा नवीनीकरण दिन या पुनः प्रयास समय, शुल्क का प्रमाण नहीं। |
data.settings[].next_attempt_at | string|null | सहेजा नवीनीकरण दिन या पुनः प्रयास समय, शुल्क का प्रमाण नहीं। |
data.settings[].last_status | string | last status का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.settings[].revision | string | संबंधित बदलाव/मूल्य पुष्टि में अपरिवर्तित लौटाने वाला ताज़गी संकेत। |
data.settings[].managed_via_website | boolean | managed via website का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.settings[].timezone | string | संबंधित तारीख फ़ील्ड का समय क्षेत्र; null यानी सत्यापित नहीं। |
data.payment_method | string | शेष राशि/कार्ड/PayPal विधि; API सेटिंग प्रबंधन केवल शेष राशि के लिए। |
data.configuration_only | boolean | configuration only का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.immediate_charge | boolean | कार्रवाई का बताया प्रभाव; स्वचालित नवीनीकरण बाद में अलग शुल्क लगा सकता है। |
data.balance_changed | boolean | कार्रवाई का बताया प्रभाव; स्वचालित नवीनीकरण बाद में अलग शुल्क लगा सकता है। |
data.proxy_expiry_changed | boolean | कार्रवाई का बताया प्रभाव; स्वचालित नवीनीकरण बाद में अलग शुल्क लगा सकता है। |
data.provider_requests | integer | provider requests का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.payment_requests | integer | payment requests का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.consent_version | string | consent version का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
data.api_key_revocation_stops_existing_renewals | boolean | false: कुंजी रद्द करने से मौजूदा स्वचालित नवीनीकरण बंद नहीं; सेटिंग अलग बंद करें। |
data.source | string | डेटा स्रोत; स्थानीय रिकॉर्ड और लाइव प्रदाता क्वेरी अलग प्रमाण हैं। |
data.completed_at | string | API के लौटाए प्रारूप में समय; उदाहरण की तारीखें कृत्रिम हैं। |
data.replayed | boolean | उसी कार्रवाई का सहेजा परिणाम लौटा, नए शुल्क/कार्रवाई का प्रमाण नहीं। |
meta | object | अनुरोध संबद्धता और डेटा-स्रोत मेटाडेटा। |
meta.request_id | string | इस HTTP अनुरोध की पहचान; कार्रवाई कुंजी या ऑर्डर ID नहीं। |
meta.phase | string | phase का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें। |
meta.source | string | डेटा स्रोत; स्थानीय रिकॉर्ड और लाइव प्रदाता क्वेरी अलग प्रमाण हैं। |
त्रुटि उत्तर
{
"ok": false,
"error": { "code": "INVALID_API_KEY" },
"meta": { "request_id": "000000000000000000000001" }
}प्रमाणीकरण और जाँच निष्पादन से पहले अनुरोध रोक सकते हैं। त्रुटि संदर्भ देखें और सहायता के लिए request_id रखें। कुंजी या पासवर्ड न भेजें। त्रुटियाँ और सीमाएँ →
व्यवहार और महत्वपूर्ण नोट
- ये केवल मौजूदा शेष-राशि नवीनीकरण की सेटिंग हैं; अभी शुल्क या अवधि वृद्धि नहीं। पुराना cron बाद में उस समय की कीमत पर नवीनीकरण करेगा। कुंजी रद्द करने से सेटिंग बंद नहीं; अलग बंद करें। कार्ड/PayPal साइट पर ही। प्रमोशन नहीं; देशवार मात्रा छूट और पूरे IPv6 ऑर्डर चयन की शर्त बनी रहती है। बंद करना शुरू/पूरे नवीनीकरण को नहीं उलटता।
- टाइमआउट/5xx लिखने की विफलता का प्रमाण नहीं। मूल Idempotency-Key से स्थिति पूछें। नई कुंजी से न दोहराएँ; GET बदलाव फिर नहीं भेजता।
- समाप्त प्रॉक्सी से जुड़ी अपनी शेष-राशि सेटिंग भी बंद कर सकते हैं। बंद करने से शुरू/पूरा नवीनीकरण या शुल्क नहीं उलटता।