PastePanel
All articles
Article 10 min read

Integracja API SMM panel — kompletny przewodnik (PHP, Python, Node.js)

P

PastePanel Team

Insights for panel operators

Jeśli budujesz własny biznes marketingowy w social mediach, prędzej czy później dojdziesz do momentu, w którym ręczne składanie zamówień przestaje wystarczać — i wtedy z pomocą przychodzi API SMM panel. Integracja API SMM panel pozwala połączyć Twój sklep, aplikację, bota Telegram czy system reseller bezpośrednio z panelem, tak aby zamówienia na followers, likes, views czy subscribers realizowały się automatycznie, bez udziału człowieka. W tym przewodniku pokażemy krok po kroku, jak działa standardowe API SMM panel, jakie wywołania musisz znać oraz jak przeprowadzić integrację w trzech najpopularniejszych językach: PHP, Python i Node.js. Wszystkie przykłady oparte są na standardzie, który w branży bywa nazywany perfect panel API — czyli powszechnie stosowanym schemacie komunikacji, zgodnym również z panelami uruchamianymi na PastePanel.

Czym jest API SMM panel i po co je integrować

API (Application Programming Interface) to zestaw reguł, dzięki którym dwa systemy mogą rozmawiać ze sobą przez internet. W kontekście SMM panelu API jest mostem między Twoją aplikacją a silnikiem panelu, który przyjmuje zamówienia i przekazuje je do wybranego provider. Zamiast logować się do interfejsu użytkownika i klikać, wysyłasz zapytanie HTTP z parametrami — a panel odsyła odpowiedź w formacie JSON.

Najczęstsze scenariusze, w których integracja API SMM panel jest niezbędna, to:

  • Odsprzedaż usług (reseller): Twój własny sklep pobiera cennik z panelu, dodaje marżę i automatycznie składa zamówienia u dostawcy.
  • Boty i automatyzacja: bot na Telegram, który przyjmuje płatności i natychmiast uruchamia realizację zamówienia.
  • Integracja z CMS lub sklepem: WooCommerce, aplikacja mobilna albo panel white-label, który korzysta z zaplecza w tle.
  • Synchronizacja katalogu: cykliczne pobieranie listy usług, cen i statusów, aby oferta zawsze była aktualna.

Kluczowa zaleta jest taka, że gdy Twój panel obsługuje standard perfect panel, jeden raz napisany kod integracyjny działa niezależnie od tego, ilu masz dostawców pod spodem. Panel abstrahuje różnice między providerami, a Ty rozmawiasz z jednym, spójnym API.

Standard API SMM panel — struktura zapytań i odpowiedzi

Ogromna większość paneli, w tym rozwiązania działające w standardzie perfect panel, korzysta z tego samego, prostego wzorca. Komunikacja odbywa się przez metodę POST na pojedynczy endpoint, zwykle pod adresem w rodzaju https://twojpanel.com/api/v2. Do każdego zapytania dołączasz dwa obowiązkowe parametry:

  • key — Twój prywatny klucz API, który jednoznacznie identyfikuje konto.
  • action — nazwa akcji, którą chcesz wykonać (np. add, status, services, balance).

Odpowiedź zawsze przychodzi w formacie JSON, co ułatwia parsowanie w dowolnym języku. Najważniejsze akcje, które musisz znać, to:

  • services — pobiera pełną listę dostępnych usług wraz z ID, nazwą, kategorią, ceną za 1000 sztuk oraz limitami min/max.
  • add — składa nowe zamówienie; wymaga parametrów service, link i quantity, a dla typów zaawansowanych także dodatkowych pól.
  • status — sprawdza status zamówienia po jego ID (charge, start_count, status, remains, currency).
  • refill — uruchamia uzupełnienie (refill) spadków, jeśli usługa je obsługuje.
  • cancel — anuluje zamówienie, jeśli jego status na to pozwala.
  • balance — zwraca aktualne saldo konta i walutę.

Warto od razu zapoznać się z typami zamówień, które API udostępnia w PastePanel: Default, Package, Custom Comments, Subscriptions, Drip-Feed, Mentions oraz Poll. Każdy z nich przyjmuje nieco inny zestaw parametrów — do tego wrócimy w dalszej części.

Uwierzytelnianie i bezpieczeństwo klucza API

Klucz API to w praktyce hasło do Twoich pieniędzy — każdy, kto go zdobędzie, może składać zamówienia na Twój koszt. Dlatego przed napisaniem pierwszej linijki kodu ustal kilka zasad:

  • Nigdy nie umieszczaj klucza w kodzie front-endu ani w repozytorium. Trzymaj go w zmiennych środowiskowych lub w bezpiecznym magazynie sekretów.
  • Wywołuj API wyłącznie po stronie serwera. Przeglądarka użytkownika nigdy nie powinna widzieć klucza.
  • Używaj HTTPS — całe zapytanie, łącznie z kluczem, musi być szyfrowane w tranzycie.
  • Rotuj klucz, jeśli podejrzewasz wyciek, i monitoruj saldo pod kątem nietypowej aktywności.

Po stronie panelu bezpieczeństwo jest równie ważne. W PastePanel klucze API upstream provider są przechowywane w postaci zaszyfrowanej (Fernet), a całe zaplecze działa asynchronicznie na Pythonie/FastAPI, co przekłada się na szybkie i bezpieczne przetwarzanie zapytań. To istotne, bo integracja jest tak mocna, jak jej najsłabsze ogniwo — a bezpieczne przechowywanie sekretów to fundament każdego panelu w standardzie perfect panel.

Integracja API SMM panel w PHP

PHP wciąż jest najczęstszym wyborem dla resellerów, którzy działają na WordPressie lub własnych skryptach. Poniższa klasa opakowuje komunikację z panelem w wygodne metody, korzystając z rozszerzenia cURL.

<?php
class SmmApi {
    private $apiUrl = 'https://twojpanel.com/api/v2';
    private $apiKey;

    public function __construct($apiKey) {
        $this->apiKey = $apiKey;
    }

    private function request(array $params) {
        $params['key'] = $this->apiKey;
        $ch = curl_init($this->apiUrl);
        curl_setopt_array($ch, [
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST           => true,
            CURLOPT_POSTFIELDS     => http_build_query($params),
            CURLOPT_TIMEOUT        => 30,
            CURLOPT_SSL_VERIFYPEER => true,
        ]);
        $response = curl_exec($ch);
        if ($response === false) {
            throw new Exception('Blad polaczenia: ' . curl_error($ch));
        }
        curl_close($ch);
        return json_decode($response, true);
    }

    public function services() {
        return $this->request(['action' => 'services']);
    }

    public function balance() {
        return $this->request(['action' => 'balance']);
    }

    public function addOrder($service, $link, $quantity) {
        return $this->request([
            'action'   => 'add',
            'service'  => $service,
            'link'     => $link,
            'quantity' => $quantity,
        ]);
    }

    public function status($orderId) {
        return $this->request(['action' => 'status', 'order' => $orderId]);
    }
}

// Uzycie
$api = new SmmApi(getenv('SMM_API_KEY'));
$order = $api->addOrder(1, 'https://instagram.com/nazwa', 1000);
echo 'ID zamowienia: ' . $order['order'];

Zwróć uwagę na trzy rzeczy: klucz pobieramy ze zmiennej środowiskowej (getenv), włączamy weryfikację certyfikatu SSL, a każdą odpowiedź parsujemy do tablicy asocjacyjnej. Ten sam wzorzec sprawdzi się przy integracji z panelem obsługującym Instagram, TikTok, YouTube, Telegram czy Facebook — zmieniasz tylko ID usługi i link.

Integracja API SMM panel w Pythonie

Python jest naturalnym wyborem dla botów, zadań w tle i skryptów synchronizujących katalog. Biblioteka requests sprawia, że kod jest zwięzły i czytelny.

import os
import requests

class SmmApi:
    def __init__(self, api_key, api_url="https://twojpanel.com/api/v2"):
        self.api_key = api_key
        self.api_url = api_url

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

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

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

    def add_order(self, service, link, quantity, **extra):
        payload = {
            "action": "add",
            "service": service,
            "link": link,
            "quantity": quantity,
        }
        payload.update(extra)
        return self._request(payload)

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


# Uzycie
api = SmmApi(os.environ["SMM_API_KEY"])
order = api.add_order(1, "https://tiktok.com/@nazwa", 5000)
print("ID zamowienia:", order["order"])

info = api.status(order["order"])
print("Status:", info["status"], "| Pozostalo:", info["remains"])

Metoda add_order przyjmuje dodatkowe parametry przez **extra, co pozwala łatwo obsłużyć zamówienia typu drip-feed czy Custom Comments bez modyfikowania sygnatury funkcji. Dzięki raise_for_status() błędy HTTP nie przejdą niezauważone. Warto pamiętać, że sam PastePanel również działa na Pythonie i FastAPI, więc integracja w tym języku jest naturalnie spójna z architekturą zaplecza.

Integracja API SMM panel w Node.js

Node.js świetnie nadaje się do aplikacji real-time, webhooków i backendów obsługujących wiele równoległych zamówień. Poniżej wersja oparta na wbudowanym fetch (dostępnym w nowszych wersjach Node) i module URLSearchParams.

class SmmApi {
  constructor(apiKey, apiUrl = "https://twojpanel.com/api/v2") {
    this.apiKey = apiKey;
    this.apiUrl = apiUrl;
  }

  async _request(params) {
    const body = new URLSearchParams({ ...params, key: this.apiKey });
    const res = await fetch(this.apiUrl, {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body,
    });
    if (!res.ok) {
      throw new Error(`HTTP ${res.status}`);
    }
    return res.json();
  }

  services() {
    return this._request({ action: "services" });
  }

  balance() {
    return this._request({ action: "balance" });
  }

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

  status(orderId) {
    return this._request({ action: "status", order: orderId });
  }
}

// Uzycie
const api = new SmmApi(process.env.SMM_API_KEY);

(async () => {
  const order = await api.addOrder(1, "https://youtube.com/watch?v=xxxx", 2000);
  console.log("ID zamowienia:", order.order);

  const info = await api.status(order.order);
  console.log("Status:", info.status);
})();

Asynchroniczna natura Node.js sprawia, że łatwo jest wysyłać wiele zapytań równolegle — na przykład sprawdzać status setek zamówień w tle. Pamiętaj tylko o rozsądnym ograniczaniu współbieżności, aby nie przeciążyć API i nie wpaść w limity zapytań.

Zaawansowane typy zamówień: drip-feed, mass orders, refill i cancel

Podstawowe zamówienie to dopiero początek. Prawdziwa siła integracji ujawnia się przy typach zaawansowanych, które PastePanel udostępnia przez to samo API w standardzie perfect panel.

Drip-Feed

Drip-feed rozkłada dostarczanie w czasie, co wygląda znacznie bardziej naturalnie niż nagły skok. Zamiast jednego parametru quantity podajesz ilość na jedną porcję, liczbę powtórzeń (runs) oraz odstęp w minutach (interval):

api.add_order(1, "https://instagram.com/nazwa",
              quantity=100, runs=10, interval=60)

Powyższe zamówienie dostarczy po 100 followers dziesięć razy, co godzinę — łącznie 1000, ale rozłożone równomiernie w ciągu dnia.

Custom Comments i Mentions

Dla komentarzy niestandardowych przekazujesz parametr comments z listą tekstów oddzielonych znakami nowej linii. Dla wzmianek (Mentions) używasz pól takich jak usernames lub hashtags, w zależności od usługi.

Mass Orders

Funkcja Mass Orders pozwala złożyć wiele zamówień naraz — idealnie sprawdza się przy imporcie z pliku lub kolejki. Po stronie integracji zwykle iterujesz po liście i wywołujesz add dla każdego wiersza, kontrolując współbieżność.

Refill i Cancel

Jeśli usługa oferuje gwarancję uzupełnienia, wywołanie refill z ID zamówienia uruchomi dopełnienie spadków. Z kolei cancel pozwala wycofać zamówienie, które jeszcze się nie rozpoczęło. Obie akcje warto wystawić użytkownikom w Twoim panelu, aby obsługa posprzedażowa była w pełni samoobsługowa.

Obsługa błędów i dobre praktyki integracji

Solidna integracja API SMM panel to nie tylko wysyłanie zapytań, ale też przewidywanie tego, co może pójść nie tak. Odpowiedź błędu zwykle wygląda tak: {"error": "Not enough funds"}. Zbuduj więc logikę, która:

  • Sprawdza obecność klucza error w każdej odpowiedzi, zanim uzna zamówienie za udane.
  • Zapisuje ID zamówienia zwrócone przez panel — to Twój jedyny sposób na późniejsze śledzenie statusu.
  • Ponawia próby z wykładniczym opóźnieniem przy błędach sieciowych, ale nigdy ślepo — inaczej ryzykujesz podwójne zamówienia.
  • Respektuje limity zapytań (rate limits) i grupuje sprawdzanie statusów zamiast odpytywać API co sekundę.
  • Loguje każde wywołanie wraz z parametrami i odpowiedzią, co bezcenne przy reklamacjach klientów.

Dobrą praktyką jest też cache'owanie listy usług. Katalog nie zmienia się co minutę, więc pobieranie go raz na kilkanaście minut i przechowywanie lokalnie odciąża API i przyspiesza Twój interfejs. Gdy budujesz biznes reseller w modelu white-label, taka higiena integracji przekłada się wprost na niższe koszty i mniej reklamacji.

Płatności i model reseller w praktyce

Integracja API nabiera sensu biznesowego dopiero wtedy, gdy połączysz ją z przyjmowaniem płatności. PastePanel obsługuje płatności na całym świecie — USDT, Binance, Payeer, Cryptomus, NOWPayments, CoinPayments, Stripe, bKash, ABA oraz płatności ręczne. Typowy przepływ w modelu reseller wygląda tak: klient wpłaca środki (np. w USDT przez Binance albo Cryptomus), Twój system dolicza je do salda, a następnie przy złożeniu zamówienia API pobiera opłatę i przekazuje realizację do provider. Ponieważ całość dzieje się automatycznie przez API SMM panel, możesz obsługiwać klientów z różnych stref czasowych bez ręcznej pracy — panel działa 24/7.

Dlaczego warto integrować się z PastePanel

  • Standardowe, przewidywalne API zgodne ze schematem perfect panel — jeden raz napisany kod działa niezależnie od liczby dostawców.
  • Pełne SDK w trzech językach — gotowe wzorce dla PHP, Python i Node.js skracają wdrożenie do godzin, nie tygodni.
  • Wszystkie typy zamówień — Default, Package, Custom Comments, Subscriptions, Drip-Feed, Mentions i Poll, a do tego Mass Orders oraz Refill i Cancel.
  • White-label i multi-tenant — własna domena, branding i motywy, aby marka była w pełni Twoja.
  • Wielu upstream provider z monitoringiem salda i kluczami API szyfrowanymi metodą Fernet.
  • 30 modułów administracyjnych plus panel użytkownika z pełnym API do samodzielnej integracji.
  • Globalne płatności — USDT, Binance, Cryptomus, NOWPayments, Stripe i wiele innych metod w jednym miejscu.
  • Szybka i bezpieczna architektura oparta na asynchronicznym Pythonie i FastAPI, gotowa na wzrost dla Instagram, TikTok, YouTube, Telegram i Facebook.

Podsumowanie i pierwszy krok

Integracja API SMM panel to najważniejszy krok w drodze od ręcznej obsługi do w pełni zautomatyzowanego, skalowalnego biznesu. Niezależnie od tego, czy piszesz w PHP, Pythonie czy Node.js, wzorzec jest ten sam: uwierzytelnij się kluczem, wyślij akcję przez POST, sparsuj JSON i obsłuż błędy. Gdy opanujesz podstawowe akcje — services, add, status, refill, cancel i balance — cała reszta, łącznie z drip-feed i mass orders, staje się prostym rozszerzeniem tego schematu. A ponieważ PastePanel trzyma się branżowego standardu perfect panel, Twój kod pozostanie kompatybilny i łatwy w utrzymaniu na lata.

Gotowy, aby uruchomić własny panel i zacząć integrację? Załóż darmowe konto i wystartuj swój własny, brandowany SMM panel z pełnym API już dziś na PastePanel (pastepanel.com) — własna domena, płatności na całym świecie i gotowe SDK czekają na Ciebie.

Your brand, your revenue

Stop reading, start building.

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

Launch your panel