Skip to content
डेवलपर्स के लिए · लॉन्चर में मॉडपैक

पार्टनर कमाई API

प्राइवेट रीड-ओनली mek_live_ की: बैलेंस, निकालने के लिए उपलब्ध रकम, सभी Millida सर्विसेज़ में एक अवधि की कमाई, और आपके मॉडपैक के सब्सक्राइबर। की सिर्फ़ आपके सर्वर के IP से काम करती है।

28 सितंबर 2026 को अपडेट किया गया

अगर आप अपनी वेबसाइट या पैनल पर अपनी कमाई देखना चाहते हैं, तो earnings API कनेक्ट करें। यह Millida पर आपके वॉलेट जैसे ही आंकड़े लौटाता है: बैलेंस, निकासी के लिए उपलब्ध राशि, और चुनी गई अवधि की कमाई सेवा के अनुसार टूटी हुई: मॉडपैक सब्सक्रिप्शन, होस्टिंग, डोनेशन, मार्केट और अन्य।

API केवल पढ़ने के लिए है। इसके ज़रिए आप पैसे नहीं निकाल सकते, payout विवरण नहीं बदल सकते, या किसी चीज़ का भुगतान नहीं कर सकते। कुंजी केवल आपका वॉलेट देखती है; इससे आप दूसरों का डेटा एक्सेस नहीं कर सकते।

कुंजी

कुंजी पार्टनर डैशबोर्ड में जारी की जाती है: Profile → आपके स्टूडियो के नाम वाला सेक्शन → Earnings API। इसे जारी करते समय उस सर्वर का IP पता बताएं जहां से रिक्वेस्ट भेजी जाएंगी। कुंजी किसी अन्य पते से काम नहीं करती, भले ही वह चोरी हो जाए।

  • आप दस पते या सबनेट तक बता सकते हैं। सबनेट IPv4 के लिए /24 और IPv6 के लिए /48 से चौड़ा नहीं होना चाहिए।
  • होम और लोकल पते (127.0.0.1, 10.x, 192.168.x) स्वीकार नहीं किए जाते: आपको सर्वर का पब्लिक पता चाहिए।
  • कुंजी एक बार दिखाई जाती है। इसे सर्वर पर, environment variables में, या secrets store में रखें, और इसे कभी ब्राउज़र में न दिखाएं।
  • आपके पास पांच तक सक्रिय कुंजियां हो सकती हैं। अगर कुंजी खो जाए या आप सर्वर बदलें, तो पुरानी कुंजी रद्द करें और नई जारी करें। रद्द की गई कुंजी तुरंत काम करना बंद कर देती है।

सभी endpoints https://api.millida.net/v2 के सापेक्ष हैं। कुंजी header में भेजी जाती है:

Authorization: Bearer mek_live_…

सारांश

GET /earnings-api/v1/summary?from=2026-09-01T00:00:00.000Z&to=2026-09-30T23:59:59.999Z

from और to ISO 8601 फ़ॉर्मैट में अवधि की सीमाएं हैं। दोनों पैरामीटर वैकल्पिक हैं: इनके बिना अवधि पूरे समय को कवर करती है।

{
  "currency": "RUB",
  "balance": {
    "balanceKopecks": 1254000,
    "availableKopecks": 1204000,
    "withdrawableKopecks": 980000,
    "heldKopecks": 50000,
    "pendingPayoutKopecks": 0,
    "tradeHoldKopecks": 0,
    "tradeHoldReadyAt": null,
    "marketHoldKopecks": 0,
    "marketWithdrawalReadyAt": null
  },
  "period": {
    "from": "2026-09-01T00:00:00.000Z",
    "to": "2026-09-30T23:59:59.999Z",
    "earnedKopecks": 3108000,
    "heldKopecks": 0,
    "spentKopecks": 0,
    "toppedUpKopecks": 0,
    "paidOutKopecks": 2000000,
    "refundKopecks": 0,
    "netKopecks": 1108000,
    "operations": 142,
    "earnedBySource": [
      { "source": "catalog", "amountKopecks": 2950000, "operations": 131 },
      { "source": "hosting", "amountKopecks": 158000, "operations": 11 }
    ],
    "truncated": false
  },
  "subscriptions": {
    "subscribers": 14,
    "bundleSubscribers": 2,
    "packSubscribers": 12
  }
}

सभी राशियां कोपेक में हैं: 1254000 का मतलब 12 540 ₽ है।

फ़ील्डअर्थ
balance.balanceKopecksवॉलेट में सब कुछ, फ़्रोज़न फंड सहित
balance.availableKopecksMillida के भीतर खर्च किया जा सकता है
balance.withdrawableKopecksअभी निकाला जा सकता है — “Withdraw” बटन जितनी ही राशि
balance.heldKopeckshold अवधि खत्म होने तक फ़्रोज़न
period.earnedKopecksअवधि के दौरान सभी सेवाओं से कमाया गया
period.earnedBySourceअवधि की कमाई सेवा के अनुसार, सबसे बड़ी से सबसे छोटी
period.paidOutKopecksअवधि के दौरान निकाला गया
period.truncatedtrue — अवधि में बहुत ज़्यादा ट्रांज़ैक्शन हैं और राशियां अधूरी हैं: अवधि छोटी करें
subscriptionsअभी आपके मॉडपैक के सब्सक्राइबर, संक्षेप में; विवरण “Subscribers” सेक्शन में

source के मान:

sourceसेवा
catalogमॉडपैक कैटलॉग: सब्सक्रिप्शन और खरीदारी
hostingहोस्टिंग
tradeTrade डोनेशन
marketमार्केट
skinsMillida Skins
ratingरेटिंग
adminMillida की ओर से जमा

समय के साथ नए मान जुड़ सकते हैं। अगर आपको कोई मान न पहचानें, तो उसे वैसे ही दिखाएं और उसे गलती न मानें।

सब्सक्राइबर

GET /earnings-api/v1/subscriptions?from=2026-09-01T00:00:00.000Z&to=2026-09-30T23:59:59.999Z

अभी कितने लोग Millida सब्सक्रिप्शन के तहत आपके मॉडपैक खेल रहे हैं और अवधि के दौरान सब्सक्रिप्शन के साथ क्या हुआ। सब्सक्राइबर सक्रिय एक्सेस से गिने जाते हैं, भुगतान से नहीं: कोई व्यक्ति तब तक गिना जाता है जब तक वह मॉडपैक लॉन्च कर सकता है, जिसमें retry charge के लिए दिए गए भुगतान की तारीख के बाद के तीन दिन भी शामिल हैं। आपकी वेबसाइट की कुंजियों से एक्सेस, टीम एक्सेस, और एक बार की खरीदारी सब्सक्रिप्शन में नहीं गिनी जाती।

API केवल संख्याएं लौटाता है। इसके ज़रिए आप यह नहीं जान सकते कि कौन सब्सक्राइब है।

from और to अवधि को उसी तरह तय करते हैं जैसे सारांश में। वे केवल period ब्लॉक को प्रभावित करते हैं; total, active, renewal और packs ब्लॉक हमेशा रिक्वेस्ट के समय की स्थिति दिखाते हैं।

{
  "from": "2026-09-01T00:00:00.000Z",
  "to": "2026-09-30T23:59:59.999Z",
  "generatedAt": "2026-09-28T16:30:00.000Z",
  "total": {
    "subscribers": 14,
    "bundleSubscribers": 2,
    "packSubscribers": 12
  },
  "partners": [
    {
      "partner": { "slug": "arcania-labs", "name": "Arcania Labs" },
      "active": {
        "subscribers": 14,
        "bundleSubscribers": 2,
        "packSubscribers": 12,
        "packSubscriptions": 12
      },
      "renewal": {
        "autoRenewing": { "bundle": 2, "packs": 12 },
        "canceledStillActive": { "bundle": 0, "packs": 0 }
      },
      "packs": [
        { "slug": "arcania", "title": "Arcania 1.4.3", "published": true, "activeSubscribers": 14, "viaPack": 12, "viaBundle": 2 },
        { "slug": "dread", "title": "DREAD - A Horror Survival Pack", "published": true, "activeSubscribers": 2, "viaPack": 0, "viaBundle": 2 }
      ],
      "period": {
        "newSubscriptions": { "bundle": 2, "packs": 12 },
        "canceled": { "bundle": 0, "packs": 0 },
        "expired": { "bundle": 0, "packs": 0 },
        "refunded": { "bundle": 0, "packs": 0 }
      },
      "truncated": false
    }
  ]
}

packs आपके सभी मॉडपैक की सूची देता है, उन सहित जिनके कोई सब्सक्राइबर नहीं है।

फ़ील्डअर्थ
total.subscribersअभी कितने अलग-अलग लोग आपके कम से कम एक मॉडपैक के सब्सक्राइबर हैं
total.bundleSubscribersइनमें से, “All modpacks” सब्सक्रिप्शन वाले
total.packSubscribersइनमें से, किसी एक मॉडपैक के सब्सक्रिप्शन वाले
partners[]आपके हर स्टूडियो के लिए एक पंक्ति; अगर आप पार्टनर नहीं हैं, तो सूची खाली है
active.packSubscriptionsअलग-अलग मॉडपैक के कुल सब्सक्रिप्शन: एक व्यक्ति के कई हो सकते हैं
renewal.autoRenewingवे सब्सक्रिप्शन जो अपने आप रिन्यू होंगे: auto-payment चालू है
renewal.canceledStillActiveauto-payment बंद है, लेकिन भुगतान की गई अवधि अभी सक्रिय है; उसके बाद एक्सेस खत्म हो जाएगा
packs[].activeSubscribersकितने लोग सब्सक्रिप्शन से यह मॉडपैक खेल सकते हैं
packs[].viaPack / packs[].viaBundleइनमें से, इस मॉडपैक के सब्सक्रिप्शन से और “All modpacks” सब्सक्रिप्शन से
period.newSubscriptionsवे सब्सक्रिप्शन जिनका पहला charge अवधि के दौरान हुआ
period.canceledवे सब्सक्रिप्शन जिनके लिए अवधि के दौरान auto-payment बंद किया गया
period.expiredअवधि के दौरान एक्सेस खत्म हुआ और रिन्यू नहीं हुआ
period.refundedरिफ़ंड के कारण अवधि के दौरान एक्सेस बंद कर दिया गया
truncatedtrue — बहुत ज़्यादा डेटा है और आंकड़े अधूरे हैं: अवधि छोटी करें

bundle लोगों को गिनता है, जबकि packs अलग-अलग मॉडपैक के सब्सक्रिप्शन गिनता है। अगर कोई सब्सक्रिप्शन रद्द होता है, तो वह रद्द होने के दिन canceled में दिखता है, और भुगतान की गई अवधि खत्म होने पर expired में।

त्रुटियां

कोडcodeक्या करें
401INVALID_KEYकुंजी मौजूद नहीं है, उसमें टाइपो है, या वह किसी और प्रकार की कुंजी है
401REVOKEDकुंजी रद्द कर दी गई है — नई जारी करें
401OWNER_UNAVAILABLEकुंजी के मालिक का अकाउंट ब्लॉक या डिलीट है
403IP_NOT_ALLOWEDरिक्वेस्ट कुंजी में दिए किसी पते से नहीं आई; त्रुटि के टेक्स्ट में वह पता दिखता है जो हमने देखा
429—रिक्वेस्ट की दर सीमा पार हो गई, एक मिनट बाद रिक्वेस्ट दोबारा भेजें

सीमाएं

एक कुंजी एक मिनट में 30 रिक्वेस्ट तक भेज सकती है। आंकड़े भुगतान के साथ बदलते रहते हैं, इसलिए API को मिनट में एक बार से ज़्यादा poll करने का कोई फ़ायदा नहीं। बेहतर है कि आप अपने सर्वर पर रिस्पॉन्स cache करें।

उदाहरण

curl -s https://api.millida.net/v2/earnings-api/v1/summary \
  -H "Authorization: Bearer $MILLIDA_EARNINGS_KEY"

curl -s https://api.millida.net/v2/earnings-api/v1/subscriptions \
  -H "Authorization: Bearer $MILLIDA_EARNINGS_KEY"