डॉक्स

पार्टनर 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:

फ़ील्डअर्थ
planpro या proplus
months1, 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 — केवल अप्रयुक्त कोड; सीट तुरंत फिर ख़ाली हो जाती है।

सुरक्षा