واجهة برمجة تطبيقات أرباح الشركاء
مفتاح mek_live_ الخاص للقراءة فقط: الرصيد، والمتاح للسحب، والأرباح خلال فترة معينة عبر جميع خدمات Millida، والمشتركون في حزم موداتك. يعمل المفتاح فقط من عنوان IP الخاص بخادمك.
آخر تحديث 28 سبتمبر 2026
إذا كنت ترغب في عرض أرباحك على موقعك الإلكتروني أو في لوحة تحكم، فاربط واجهة برمجة تطبيقات الأرباح. فهي تُرجع الأرقام نفسها التي تظهر في محفظتك على Millida: الرصيد، والمبلغ المتاح للسحب، والأرباح خلال الفترة المحددة موزّعة حسب الخدمة: اشتراكات حزم المودات، والاستضافة، والتبرعات، والسوق، وغيرها.
واجهة برمجة التطبيقات للقراءة فقط. لا يمكنك سحب الأموال أو تغيير بيانات الدفع أو الدفع مقابل أي شيء من خلالها. المفتاح يرى محفظتك فقط؛ ولا يمكنك الوصول إلى بيانات الآخرين به.
المفتاح
يُصدر المفتاح في لوحة تحكم الشريك: الملف الشخصي ← القسم المسمّى باسم الاستوديو الخاص بك ← واجهة برمجة تطبيقات الأرباح. عند إصداره، حدّد عنوان IP للخادم الذي ستُرسل منه الطلبات. لا يعمل المفتاح من أي عنوان آخر، حتى لو سُرِق.
- يمكنك تحديد ما يصل إلى عشرة عناوين أو شبكات فرعية. يجب ألا تكون الشبكة الفرعية أوسع من
/24لعناوين IPv4 و/48لعناوين IPv6. - لا تُقبل العناوين المنزلية والمحلية (
127.0.0.1،10.x،192.168.x): فأنت بحاجة إلى العنوان العام للخادم. - يُعرض المفتاح مرة واحدة. احفظه على الخادم، في متغيرات البيئة، أو في مخزن أسرار، ولا تكشفه أبدًا للمتصفح.
- يمكنك امتلاك ما يصل إلى خمسة مفاتيح نشطة. إذا فقدت مفتاحًا أو غيّرت الخوادم، فأبطِل المفتاح القديم وأصدر مفتاحًا جديدًا. يتوقف المفتاح المُبطَل عن العمل فورًا.
جميع نقاط النهاية نسبية إلى https://api.millida.net/v2. يُمرَّر المفتاح في الترويسة:
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.availableKopecks | يمكن إنفاقه داخل Millida |
balance.withdrawableKopecks | يمكن سحبه الآن — المبلغ نفسه الظاهر على زر «سحب» |
balance.heldKopecks | مجمّد حتى انتهاء فترة الحجز |
period.earnedKopecks | الأرباح خلال الفترة عبر جميع الخدمات |
period.earnedBySource | الأرباح خلال الفترة حسب الخدمة، من الأكبر إلى الأصغر |
period.paidOutKopecks | المسحوب خلال الفترة |
period.truncated | true — هناك معاملات كثيرة جدًا في الفترة والمبالغ غير مكتملة: ضيّق الفترة |
subscriptions | المشتركون في حزم موداتك الآن، بإيجاز؛ التفاصيل في قسم «المشتركون» |
قيم source:
source | الخدمة |
|---|---|
catalog | كتالوج حزم المودات: الاشتراكات والمشتريات |
hosting | الاستضافة |
trade | تبرعات Trade |
market | السوق |
skins | Millida Skins |
rating | التقييم |
admin | استحقاقات Millida |
قد تُضاف قيم جديدة بمرور الوقت. إذا لم تتعرّف على قيمة، فاعرضها كما هي ولا تعاملها كخطأ.
المشتركون
GET /earnings-api/v1/subscriptions?from=2026-09-01T00:00:00.000Z&to=2026-09-30T23:59:59.999Z
كم عدد الأشخاص الذين يلعبون حزم موداتك حاليًا بموجب اشتراك Millida وما حدث للاشتراكات خلال الفترة. يُحتسب المشتركون حسب الوصول النشط، لا حسب المدفوعات: يُحتسب الشخص ما دام قادرًا على تشغيل حزمة المودات، بما في ذلك الأيام الثلاثة بعد تاريخ الدفع الممنوحة لمحاولة إعادة الخصم. لا يُحتسب الوصول عبر مفاتيح موقعك الإلكتروني، ولا وصول الفريق، ولا المشتريات لمرة واحدة، كاشتراكات.
تُرجع واجهة برمجة التطبيقات أرقامًا فقط. لا يمكنك معرفة من المشترك تحديدًا من خلالها.
يحدّد 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 | منهم، المشتركون في اشتراك «كل حزم المودات» |
total.packSubscribers | منهم، المشتركون في اشتراك حزمة مودات فردية |
partners[] | صف واحد لكل استوديو تملكه؛ إذا لم تكن شريكًا، فالقائمة فارغة |
active.packSubscriptions | إجمالي الاشتراكات في حزم المودات الفردية: يمكن أن يمتلك الشخص الواحد عدة اشتراكات |
renewal.autoRenewing | الاشتراكات التي ستتجدد تلقائيًا: الدفع التلقائي مفعّل |
renewal.canceledStillActive | الدفع التلقائي معطّل، لكن المدة المدفوعة لا تزال نشطة؛ سينتهي الوصول بعدها |
packs[].activeSubscribers | عدد الأشخاص الذين يمكنهم لعب حزمة المودات هذه بالاشتراك |
packs[].viaPack / packs[].viaBundle | منهم، بالاشتراك في حزمة المودات هذه وباشتراك «كل حزم المودات» |
period.newSubscriptions | الاشتراكات التي حدث خصمها الأول خلال الفترة |
period.canceled | الاشتراكات التي عُطّل فيها الدفع التلقائي خلال الفترة |
period.expired | الاشتراكات التي انتهى وصولها خلال الفترة ولم تُجدَّد |
period.refunded | الاشتراكات التي أُغلق وصولها خلال الفترة بسبب استرداد |
truncated | true — هناك بيانات كثيرة جدًا والأرقام غير مكتملة: ضيّق الفترة |
يحتسب bundle الأشخاص، بينما يحتسب packs الاشتراكات في حزم المودات الفردية.
إذا أُلغي اشتراك، فإنه يظهر في canceled في يوم الإلغاء، وفي
expired عند انتهاء المدة المدفوعة.
الأخطاء
| الرمز | code | ما يجب فعله |
|---|---|---|
| 401 | INVALID_KEY | المفتاح مفقود، أو به خطأ إملائي، أو هو مفتاح من نوع مختلف |
| 401 | REVOKED | أُبطل المفتاح — أصدر مفتاحًا جديدًا |
| 401 | OWNER_UNAVAILABLE | حساب مالك المفتاح محظور أو محذوف |
| 403 | IP_NOT_ALLOWED | لم يأتِ الطلب من عنوان ضمن المفتاح؛ يُظهر نص الخطأ العنوان الذي رأيناه |
| 429 | — | تجاوزت حد معدل الطلبات، أعد الطلب بعد دقيقة |
الحدود
يمكن للمفتاح الواحد إرسال ما يصل إلى 30 طلبًا في الدقيقة. تتغير الأرقام مع المدفوعات، لذا لا جدوى من استقصاء واجهة برمجة التطبيقات أكثر من مرة في الدقيقة. من الأفضل تخزين الاستجابة مؤقتًا على خادمك.
مثال
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"