Skip to content
Geliştiriciler için · Başlatıcıdaki mod paketleri

Ortaklık kazanç API'si

Özel salt okunur mek_live_ anahtarı: bakiye, çekilebilir tutar, tüm Millida servislerinde bir dönem için kazançlar ve mod paketlerine abone olanlar. Anahtar yalnızca sunucunun IP'sinden çalışır.

28 Eylül 2026 tarihinde güncellendi

Kazançlarını kendi sitende veya bir panelde görmek istiyorsan kazanç API'sini bağla. Millida'daki cüzdanınla aynı rakamları döndürür: bakiye, çekime uygun tutar ve seçilen dönem için hizmete göre ayrılmış kazançlar: mod paketi abonelikleri, hosting, bağışlar, market ve diğerleri.

API salt okunurdur. Para çekemez, ödeme bilgilerini değiştiremez veya onun üzerinden herhangi bir şey için ödeme yapamazsın. Anahtar yalnızca senin cüzdanını görür; onunla başkalarının verilerine erişemezsin.

Anahtar

Anahtar, partner panelinde verilir: Profil → stüdyonun adını taşıyan bölüm → Kazanç API'si. Verirken isteklerin gönderileceği sunucunun IP adresini belirt. Anahtar başka hiçbir adresten çalışmaz, çalınsa bile.

  • En fazla on adres veya alt ağ belirtebilirsin. Alt ağ, IPv4 için /24'ten, IPv6 için /48'den geniş olamaz.
  • Ev ve yerel adresler (127.0.0.1, 10.x, 192.168.x) kabul edilmez: sunucunun genel adresi gerekir.
  • Anahtar bir kez gösterilir. Onu sunucuda, ortam değişkenlerinde veya bir gizli bilgi deposunda sakla ve asla tarayıcıya açma.
  • En fazla beş etkin anahtarın olabilir. Bir anahtarı kaybedersen veya sunucu değiştirirsen, eski anahtarı iptal et ve yeni bir tane ver. İptal edilen anahtar anında çalışmayı durdurur.

Tüm uç noktalar https://api.millida.net/v2 temelindedir. Anahtar, başlıkta iletilir:

Authorization: Bearer mek_live_…

Özet

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

from ve to, dönem sınırlarıdır ve ISO 8601 biçimindedir. Her iki parametre de isteğe bağlıdır: onlar olmadan dönem tüm zamanı kapsar.

{
  "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
  }
}

Tüm tutarlar kopek cinsindendir: 1254000 demek 12 540 ₽ demektir.

AlanAnlamı
balance.balanceKopeckscüzdandaki her şey, dondurulmuş fonlar dahil
balance.availableKopecksMillida içinde harcanabilir
balance.withdrawableKopecksşu anda çekilebilir — “Çek” düğmesindekiyle aynı tutar
balance.heldKopecksbekleme süresi bitene kadar dondurulmuş
period.earnedKopecksdönem boyunca tüm hizmetlerden kazanılan
period.earnedBySourcedönem boyunca hizmete göre kazançlar, büyükten küçüğe
period.paidOutKopecksdönem boyunca çekilen
period.truncatedtrue — dönemde çok fazla işlem var ve tutarlar eksik: dönemi daralt
subscriptionsşu anda mod paketlerine abone olanlar, kısaca; ayrıntılar “Aboneler” bölümünde

source değerleri:

sourceHizmet
catalogmod paketi kataloğu: abonelikler ve satın almalar
hostinghosting
tradeTrade bağışları
marketmarket
skinsMillida Skins
ratingrating
adminMillida tahakkukları

Zamanla yeni değerler eklenebilir. Bir değeri tanımıyorsan olduğu gibi göster ve onu hata olarak görme.

Aboneler

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

Şu anda kaç kişi Millida aboneliğiyle mod paketlerini oynuyor ve dönem boyunca aboneliklere ne oldu. Aboneler ödemeye göre değil, etkin erişime göre sayılır: kişi, mod paketini başlatabildiği sürece sayılır; yeniden deneme tahsilatı için ödeme tarihinden sonra verilen üç gün dahil. Kendi sitenin anahtarları üzerinden erişim, ekip erişimi ve tek seferlik satın almalar abonelik sayılmaz.

API yalnızca sayıları döndürür. Onun üzerinden tam olarak kimin abone olduğunu öğrenemezsin.

from ve to, dönemi özettekiyle aynı şekilde tanımlar. Yalnızca period bloğunu etkiler; total, active, renewal ve packs blokları her zaman istek anındaki durumu gösterir.

{
  "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, abonesi olmayanlar dahil tüm mod paketlerini listeler.

AlanAnlamı
total.subscribersşu anda en az bir mod paketine abone olan farklı kişi sayısı
total.bundleSubscribersbunlardan “Tüm mod paketleri” aboneliği olanlar
total.packSubscribersbunlardan tek bir mod paketine aboneliği olanlar
partners[]sahip olduğun her stüdyo için bir satır; partner değilsen liste boştur
active.packSubscriptionstek tek mod paketlerine toplam abonelikler: bir kişinin birkaç tane olabilir
renewal.autoRenewingotomatik yenilenecek abonelikler: otomatik ödeme açık
renewal.canceledStillActiveotomatik ödeme kapalı, ama ödenen süre hâlâ etkin; erişim ondan sonra bitecek
packs[].activeSubscribersbu mod paketini abonelikle kaç kişi oynayabilir
packs[].viaPack / packs[].viaBundlebunlardan bu mod paketine abonelikle ve “Tüm mod paketleri” aboneliğiyle olanlar
period.newSubscriptionsilk tahsilatı dönem içinde gerçekleşen abonelikler
period.canceleddönem içinde otomatik ödemesi kapatılan abonelikler
period.expireddönem içinde erişimi biten ve yenilenmeyen abonelikler
period.refundeddönem içinde iade nedeniyle erişimi kapatılan abonelikler
truncatedtrue — çok fazla veri var ve rakamlar eksik: dönemi daralt

bundle kişileri sayar, packs ise tek tek mod paketlerine abonelikleri sayar. Bir abonelik iptal edilirse iptal günü canceled içinde, ödenen süre bittiğinde ise expired içinde görünür.

Hatalar

KodcodeNe yapmalısın
401INVALID_KEYanahtar eksik, yazım hatası var veya farklı türde bir anahtar
401REVOKEDanahtar iptal edilmiş — yeni bir tane ver
401OWNER_UNAVAILABLEanahtar sahibinin hesabı engellenmiş veya silinmiş
403IP_NOT_ALLOWEDistek, anahtardaki bir adresten gelmedi; hata metni gördüğümüz adresi gösterir
429—istek hızı sınırı aşıldı, isteği bir dakika sonra yeniden dene

Sınırlar

Tek bir anahtar dakikada en fazla 30 istek gönderebilir. Rakamlar ödemelerle birlikte değişir, bu yüzden API'yi dakikada birden fazla yoklamanın anlamı yok. Yanıtı sunucunda önbelleğe alman daha iyi olur.

Örnek

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"