Przejdź do treści
4SNS PLUS

Dokumentacja API panelu SMM

Panel SMM z API v2: zamawiaj usługi 4SNS PLUS ze swojego bota Telegram lub własnego panelu przez standardowe API panelu SMM v2.

Czym jest API panelu SMM?

API panelu SMM pozwala programowi pobrać listę usług, składać zamówienia oraz sprawdzać status zamówień i saldo bez wchodzenia na stronę. 4SNS PLUS obsługuje standardowy format API v2 panelu SMM, z którego korzysta wiele paneli i botów, więc kod podłączony już do innego panelu działa od razu po zmianie adresu URL i klucza.

Ceny i saldo w API są takie same jak na stronie. rate w odpowiedzi services to cena za 1,000 (dolary USA) z cennika, a zamówienia złożone przez add są pobierane z salda tak samo jak zamówienia na stronie i pojawiają się w historii zamówień w Twoim panelu. Kwoty zwrócone z anulowanych lub częściowych zamówień wracają na to samo saldo.

Podstawy

Endpointhttps://4snsplus.com/api/v2
MetodaPOST
Format zapytaniaPola formularza (application/x-www-form-urlencoded, multipart) lub body JSON
OdpowiedźJSON; błędy też przychodzą jako HTTP 200 z polem error
UwierzytelnianieParametr key (Twój klucz API) w każdym zapytaniu
Limit zapytań300 zapytań na minutę na klucz
WalutaDolar amerykański (USD)

Przykład zapytania

curl -X POST https://4snsplus.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=balance
import requests

r = requests.post("https://4snsplus.com/api/v2", data={
    "key": "YOUR_API_KEY",
    "action": "add",
    "service": 2210,
    "link": "https://t.me/yourchannel",
    "quantity": 1000,
})
print(r.json())  # {"order": 31877} or {"error": "..."}

Jak zdobyć klucz API?

Gdy pierwsze doładowanie zostanie zaksięgowane na saldzie, możesz utworzyć klucz API w menu Klucz API w swoim panelu. Klucz jest pokazywany tylko raz przy tworzeniu, więc zapisz go w bezpiecznym miejscu. Utworzenie nowego klucza od razu wyłącza poprzedni.

Klucz jest oddzielony od tokenu konta. W bocie lub na serwerze umieść tylko klucz API, nigdy token konta. Jeśli podejrzewasz, że klucz wyciekł, po prostu utwórz nowy na ekranie Klucz API.

Lista usług (services)

Zwraca wszystkie usługi, które możesz zamówić. rate to cena za 1,000 (USD), a gdy type to Package, jest to cena jednego pakietu. Gdy type to Custom Comments, zamiast ilości wysyłasz listę komentarzy. category to nazwa platformy plus nazwa grupy.

ParametrOpis
keyTwój klucz API
actionservices

Przykład odpowiedzi

[
  {
    "service": 2210,
    "name": "Members - 30 Days Non Drop - 30 Days Refill",
    "type": "Default",
    "category": "Telegram - Members (30 Days Non Drop)",
    "rate": "1.4300",
    "min": "100",
    "max": "50000",
    "refill": true,
    "cancel": false
  }
]

Złóż zamówienie (add)

Składa zamówienie i pobiera kwotę z salda. Kwota to cena za 1,000 razy ilość; dla Package to cena pakietu, a dla Custom Comments ilością jest liczba linii komentarzy. Zamówienia są dostępne na kontach z zaksięgowanym pierwszym doładowaniem. order w odpowiedzi to ID Twojego zamówienia.

ParametrOpis
keyTwój klucz API
actionadd
serviceID usługi (service z services)
linkPubliczny link. Dla Telegram: t.me/name, prywatny link zaproszenia t.me/+code, post t.me/name/123, bot t.me/botname. @name też jest akceptowana
quantityIlość (między min a max). Niepotrzebna dla Package i Custom Comments
commentsTylko Custom Comments. Jeden komentarz w linii, do 10,000 linii, do 500 znaków w linii

Przykład odpowiedzi

{
  "order": 31877
}

Status zamówienia (status)

Status jednego zamówienia. charge to faktycznie zapłacona kwota po zwrotach (USD, 6 miejsc po przecinku), start_count to licznik w chwili startu zamówienia, a remains to ilość jeszcze niedostarczona.

ParametrOpis
keyTwój klucz API
actionstatus
orderID zamówienia

Przykład odpowiedzi

{
  "charge": "1.430000",
  "start_count": "8120",
  "status": "In progress",
  "remains": "410",
  "currency": "USD"
}

Status wielu zamówień (status, orders)

Sprawdza do 100 zamówień naraz, z ID zamówień rozdzielonymi przecinkami. ID, które nie istnieją lub nie należą do Twojego konta, dostają w swoim miejscu błąd.

ParametrOpis
keyTwój klucz API
actionstatus
ordersLista ID zamówień, na przykład 1,10,100

Przykład odpowiedzi

{
  "1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
  "10": { "error": "Incorrect order ID" }
}

Zgłoś uzupełnienie (refill)

Dla zamówienia usługi z okresem uzupełnienia, które zakończyło się jako Completed lub Partial, zgłoś prośbę w okresie uzupełnienia liczonym od zakończenia zamówienia. Każde zamówienie może mieć jedną otwartą prośbę, z 24 godzinami odstępu między prośbami.

ParametrOpis
keyTwój klucz API
actionrefill
orderID zamówienia

Przykład odpowiedzi

{
  "refill": 512
}

Status uzupełnienia (refill_status)

Status jednej prośby o uzupełnienie.

ParametrOpis
keyTwój klucz API
actionrefill_status
refillID uzupełnienia (refill z odpowiedzi refill)

Przykład odpowiedzi

{
  "status": "Completed"
}

Saldo (balance)

Twoje saldo (USD, 6 miejsc po przecinku).

ParametrOpis
keyTwój klucz API
actionbalance

Przykład odpowiedzi

{
  "balance": "84.120000",
  "currency": "USD"
}

Wartości statusu zamówienia

PendingPrzyjęte. Przekazywane dalej, czeka na start albo operator sprawdza wynik przekazania
In progressW trakcie realizacji
CompletedDostarczone w całości
PartialDostarczone częściowo. Niedostarczona część wraca na saldo
CanceledNiedostarczone. Pełny zwrot na saldo

Wartości statusu uzupełnienia

PendingProśba o uzupełnienie przyjęta
In progressUzupełnienie w trakcie realizacji
CompletedUzupełnienie dostarczone
RejectedProśba o uzupełnienie nie została przyjęta

Komunikaty błędów

Błędy przychodzą jako JSON z polem error w odpowiedzi HTTP 200. W kodzie najpierw sprawdzaj pole error.

{
  "error": "Not enough funds on balance"
}
Invalid API keyBrak klucza, błędny klucz lub klucz zastąpiony nowym
Too many requestsPonad 300 zapytań na minutę. Spróbuj ponownie za chwilę
Incorrect actionWartości action nie ma na liście powyżej
Add funds firstZamówienie z konta, którego pierwsze doładowanie nie jest jeszcze zaksięgowane
Incorrect service IDBrak usługi do zamówienia o tym ID
Incorrect linkLink jest pusty lub nie jest adresem strony
Quantity out of rangeIlość poniżej minimum lub powyżej maksimum
Incorrect commentsCustom Comments są puste lub przekraczają 10,000 linii albo 500 znaków w linii
Not enough funds on balanceSaldo jest niższe niż kwota zamówienia. Doładuj i zamów ponownie
Incorrect order IDTo ID zamówienia nie należy do Twojego konta
Refill is not available for this serviceUsługa nie ma okresu uzupełnienia
Order is not finished yetUzupełnienie jest dostępne, gdy zamówienie ma status Completed lub Partial
Refill period has endedOkres uzupełnienia liczony od zakończenia zamówienia minął
Refill already requestedTo zamówienie ma już otwartą prośbę o uzupełnienie
Refill already requested, try again laterOd ostatniej prośby nie minęły jeszcze 24 godziny
Incorrect refill IDTo ID uzupełnienia nie należy do Twojego konta

Jak podłączyć API panelu SMM do bota Telegram?

1. Zapisz listę usług

Wywołuj services kilka razy dziennie i zapisuj ID usługi, nazwę, rate, min i max we własnych danych. Cenę dla klientów wylicz, dodając swoją marżę do rate, a przy zamówieniu używaj zapisanego ID usługi bez zmian.

2. Sprawdź ilość i link przed zamówieniem

Sprawdzenie, czy ilość mieści się między min a max i czy link ma format t.me, ogranicza błędy Quantity out of range i Incorrect link. Warto też wcześniej sprawdzić saldo przez balance.

3. Sprawdzaj status partiami

Co kilka minut sprawdzaj trwające zamówienia partiami po 100 z parametrem orders. To spokojnie mieści się w limicie 300 zapytań na minutę na klucz. Gdy zamówienie zmieni status na Completed, Partial lub Canceled, przekaż wynik klientowi.

4. Uzupełnienie tylko dla zakończonych zamówień

Gdy zamówienie usługi z uzupełnieniem ma status Completed lub Partial, możesz wysłać refill. Zapisz ID uzupełnienia z odpowiedzi i śledź postęp przez refill_status.