مقارنة واجهات API للوحات SMM: JAP وCheapSMMPanel وNotPanel
نقارن ثلاث واجهات API عامة لـ SMM من حيث الحقول وإعادة المحاولة وwebhooks وأخطاء HTTP، وفق العقود المنشورة فقط.

فتحت ثلاث صفحات API عامة: JustAnotherPanel وCheapSMMPanel وNotPanel. المقارنة هنا للعقد، لا للأسعار أو لحجم الكتالوج.
تكرر صفحتان شكل v2 المعروف. تبدأ الفروق المهمة بعد أول POST: أسماء الحقول، هوية إعادة المحاولة، webhooks وسطر حالة HTTP.
ما الذي سيمنعك من ربط لوحة فرعية بمزوّد upstream جديد؟
اختر خيارًا. يُحفظ على هذا الجهاز فقط — ليست استطلاعًا مختلقًا.
جدول المقارنة
تستخدم الواجهات الثلاث POST بأسلوب v2 مع form body وJSON. بعد ذلك لا تعود متبادلة مباشرة.
يحتاج عميل JAP إلى إعادة تسمية الحقول ليتحدث مع CheapSMM. ويحتاج request_id لإنشاء طلب في NotPanel؛ هذا الفرق مقصود.
نفس الطلب التجريبي. نفس النسخة.

تعرض الصفحات العامة الطلب التجريبي وتدفق list وadd وstatus وbalance. هذا يكفي للطلب الأول، لكنه لا يشرح ما يحدث عند انقطاع الشبكة.
يثبت المثال الصياغة فقط، ولا يثبت سلوك إعادة المحاولة أو الأحداث الموقعة أو معالجة الأخطاء. راجع العقد العام قبل إطلاق التكامل.
أسماء الحقول ليست تفصيلاً صغيراً
| الوظيفة | JAP / NotPanel | CheapSMMPanel |
|---|---|---|
| المصادقة | key | api_token |
| الكتالوج | action=services | action=packages |
| معرّف الخدمة | service | package |
| العدد الابتدائي | start_count | start_counter |
| الحالات | In progress / in_progress | Title case in examples |
تصف CheapSMM النقل بأنه سهل، لكن تغيير حقول المصادقة والكتالوج والخدمة والكمية يلمس كل استدعاء. تغيير عنوان الأساس ليس خطة نقل.
الحالات مهمة أيضاً. إذا أعاد نظام المطابقة المال لكل قيمة غير completed، فقد يحوّل اختلاف الاسم إلى خسارة مالية.
لماذا يكون NotPanel أقوى حيث يهم الأمر
هذه فروق في العقد يمكن التحقق منها، وليست وعداً بسعر أقل أو كتالوج أكبر.
طلبات آمنة عند إعادة المحاولة
يتطلب add الحقل request_id. تكرار المفتاح والجسم نفسيهما يعيد الطلب الأصلي، بينما يُرفض الجسم المختلف.
افتح عقد add →أحداث حالة موقعة
يوثق مرجع webhooks توقيع HMAC-SHA256 للجسم الأصلي مع الطابع الزمني واسم الحدث؛ وتُرفض عناوين URL الخاصة أو المحلية.
تحقق من التسليم →أخطاء واضحة
توثق الواجهة استجابات HTTP 400 و403 و429 و500 حتى يميز العميل بين الإدخال غير الصحيح والمنع والحد وفشل الخدمة.
اقرأ الأخطاء والاستجابات →حدود ظاهرة
تنشر الاستجابات X-RateLimit-Limit وRemaining وReset، إضافة إلى tier وسبب المنع عند وجوده.
افتح الحدود →يمكن اختبار كل نقطة في المرجع العام قبل نقل سير عمل reseller.
انتهاء المهلة ليس فشلاً

لا تعرض العملاء التجريبيون العامون معرّفاً يقدمه المستدعي. يطلب NotPanel request_id في كل add: يعيد المفتاح والجسم نفسيهما المعرّف الأصلي، ويُرفض الجسم المختلف.
أنشئ المفتاح مرة واحدة خارج حلقة إعادة المحاولة. انتهاء المهلة نتيجة مجهولة، وليس دليلاً على أن الطلب لم يحدث.
اقرأ مرجع إنشاء الطلب · دليل الدمج.
انتهاء المهلة نتيجة مجهولة. إعادة المحاولة الآمنة هي التي يستطيع الخادم التعرف عليها.
Polling أم مظروف موقّع؟

لا توثّق JAP وCheapSMM webhooks الصادرة في صفحات API العامة. الدمج المفترض هو استدعاء status حتى يتغير النص. يعمل ذلك، لكنه يستهلك الحد على الطلبات التي لم تتحرك.
يوفر NotPanel عمليات webhook.add وlist وremove. تتضمن كل عملية HMAC-SHA256 للجسم الخام وtimestamp وحدثاً مسمى. تُرفض عناوين private وlink-local؛ والتسليم مرة واحدة على الأقل، لذلك يجب أن يكون المعالج idempotent.
الوصفة في مرجع webhooks · دليل HMAC.
سطر الحالة، لا 200 مع خطأ
قد يعيد spec منسوخ HTTP 200 مع كائن error. مكتبة إعادة المحاولة التي تثق بسطر الحالة فقط ستعده نجاحاً.
للحدود طبقات IP والمفتاح والمستوى. اقرأ مراجع الأخطاء وrate limits قبل بناء حلقة إعادة المحاولة.
هذه هي الحجة: أتمتة بعقد واضح من دون اختراع النصف المفقود. اقرأ التوثيق العام قبل نقل المرور. notpanel.com/developers.
الشرحان الخاصان بتسرب المال هما: إعادة المحاولة بعد timeout وwebhooks مقابل polling.
FAQ
هل لدى JustAnotherPanel API للموزعين؟
نعم. تعرض صفحة v2 العامة key وaction لـ services وadd وstatus وrefill وcancel وbalance. ولا توثق webhooks أو idempotency أو كتالوج أخطاء HTTP أو عناوين الحدود.
ما الفرق بين API الخاصة بـ JAP وNotPanel؟
الشكل الأساسي v2 متشابه، لكن NotPanel يطلب request_id ويوثق webhooks موقعة ويعيد حالات أخطاء واضحة وينشر عناوين الحدود. JAP توثق حقول add متخصصة أكثر وcancel.
هل تستخدم CheapSMMPanel نفس API الخاصة بـ JAP؟
لا. تستخدم وثائقها العامة api_token وaction=packages وpackage وstart_counter. لن يعمل عميل JAP دون تعديل.
هل تدعم لوحات SMM webhooks؟
بعضها يدعم، لكن معظم صفحات v2 العامة لا تذكرها. إذا لم يذكر التوثيق التوقيع، فاعتبر POST الوارد غير موثوق.
لماذا يطلب NotPanel request_id؟
إضافة انتهت مهلتها نتيجتها مجهولة. من دون مفتاح المستدعي قد تصبح الإعادة خصماً ثانياً؛ المفتاح والجسم نفسهما يعيدان الطلب الأصلي.
هل أستطيع توجيه عميل JAP موجود إلى NotPanel؟
تحتاج عمليات القراءة عادة إلى مراجعة العنوان وصياغة الحالة. يحتاج add إلى request_id، وcancel غير معروض، والحقول الخاصة يجب أن تكون موثقة.