डॉक्स
पार्टनर API
स्वीकृत पार्टनर के लिए: अपने ख़ुद के सिस्टम (CRM, क्लाइंट एरिया, ऑनबोर्डिंग) से अपने ग्राहकों के लिए Chart Premium एक्टिवेशन कोड बनाएँ, और देखें कि कौन-से उपयोग हुए। पार्टनर प्रोग्राम के बारे में।
प्रमाणीकरण
अपने पार्टनर पेज पर कुंजी बनाएँ और उसे Authorization हेडर में भेजें। कुंजियाँ mdp_pk_3f9a1c07de_… जैसी दिखती हैं; हम केवल फ़िंगरप्रिंट रखते हैं, इसलिए खोई हुई कुंजी फिर नहीं दिखाई जा सकती: नई बनाएँ।
curl https://app.marketapi.app/partner/v1/account \
-H "Authorization: Bearer mdp_pk_YOUR_KEY"
बिना रुकावट रोटेशन: रोटेट नई कुंजी बनाता है और पुरानी को 24 घंटे काम करने देता है। नई कुंजी अपने सिस्टम में डालें, फिर पुरानी अपने-आप समाप्त हो जाती है (या उसे तुरंत रद्द करें)। कभी किसी वेब पेज या मोबाइल ऐप में कुंजी न रखें: API को अपने सर्वर से कॉल करें।
सीमाएँ: हर पार्टनर के लिए प्रति मिनट 120 अनुरोध; एक पते से बहुत ज़्यादा विफल कुंजियाँ 10 मिनट के लिए ब्लॉक होती हैं। त्रुटियाँ JSON होती हैं: {"error": "…", "code": "invalid"}, HTTP 400, 401, 405 या 429 के साथ।
आपकी सीटें
GET /partner/v1/account
{"partner_id": "MP-7KQ3TA", "name": "Example Broker", "status": "active",
"seats": [{"plan": "pro", "name": "Pro", "days": 30, "left": 48, "trial": false, "expires_at": null}]}
हर सीट एक प्लान और अवधि (30, 91, 182 या 365 दिन) के लिए एक एक्टिवेशन कोड है। अपने पार्टनर पेज पर सीट पैक ख़रीदें (सामान्य कीमत से 30% कम, 10, 50, 250 के पैक)।
कोड बनाएँ
JSON बॉडी के साथ POST /partner/v1/codes:
| फ़ील्ड | अर्थ |
|---|---|
plan | pro या proplus |
months | 1, 3, 6 या 12 (सीट की अवधि), या days |
count | कितने कोड (1–5000); रेफ़रेंस देने पर छोड़ा जा सकता है |
customer_refs | वैकल्पिक: हर कोड के लिए आपका अपना रेफ़रेंस (जैसे ग्राहक का खाता नंबर), हर एक 120 अक्षरों तक। हम इसे छिपाकर (45•••68) कीड फ़िंगरप्रिंट के साथ रखते हैं, ताकि आप पूरे रेफ़रेंस से कोड खोज सकें, पर हम उसे कभी नहीं रखते। |
expires_days | अप्रयुक्त कोड कितने समय तक मान्य रहता है (डिफ़ॉल्ट 365; ट्रायल सीटें जल्दी समाप्त होती हैं)। समाप्त होने वाला अप्रयुक्त कोड अपनी सीट लौटा देता है। |
batch | बैच पहचानने के लिए वैकल्पिक नाम |
एक Idempotency-Key हेडर भेजें (कोई भी अनोखा टेक्स्ट): अगर आपका अनुरोध दोबारा भेजा जाता है, तो आपको नए के बजाय वही कोड मिलते हैं (24 घंटे तक)।
curl -X POST https://app.marketapi.app/partner/v1/codes \
-H "Authorization: Bearer mdp_pk_YOUR_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: onboarding-45123468" \
-d '{"plan": "pro", "months": 1, "customer_refs": ["45123468"]}'
201 {"count": 1, "codes": [{"code": "K7QM-3XTP-9RWA-FD2H", "hint": "FD2H", "customer_ref": "45•••68",
"plan": "pro", "days": 30, "expires_at": "2027-10-17T08:00:00+00:00"}]}
कोड उत्तर में केवल एक बार होते हैं। हर ग्राहक को उसका कोड दें; वे साइन इन करके https://app.marketapi.app/premium पर उसे दर्ज करते हैं और प्लान तुरंत शुरू होता है, या उनके मौजूदा प्लान के बाद।
बड़े बैच: 100 से ज़्यादा कोड हमारी टास्क कतार बनाती है। उत्तर 202 {"job": 812, "url": "/partner/v1/jobs/812"} होता है; उस URL से तब तक पूछें जब तक status done न हो; कोड उस उत्तर में केवल पहली बार होते हैं।
GET /partner/v1/jobs/812
{"status": "queued", "position": 2, "eta_s": 4.0} → {"status": "done", "count": 2000, "codes": [ … ]}
कोड खोजें
GET /partner/v1/codes?customer_ref=45123468&status=unused&limit=100&offset=0 — स्थिति: unused, redeemed या cancelled।
{"codes": [{"id": 9134, "hint": "FD2H", "customer_ref": "45•••68", "plan": "pro", "days": 30, "status": "redeemed",
"created_at": "…", "expires_at": "…", "redeemed_at": "…"}]}
कोड रद्द करें
POST /partner/v1/codes/9134/cancel — केवल अप्रयुक्त कोड; सीट तुरंत फिर ख़ाली हो जाती है।
सुरक्षा
- हर कॉल HTTPS पर होती है; कुंजियों की तुलना स्थिर समय में होती है और केवल उनका कीड फ़िंगरप्रिंट संग्रहीत होता है।
- जब भी कोई कुंजी बनाई या रोटेट की जाती है, हम आपके संपर्क पते पर ई-मेल करते हैं।
- कोड 32 प्रतीकों में से 16 अक्षरों के होते हैं (80 बिट), एक बार दिखाए जाते हैं, केवल फ़िंगरप्रिंट के रूप में संग्रहीत होते हैं, और दर्ज करते समय हर खाते के लिए प्रति घंटे 10 प्रयासों तक सीमित हैं।