ARNPROXY

शेष राशि से Residential खरीदें

POST/account/api/v1/residential/orders/create
कार्रवाई की स्पष्ट पुष्टि करें

यह कार्रवाई रिकॉर्ड, शेष राशि या सेवा सेटिंग बदल सकती है। पहले दायरा और नोट पढ़ें। परिणाम अनिश्चित हो तो नई कार्रवाई के बजाय उसी की स्थिति पूछें।

प्राधिकरण

AuthorizationBearer YOUR_ARNPROXY_API_KEY
आवश्यक अनुमतिpurchases
Acceptapplication/json
Content-Typeapplication/json
Idempotency-Key16–100 अक्षर, अंक, _ या -। एक ही कार्रवाई के लिए मान सहेजकर दोबारा उपयोग करें।

पैरामीटर

नामप्रकारविवरण
Idempotency-Key
headerआवश्यक
string16–100 अक्षर/अंक/_/-। कार्रवाई और स्थिति में समान मान रखें; अलग बॉडी में पुनः उपयोग न करें।
mode
bodyआवश्यक
stringnew पैकेज बनाता है; topup अपने पैकेज में GB जोड़ता है।
time_id
bodyआवश्यक
integerसंबंधित कैटलॉग/options की अवधि/GB प्लान ID, दिन या GB की गिनती नहीं।
location_id
bodyसशर्त
integerकेवल mode=new में आवश्यक; topup में वर्जित।
package_id
bodyसशर्त
integerकेवल mode=topup में आवश्यक; new में वर्जित।
promo_code
bodyवैकल्पिक
stringवैकल्पिक प्रमोशन, अधिकतम 100 बाइट। कोट और खरीद/नवीनीकरण में समान रखें।
डिफ़ॉल्ट: ""
currency
bodyआवश्यक
stringउसी कोट का TRY या USD; खाते की मुद्रा से मेल खाना चाहिए।
expected_total_minor
bodyआवश्यक
integerउसी कोट का total_minor पूर्णांक, दशमलव या पाठ नहीं। कम से कम 1।
expected_selection_hash
bodyआवश्यक
stringउसी कोट का selection_hash: 64 छोटे हेक्स अक्षर।
terms
bodyआवश्यक
booleanस्पष्ट स्वीकृति के लिए JSON बूलियन true चाहिए, "true" स्ट्रिंग नहीं।

अनुरोध का मुख्य भाग

YOUR_/FROM_ को संबंधित कैटलॉग, कोट या दायरे के मान से बदलें। उदाहरणों में सहमति false है; वास्तविक कार्रवाई केवल जानबूझकर मंज़ूर करें।

request.json
{
    "mode": "topup",
    "package_id": "YOUR_PACKAGE_ID",
    "time_id": "FROM_RESIDENTIAL_CATALOG",
    "promo_code": "",
    "currency": "FROM_QUOTE",
    "expected_total_minor": "FROM_QUOTE_TOTAL_MINOR",
    "expected_selection_hash": "FROM_QUOTE_SELECTION_HASH",
    "terms": false
}

अतिरिक्त उपयोग उदाहरण

ID और कीमतें उदाहरण मात्र हैं; कैटलॉग और उसी कोट के वास्तविक मान उपयोग करें। JSON ID और expected_total_minor संख्याएँ हों। सुरक्षा के लिए उदाहरणों में terms=false है; वास्तविक भुगतान वाले कार्य के लिए ग्राहक की स्पष्ट सहमति के बाद ही terms=true भेजें।

Residential: नया पैकेज और GB जोड़ना · mode=new

Residential ऑर्डर में ग्राहक को उपयोग का उद्देश्य नहीं चुनना होता। नए पैकेज के लिए सर्वर वेबसाइट खरीद जैसा ही निश्चित उद्देश्य अपने आप निर्धारित करता है; purpose_id, subpurpose_id या other_purpose न भेजें। ट्रैफ़िक जोड़ने पर मौजूदा पैकेज का उद्देश्य बना रहता है।

application/json
{
    "mode": "new",
    "location_id": 20,
    "time_id": 201,
    "promo_code": "",
    "currency": "TRY",
    "expected_total_minor": 1000,
    "expected_selection_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "terms": false
}

Residential: नया पैकेज और GB जोड़ना · mode=topup

Residential ऑर्डर में ग्राहक को उपयोग का उद्देश्य नहीं चुनना होता। नए पैकेज के लिए सर्वर वेबसाइट खरीद जैसा ही निश्चित उद्देश्य अपने आप निर्धारित करता है; purpose_id, subpurpose_id या other_purpose न भेजें। ट्रैफ़िक जोड़ने पर मौजूदा पैकेज का उद्देश्य बना रहता है।

application/json
{
    "mode": "topup",
    "package_id": 10001,
    "time_id": 201,
    "promo_code": "",
    "currency": "TRY",
    "expected_total_minor": 1000,
    "expected_selection_hash": "0000000000000000000000000000000000000000000000000000000000000000",
    "terms": false
}

अनुरोध उदाहरण

cURL
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/residential/orders/create'

इस पेज पर उदाहरण नहीं चलते। API कुंजी सर्वर की पर्यावरण चर में रखें, URL या ब्राउज़र कोड में नहीं। POST के लिए request.json तैयार करें।

उत्तर

201सफल उत्तर
application/json
{
    "ok": true,
    "data": {
        "state": "accepted",
        "mode": "topup",
        "delivery_state_at_acceptance": "queued",
        "currency": "TRY",
        "total": "15.00",
        "total_minor": 1500,
        "gb": 1,
        "days": 30,
        "target_package_id": 20001,
        "order": {
            "id": 20002,
            "number": "1000020002",
            "location_id": 20,
            "time_id": 201,
            "last_service_date": "2030-02-01"
        },
        "accepted_at": "2030-01-01T12:00:00+00:00",
        "automatic_renewal": false,
        "source": "existing_website_residential_delivery",
        "replayed": false
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
उत्तर के फ़ील्ड और प्रकार
नामप्रकारविवरण
okbooleanसफलता संकेत; false पर error.code देखें।
dataobjectकार्रवाई-विशिष्ट परिणाम; उदाहरण कृत्रिम और समझाने के लिए हैं।
data.statestringरिकॉर्ड/कार्रवाई स्थिति। accepted डिलीवरी नहीं; completed कनेक्शन परीक्षण नहीं।
data.modestringmode का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
data.delivery_state_at_acceptancestringdelivery state at acceptance का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
data.currencystringखाते की लेनदेन मुद्रा: TRY या USD।
data.totalstringधनराशि; शुद्धता के लिए लौटाया पाठ/पूर्णांक प्रारूप बनाए रखें।
data.total_minorintegerलघुतम मुद्रा इकाई में पूर्णांक: 1000 = 10.00 TRY/USD।
data.gbintegerट्रैफ़िक मात्रा; सूची/सेटिंग कार्रवाई ट्रैफ़िक नहीं खरीदती।
data.daysintegerप्लान अवधि दिनों में, GB प्लान की ट्रैफ़िक मात्रा से अलग।
data.target_package_idintegertarget package id का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
data.orderobjectorder का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
data.order.idintegerसंबंधित ARNPROXY रिकॉर्ड ID; आंतरिक प्रदाता ID के बदले इसे लें।
data.order.numberstringदिखने वाला ऑर्डर नंबर; id माँगने वाले फ़ील्ड में नहीं।
data.order.location_idintegerस्थानीय कैटलॉग स्थान या उत्पाद प्रकार ID।
data.order.time_idintegerस्थानीय अवधि/GB प्लान ID, दिनों या GB की गिनती नहीं।
data.order.last_service_datestringअंतिम सेवा दिन: मौजूदा, पिछला या अनुमानित। अनुमान से नवीनीकरण नहीं होता।
data.accepted_atstringAPI के लौटाए प्रारूप में समय; उदाहरण की तारीखें कृत्रिम हैं।
data.automatic_renewalbooleanautomatic renewal का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
data.sourcestringडेटा स्रोत; स्थानीय रिकॉर्ड और लाइव प्रदाता क्वेरी अलग प्रमाण हैं।
data.replayedbooleanउसी कार्रवाई का सहेजा परिणाम लौटा, नए शुल्क/कार्रवाई का प्रमाण नहीं।
metaobjectअनुरोध संबद्धता और डेटा-स्रोत मेटाडेटा।
meta.request_idstringइस HTTP अनुरोध की पहचान; कार्रवाई कुंजी या ऑर्डर ID नहीं।
meta.phasestringphase का कार्रवाई-विशिष्ट मान। लौटाया प्रकार बनाए रखें और व्यवहार नोट देखें।
meta.sourcestringडेटा स्रोत; स्थानीय रिकॉर्ड और लाइव प्रदाता क्वेरी अलग प्रमाण हैं।

त्रुटि उत्तर

HTTP 401 · INVALID_API_KEY
{
  "ok": false,
  "error": { "code": "INVALID_API_KEY" },
  "meta": { "request_id": "000000000000000000000001" }
}

प्रमाणीकरण और जाँच निष्पादन से पहले अनुरोध रोक सकते हैं। त्रुटि संदर्भ देखें और सहायता के लिए request_id रखें। कुंजी या पासवर्ड न भेजें। त्रुटियाँ और सीमाएँ →

व्यवहार और महत्वपूर्ण नोट

  • पैकेज/सूची ID ARNPROXY रिकॉर्ड ID हैं, प्रदाता कुंजियाँ नहीं। पुराना स्नैपशॉट पहुँच नहीं देता; ज़रूरत पर residential_package_refresh लें।
  • mode=new नया पैकेज, mode=topup मौजूदा में GB जोड़ता है। पहले residential_catalog/quote लें। शेष-राशि स्वीकृति और पृष्ठभूमि डिलीवरी अलग हैं; उसी कार्रवाई कुंजी को ट्रैक करें।
  • टाइमआउट/5xx लिखने की विफलता का प्रमाण नहीं। मूल Idempotency-Key से स्थिति पूछें। नई कुंजी से न दोहराएँ; GET बदलाव फिर नहीं भेजता।
  • Residential ऑर्डर में ग्राहक को उपयोग का उद्देश्य नहीं चुनना होता। नए पैकेज के लिए सर्वर वेबसाइट खरीद जैसा ही निश्चित उद्देश्य अपने आप निर्धारित करता है; purpose_id, subpurpose_id या other_purpose न भेजें। ट्रैफ़िक जोड़ने पर मौजूदा पैकेज का उद्देश्य बना रहता है।
  • पुराने एकीकरणों की संगतता के लिए mode=new में मान्य subpurpose_id/other_purpose स्वीकार हो सकते हैं, पर वे नए ऑर्डर के स्वतः निर्धारित उद्देश्य को नहीं बदलते। नए एकीकरण इन्हें न भेजें। mode=topup में ये समर्थित नहीं हैं। पहले स्वीकार अनुरोध को उसी Idempotency-Key और उसी अनुरोध से दोहराएँ; नई कुंजी से फिर खरीद न करें।
  • स्वचालित उद्देश्य कॉन्फ़िगरेशन उपलब्ध न हो तो बिना ऑर्डर बनाए या बैलेंस काटे RESIDENTIAL_DEFAULT_PURPOSE_UNAVAILABLE (HTTP 503) मिलता है। व्यवस्थापक को कॉन्फ़िगरेशन जाँचना चाहिए।
उसी कार्रवाई को ट्रैक करेंResidential डिलीवरी स्थिति →

वर्तमान भाषा में खोजें। बंद करें: Esc