PastePanel
All articles
Article 10 min read

دليل تكامل SMM Panel API الشامل (PHP وPython وNode.js)

P

PastePanel Team

Insights for panel operators

يُعد إتقان SMM panel API نقطة التحول الحقيقية التي تفصل بين مجرد شراء الخدمات يدويًا وبين بناء عمل رقمي مؤتمت بالكامل يعمل على مدار الساعة دون تدخل بشري. فمن خلال واجهة برمجة التطبيقات، يمكنك ربط متجرك أو موقعك أو تطبيقك مباشرةً بلوحة تحكم SMM، لسحب قائمة الخدمات، وإرسال الطلبات، ومتابعة حالتها، وإدارة الرصيد، وكل ذلك عبر أكواد برمجية بسيطة تكتبها مرة واحدة وتعمل إلى الأبد. هذا الدليل موجّه للمطورين وأصحاب المشاريع والوكلاء (resellers) الذين يريدون فهم كيفية التكامل مع الـ API بلغات PHP وPython وNode.js من الألف إلى الياء.

الميزة الأهم في عالم لوحات التواصل الاجتماعي هي أن معظمها يتبع تنسيق API موحّدًا يُعرف في القطاع باسم أسلوب perfect panel، وهو معيار فعلي انتشر حتى صار أي مطور يفهمه قادرًا على التكامل مع أي لوحة تقريبًا بأقل قدر من التعديلات. وهذا بالضبط ما تعتمده منصة PastePanel: واجهة API متوافقة مع المعايير الصناعية السائدة، مبنية على Python وFastAPI بشكل غير متزامن (async) لتقديم استجابات سريعة وآمنة تتحمّل أحجام الطلبات الكبيرة.

في السطور التالية سنشرح بنية الـ API خطوة بخطوة، ونقدّم أمثلة عملية جاهزة للنسخ بثلاث لغات برمجية، ثم نتناول أنواع الطلبات المتقدمة مثل Drip-Feed وCustom Comments وSubscriptions، وننتقل بعدها إلى أفضل ممارسات الأمان ومعالجة الأخطاء، وصولًا إلى كيفية تحويل نفسك من مجرد مستهلك للـ API إلى مالك لوحة white-label خاصة بك.

ما هو SMM panel API ولماذا تحتاج إليه؟

الـ API (Application Programming Interface) هو ببساطة «لغة» تتيح لبرنامجك التحدث مع لوحة SMM دون فتح المتصفح أو الضغط على الأزرار. بدلًا من أن يدخل موظف ويضيف طلب followers أو likes أو views يدويًا، يرسل نظامك طلبًا برمجيًا واحدًا فيُنفَّذ الطلب فورًا. هذا التحول يفتح أمامك أبوابًا كثيرة:

  • الأتمتة الكاملة: ربط متجرك أو نظام الدفع بحيث يُنشأ الطلب تلقائيًا بمجرد نجاح عملية الشراء.
  • إعادة البيع (reseller): سحب خدمات مزوّد أعلى (provider) وعرضها في لوحتك الخاصة بأسعارك أنت.
  • التوسّع: معالجة آلاف الطلبات في الدقيقة دون طاقم بشري.
  • التكامل مع التطبيقات: بناء تطبيق موبايل أو بوت Telegram يعمل فوق نفس الـ API.

باختصار، الـ API هو العمود الفقري لأي مشروع SMM جاد. ومن دونه يبقى العمل محدودًا بالسرعة اليدوية وساعات الدوام، بينما معه يصبح النمو غير مرتبط بالجهد البشري إطلاقًا.

أساسيات الاتصال بواجهة الـ API

قبل كتابة أي سطر برمجي، عليك فهم ثلاثة مكوّنات أساسية تتكرر في كل تكامل مع أي SMM panel:

1. عنوان الـ Endpoint

هو الرابط الذي تُرسل إليه جميع الطلبات، وغالبًا ما يكون بالشكل https://yourpanel.pastepanel.com/api/v2. جميع العمليات (سحب الخدمات، إضافة الطلب، الاستعلام عن الحالة) تمر عبر هذا الرابط نفسه، ويتحدد نوع العملية عبر المعامل action.

2. مفتاح الـ API (API Key)

هو رمز سري فريد لحسابك، تجده عادةً في صفحة الملف الشخصي داخل اللوحة. يُرسَل هذا المفتاح مع كل طلب في المعامل key، وهو الذي يصادق هويتك ويربط الطلب برصيدك. تعامل معه كأنه كلمة مرور: لا تكشفه في كود الواجهة الأمامية (front-end) ولا ترفعه إلى مستودعات عامة.

3. طريقة الإرسال (Method)

تُرسل جميع الطلبات عادةً بأسلوب POST مع بيانات بصيغة x-www-form-urlencoded، ويأتي الرد بصيغة JSON سهلة القراءة والمعالجة. هذا التوحيد هو ما يجعل نمط perfect panel قابلًا للتكامل بسلاسة عبر أي لغة برمجة تقريبًا.

عمليات الـ API الأساسية التي يجب أن تعرفها

يقوم أي تكامل عملي على مجموعة محدودة من العمليات (actions) المتكررة. إليك أهمها كما تظهر في واجهة PastePanel المتوافقة مع معيار الصناعة:

  • services — جلب قائمة الخدمات الكاملة مع المعرّفات والأسعار والحد الأدنى والأقصى للكمية.
  • add — إضافة طلب جديد (يتطلب service وlink وquantity).
  • status — الاستعلام عن حالة طلب واحد (Pending، In progress، Completed، Partial، Canceled).
  • status (متعدد) — الاستعلام عن حالة عدة طلبات دفعة واحدة عبر قائمة معرّفات.
  • refill — طلب إعادة تعبئة (Refill) للطلبات التي تدعم ذلك.
  • cancel — طلب إلغاء (Cancel) واسترداد إن كان متاحًا.
  • balance — الاستعلام عن رصيد حسابك والعملة.

بمجرد أن تتقن هذه العمليات السبع، تصبح قادرًا على بناء أي نظام تقريبًا فوقها، من متجر بسيط إلى منصة إعادة بيع كاملة.

التكامل باستخدام PHP

لغة PHP لا تزال الأكثر انتشارًا في مواقع التجارة الإلكترونية وأنظمة إدارة المحتوى، ولذلك يبدأ كثير من المطورين تكاملهم بها. الكود التالي يوفّر فئة (class) جاهزة تغلّف جميع العمليات الأساسية باستخدام cURL:

<?php
class SmmPanelApi {
    public $api_url = 'https://yourpanel.pastepanel.com/api/v2';
    public $api_key = 'YOUR_API_KEY';

    // جلب كل الخدمات
    public function services() {
        return $this->connect(['action' => 'services']);
    }

    // إضافة طلب جديد
    public function order($data) {
        return $this->connect(array_merge(['action' => 'add'], $data));
    }

    // حالة طلب واحد
    public function status($order_id) {
        return $this->connect(['action' => 'status', 'order' => $order_id]);
    }

    // الرصيد
    public function balance() {
        return $this->connect(['action' => 'balance']);
    }

    private function connect($post) {
        $post['key'] = $this->api_key;
        $ch = curl_init($this->api_url);
        curl_setopt_array($ch, [
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST           => true,
            CURLOPT_POSTFIELDS     => http_build_query($post),
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_SSL_VERIFYPEER => true,
        ]);
        $result = curl_exec($ch);
        curl_close($ch);
        return json_decode($result, true);
    }
}

// مثال الاستخدام
$api = new SmmPanelApi();
$order = $api->order([
    'service'  => 1,
    'link'     => 'https://instagram.com/username',
    'quantity' => 1000,
]);
print_r($order);

لاحظ أننا فعّلنا CURLOPT_SSL_VERIFYPEER للتحقق من شهادة SSL، وهذه خطوة أمان أساسية يغفلها كثيرون. عند نجاح الطلب سيعيد الـ API معرّف الطلب (order id) الذي تحفظه في قاعدة بياناتك لمتابعته لاحقًا.

التكامل باستخدام Python

Python هي اللغة المفضّلة للأتمتة والبوتات وأنظمة الخلفية الحديثة، وهي نفس اللغة التي بُنيت عليها منصة PastePanel. باستخدام مكتبة requests يصبح التكامل واضحًا وأنيقًا:

import requests

class SmmPanelApi:
    def __init__(self, api_url, api_key):
        self.api_url = api_url
        self.api_key = api_key

    def _request(self, payload):
        payload['key'] = self.api_key
        response = requests.post(self.api_url, data=payload, timeout=30)
        response.raise_for_status()
        return response.json()

    def services(self):
        return self._request({'action': 'services'})

    def add_order(self, service, link, quantity, **extra):
        payload = {
            'action': 'add',
            'service': service,
            'link': link,
            'quantity': quantity,
        }
        payload.update(extra)   # لدعم الحقول الإضافية مثل runs و interval
        return self._request(payload)

    def status(self, order_id):
        return self._request({'action': 'status', 'order': order_id})

    def balance(self):
        return self._request({'action': 'balance'})


# مثال الاستخدام
api = SmmPanelApi('https://yourpanel.pastepanel.com/api/v2', 'YOUR_API_KEY')

order = api.add_order(service=1, link='https://tiktok.com/@username', quantity=5000)
print('Order ID:', order.get('order'))

state = api.status(order['order'])
print('Status:', state.get('status'))

استخدمنا response.raise_for_status() لالتقاط أخطاء الشبكة تلقائيًا، و**extra لتمرير حقول اختيارية إضافية (مثل runs وinterval الخاصة بطلبات Drip-Feed) دون الحاجة إلى تعديل الدالة. هذا النمط المرن يجعل الكود صالحًا لكل أنواع الطلبات تقريبًا.

التكامل باستخدام Node.js

إذا كان مشروعك يعمل بلغة JavaScript على الخادم، فإن Node.js يمنحك تكاملًا غير متزامن يتناسب تمامًا مع طبيعة الـ API الحديثة. المثال التالي يستخدم مكتبة axios مع بنية Promise/async:

const axios = require('axios');

class SmmPanelApi {
  constructor(apiUrl, apiKey) {
    this.apiUrl = apiUrl;
    this.apiKey = apiKey;
  }

  async request(payload) {
    const params = new URLSearchParams({ ...payload, key: this.apiKey });
    const { data } = await axios.post(this.apiUrl, params.toString(), {
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
      timeout: 30000,
    });
    return data;
  }

  services() {
    return this.request({ action: 'services' });
  }

  addOrder(service, link, quantity, extra = {}) {
    return this.request({ action: 'add', service, link, quantity, ...extra });
  }

  status(orderId) {
    return this.request({ action: 'status', order: orderId });
  }

  balance() {
    return this.request({ action: 'balance' });
  }
}

// مثال الاستخدام
(async () => {
  const api = new SmmPanelApi(
    'https://yourpanel.pastepanel.com/api/v2',
    'YOUR_API_KEY'
  );

  try {
    const order = await api.addOrder(1, 'https://youtube.com/watch?v=xyz', 2000);
    console.log('Order ID:', order.order);

    const balance = await api.balance();
    console.log('Balance:', balance.balance, balance.currency);
  } catch (err) {
    console.error('API Error:', err.message);
  }
})();

هنا استخدمنا URLSearchParams لبناء جسم الطلب بشكل صحيح، وغلّفنا كل شيء داخل try/catch لالتقاط الأخطاء. ملاحظة مهمة: مفتاح الـ API يجب أن يبقى في الخلفية (back-end) فقط، ولا يُرسَل أبدًا من كود المتصفح لأن ذلك يعرّضه للسرقة.

التعامل مع أنواع الطلبات المتقدمة

ما يميّز لوحة احترافية عن أخرى هو ثراء أنواع الطلبات التي تدعمها الـ API. توفّر PastePanel مجموعة كاملة تتجاوز الطلب البسيط (Default)، وكلها متاحة عبر نفس الـ endpoint مع تغيير الحقول المرسلة:

  • Package — طلب بكمية ثابتة محزّمة مسبقًا (يُرسَل service وlink فقط).
  • Custom Comments — إرسال قائمة تعليقات مخصّصة عبر الحقل comments (كل تعليق في سطر).
  • Drip-Feed — تقسيم التسليم عبر الزمن بإرسال runs (عدد الدفعات) وinterval (الفاصل بالدقائق)، وهو مثالي لنمو طبيعي المظهر.
  • Subscriptions — اشتراك يتابع الحساب ويضيف تفاعلًا على كل منشور جديد عبر username وmin وmax وposts.
  • Mentions / Poll — إشارات مخصّصة أو تصويت عبر حقول إضافية خاصة بكل نوع.
  • Mass Orders — إرسال عدد كبير من الطلبات المختلفة دفعة واحدة، وهو ما يوفّره PastePanel للمستخدم وعبر الـ API معًا.

الجميل أن هذه الحقول الإضافية تُضاف ببساطة إلى نفس دالة add التي كتبناها. فمثلًا لإرسال طلب Drip-Feed في Python تكتب: api.add_order(service=2, link='...', quantity=1000, runs=10, interval=60) فيُوزَّع التسليم على عشر دفعات بفارق ساعة بين كل دفعة.

أفضل الممارسات والأمان في التكامل

التكامل الناجح لا يقاس بنجاح أول طلب، بل بقدرته على الصمود تحت الضغط ومعالجة الحالات الاستثنائية. إليك أهم الممارسات التي تفصل بين تكامل هاوٍ وآخر احترافي على مستوى perfect panel:

  • معالجة الأخطاء دائمًا: افحص وجود حقل error في الرد قبل افتراض النجاح، وسجّل كل خطأ في سجلّاتك.
  • منع الطلبات المكرّرة (Idempotency): اربط كل عملية شراء داخلية بمعرّف فريد، ولا ترسل طلب add مرتين لنفس الشراء حتى لو فشلت الاستجابة الأولى شبكيًا.
  • احترام حدود المعدّل (Rate Limits): لا تُغرق الـ API بآلاف الطلبات في الثانية؛ استخدم طوابير (queues) وتأخيرًا مناسبًا.
  • الاستعلام عن الحالة بذكاء: استخدم الاستعلام المتعدد (multi-status) بدل استعلام كل طلب على حدة لتقليل الحمل.
  • حماية المفتاح: خزّن الـ API key في متغيرات البيئة (environment variables) لا في الكود، وفعّل تشفيرًا عند تخزينه. تجدر الإشارة إلى أن PastePanel تخزّن مفاتيح المزوّدين الأعلى (upstream providers) مشفّرة بتقنية Fernet لضمان عدم تسرّبها.
  • مراقبة الرصيد: استعلم عن balance دوريًا وأطلق تنبيهًا قبل نفاد الرصيد حتى لا تتوقف الطلبات فجأة.

هذه الممارسات ليست ترفًا؛ فأي خلل في idempotency قد يعني خصمًا مزدوجًا من رصيدك، وأي كشف للمفتاح قد يعني استنزاف حسابك بالكامل. الاحترافية هنا تعني افتراض الأسوأ ومعالجته مسبقًا.

من مستهلك للـ API إلى مالك لوحة white-label

بعد أن تتقن استهلاك SMM panel API، تكتشف سريعًا الفرصة الأكبر: بدل أن تكون عميلًا لدى مزوّد، لماذا لا تصبح أنت اللوحة التي يتكامل معها الآخرون؟ هذا هو جوهر نموذج white-label الذي تقدّمه PastePanel. فالمنصة متعددة المستأجرين (multi-tenant) تتيح لك إطلاق لوحة SMM كاملة باسمك ونطاقك (domain) وهويتك البصرية (branding) وثيماتك الخاصة، ثم تربطها بعدة مزوّدين upstream وتراقب أرصدتهم من مكان واحد.

وبفضل توافق الـ API مع نمط perfect panel السائد في الصناعة، فإن عملاءك ووكلاءك (resellers) سيتكاملون مع لوحتك بنفس الأكواد الثلاثة التي شرحناها في هذا المقال تمامًا، دون أي منحنى تعلّم إضافي. تحصل على 30 وحدة إدارية (admin modules)، ولوحة مستخدم كاملة، وواجهة API موثّقة، وأنظمة دفع عالمية جاهزة تشمل USDT وBinance وPayeer وCryptomus وNOWPayments وCoinPayments وStripe وbKash وABA بالإضافة إلى الدفع اليدوي.

لماذا PastePanel لتكامل الـ API الخاص بك؟

  • واجهة API متوافقة مع المعايير: نمط صناعي مألوف يجعل التكامل بأي لغة سهلًا وسريعًا.
  • أداء غير متزامن: بنية Python/FastAPI async سريعة وآمنة تتحمّل أحجام الطلبات المرتفعة.
  • أنواع طلبات كاملة: Default وPackage وCustom Comments وSubscriptions وDrip-Feed وMentions وPoll وMass Orders.
  • Refill وCancel مدمجان عبر الـ API لتجربة عملاء أفضل.
  • ربط مزوّدين متعددين: مفاتيح API مشفّرة بـ Fernet ومراقبة أرصدة تلقائية.
  • مدفوعات عالمية: عملات رقمية وبوابات محلية ودولية جاهزة.
  • white-label كامل: نطاقك وهويتك وثيماتك في بيئة multi-tenant.
  • نمو حقيقي عبر Instagram وTikTok وYouTube وTelegram وFacebook.

ابدأ الآن مجانًا

لم يعد التكامل مع SMM panel API أمرًا معقدًا كما كان يُتصوّر؛ فبضع عشرات من الأسطر البرمجية بلغة PHP أو Python أو Node.js تكفي لتشغيل عمل مؤتمت بالكامل. والخطوة الطبيعية التالية هي أن تمتلك اللوحة ذاتها بدلًا من أن تكون مجرد مستهلك لها.

أطلق لوحة SMM الاحترافية الخاصة بك مجانًا على PastePanel عبر pastepanel.com، واحصل على واجهة API جاهزة، وأنواع طلبات متكاملة، ومدفوعات عالمية، وتحكّم كامل بعلامتك التجارية white-label. حوّل معرفتك بالـ API اليوم إلى مشروع رقمي حقيقي ينمو على مدار الساعة.

Your brand, your revenue

Stop reading, start building.

The best lessons come from doing. Launch your own panel in five minutes.

Launch your panel