Przejdź do treści
1PANEL PLUS

Jak korzystać z API panelu SMM: przewodnik integracji API v2 dla resellerów

Autor: 1PANEL PLUS16 min czytania YouTubeOstatnia aktualizacja


Najważniejsze wnioski

Format żądań standardowego API v2 panelu SMM, jego 6 akcji, przykładowe odpowiedzi, komunikaty błędów i limity żądań, napisane dla resellerów.

API panelu SMM to połączenie, które automatycznie składa zamówienia i sprawdza ich status z innego panelu lub Twojego własnego programu. 1PANEL PLUS używa standardowego API v2 panelu SMM, więc jeśli masz już kod połączony z innym panelem, wystarczy zmienić adres i klucz, aby od razu się połączyć. API i strona używają tych samych usług, tych samych cen za 1,000 i tego samego salda.

Kto korzysta z API panelu SMM?

  • Resellerzy: wystawiają usługi na własnym panelu i automatycznie przekazują zamówienia klientów
  • Agencje: składają zamówienia dla wielu kanałów naraz o ustalonych porach
  • Programiści: tworzą skrypty, które zamawiają przy starcie transmisji lub publikacji nowego filmu
  • Operatorzy: zbierają saldo i statusy zamówień we własnym pulpicie

Jak dostanę klucz API?

Utwórz go na ekranie Klucz API w panelu klienta po zaksięgowaniu pierwszego doładowania. Klucz jest widoczny tylko raz, w chwili tworzenia, więc od razu go skopiuj i przechowuj w bezpiecznym miejscu. Gdy utworzysz nowy klucz, stary natychmiast przestaje działać, więc jeśli uważasz, że klucz wyciekł, po prostu utwórz nowy w jego miejsce.

Jak wysyłać żądania API?

Wysyłaj każde żądanie metodą POST na jeden adres https://1panelplus.com/api/v2. Użyj tego, co wolisz: pól formularza (application/x-www-form-urlencoded lub multipart) albo treści JSON (Content-Type: application/json), i dołączaj key oraz action do każdego żądania. Wszystkie odpowiedzi są w JSON.

Przykładowe żądanie (pola formularza): key=YOUR_API_KEY&action=balance

Przykładowe żądanie (JSON): {"key": "YOUR_API_KEY", "action": "balance"}

action
services
Wysyłane wartości
Brak
Zwracane wartości
Lista usług
action
add
Wysyłane wartości
service, link, quantity lub comments
Zwracane wartości
order (ID zamówienia)
action
status
Wysyłane wartości
Jedno order lub orders (do 100, rozdzielone przecinkami)
Zwracane wartości
charge, start_count, status, remains, currency
action
refill
Wysyłane wartości
order
Zwracane wartości
refill (ID refillu)
action
refill_status
Wysyłane wartości
refill
Zwracane wartości
status
action
balance
Wysyłane wartości
Brak
Zwracane wartości
balance, currency

Jak pobrać listę usług przez services?

Wyślij action=services, a dostaniesz wszystkie usługi w sprzedaży jako tablicę. Każda usługa zawiera service (ID usługi), name, type, category, rate, min, max, refill i cancel. rate to cena za 1,000 (USD); gdy type to Package, jest to cena jednego pakietu. refill ma wartość true dla usług z okresem refillu, a cancel zawsze false. category zawiera razem nazwę platformy i kategorię, więc odtworzysz kategorie na własnym panelu bez zmian.

Przykładowa odpowiedź: [{"service": SERVICE_ID, "name": "Nazwa usługi", "type": "Default", "category": "YouTube - Nazwa kategorii", "rate": "Cena za 1,000", "min": "Minimalna ilość", "max": "Maksymalna ilość", "refill": true, "cancel": false}]

Ceny i usługi mogą się zmieniać, więc jako reseller warto pobierać services ponownie w ustalonych odstępach i synchronizować ceny oraz minimalne i maksymalne ilości na swoim panelu.

Jak złożyć zamówienie przez add?

Wyślij action=add z service (ID usługi), link (publiczny link) i quantity, a zamówienie zostanie złożone, a koszt od razu pobrany z salda. order w odpowiedzi to ID zamówienia; zapisz je i używaj w status i refill. Zamówienia można składać z kont z zaksięgowanym pierwszym doładowaniem.

  • Zwykłe usługi: wyślij service, link i quantity
  • Usługi Custom Comments: wyślij comments zamiast quantity. Jeden komentarz w linii, do 500 znaków w linii, a liczba linii to ilość
  • Usługi Package: ilość nie jest potrzebna. Zamówienie dotyczy jednego pakietu

Przykładowe żądanie: key=YOUR_API_KEY&action=add&service=SERVICE_ID&link=https://www.youtube.com/watch?v=videoid&quantity=1000

Przykładowa odpowiedź: {"order": ORDER_ID}

Jak sprawdzić status zamówienia przez status?

Wyślij action=status z order (jedno ID zamówienia), aby dostać status tego zamówienia, albo wyślij orders z ID zamówień połączonymi przecinkami, aby sprawdzić do 100 naraz. Jeśli zarządzasz wieloma zamówieniami, grupowanie ich w orders oszczędza mnóstwo żądań.

Przykładowa odpowiedź (jedno): {"charge": "Pobrana kwota", "start_count": "Licznik startowy", "status": "In progress", "remains": "Pozostała ilość", "currency": "USD"}

Przykładowa odpowiedź (wiele): {"ORDER_ID_1": {"charge": "...", "start_count": "...", "status": "Completed", "remains": "0", "currency": "USD"}, "ORDER_ID_2": {"error": "Incorrect order ID"}}

Wartość status
Pending
Znaczenie
Przyjęte i czeka na start lub przechodzi do realizacji
Wartość status
In progress
Znaczenie
W trakcie dostarczania
Wartość status
Completed
Znaczenie
Dostarczone w całości
Wartość status
Partial
Znaczenie
Dostarczono część, a reszta kwoty wróciła na saldo
Wartość status
Canceled
Znaczenie
Nie udało się zrealizować, a cała kwota wróciła na saldo

charge to zapłacona kwota minus zwroty, więc po zamówieniu częściowym lub anulowanym od razu widzisz faktycznie wydaną kwotę. Statusy zamówień aktualizują się automatycznie mniej więcej co minutę, więc sprawdzanie status mniej więcej co minutę w zupełności wystarczy.

Jak używać refill i refill_status?

Wyślij action=refill z order, aby poprosić o refill, a dostaniesz refill (ID refillu). Prośba jest przyjmowana dla zamówień zrealizowanych w całości lub częściowo w usługach z okresem refillu, w okresie refillu liczonym od dnia zakończenia zamówienia, gdy nie trwa inny refill i od ostatniej prośby minęły 24 godziny. Wyślij action=refill_status z refill, a dostaniesz status: Pending, In progress, Completed lub Rejected.

Przykładowe odpowiedzi: {"refill": REFILL_ID} oraz {"status": "Completed"}

Zasady refillu są takie same jak na stronie. Szczegółowe warunki opisaliśmy w poradniku Okresy refillu wyjaśnione.

Jak sprawdzić saldo przez balance?

Wyślij action=balance, a dostaniesz bieżące saldo i walutę (USD). Jako reseller sprawdzaj saldo przed przekazaniem zamówień i ustaw powiadomienie, gdy spadnie poniżej ustalonej kwoty, aby zamówienia płynęły bez przerw.

Przykładowa odpowiedź: {"balance": "Bieżące saldo", "currency": "USD"}

Co oznaczają komunikaty błędów API?

Błędy wracają jako JSON ze zdaniem po angielsku w polu error. Każde zdanie ma stałą przyczynę, więc Twój program może porównać je bez zmian i obsłużyć.

Wartość error
Invalid API key
Znaczenie
Brak klucza lub klucz jest błędny
Wartość error
Too many requests
Znaczenie
Przekroczono limit żądań na minutę. Wyślij ponownie za chwilę
Wartość error
Add funds first
Znaczenie
Zamówisz po zaksięgowaniu pierwszego doładowania
Wartość error
Incorrect service ID
Znaczenie
To nie jest ID usługi w sprzedaży
Wartość error
Incorrect link
Znaczenie
Format linku jest nieprawidłowy
Wartość error
Quantity out of range
Znaczenie
Ilość jest poza zakresem min. i maks. usługi
Wartość error
Incorrect comments
Znaczenie
Linie komentarzy są puste albo linia ma ponad 500 znaków
Wartość error
Not enough funds on balance
Znaczenie
Saldo jest niższe niż koszt zamówienia
Wartość error
Incorrect order ID
Znaczenie
To nie jest ID zamówienia na tym koncie
Wartość error
Incorrect refill ID
Znaczenie
To nie jest ID refillu na tym koncie
Wartość error
Incorrect action
Znaczenie
Wartość action nie jest jedną z 6 akcji

Prośby o refill mogą zwrócić Refill is not available for this service (usługa nie ma okresu refillu), Order is not finished yet (zamówienie jeszcze się nie zakończyło), Refill period has ended (okres refillu minął) lub Refill already requested, try again later (trwa refill albo nie minęły 24 godziny).

Ile żądań API mogę wysłać?

Każdy klucz może wysłać do 300 żądań na minutę. Grupuj sprawdzanie statusu w paczki po 100 przez orders i pobieraj listę usług ponownie tylko w razie potrzeby, a zapas będzie spory. Na przykład przy 1,000 trwających zamówień 10 żądań raz na minutę sprawdzi je wszystkie.

Jak resellerzy ustalają ceny sprzedaży?

rate otrzymany przez API to cena 1PANEL PLUS za 1,000, a cenę sprzedaży na własnym panelu reseller ustala sam. Na przykład jeśli do usługi z rate $2.00 doliczysz 25%, sprzedajesz po $2.50 za 1,000; gdy klient zamówi 4,000, Twoja sprzedaż to $10.00, a w 1PANEL PLUS pobierane jest $8.00. Te ceny to przykłady pokazujące wyliczenie.

W jakiej kolejności skonfigurować połączenie API?

  1. Doładuj saldo i utwórz klucz API w panelu klienta
  2. Sprawdź klucz i połączenie przez balance
  3. Pobierz listę usług przez services i wystaw ją na swoim panelu
  4. Wyślij jedno add z najmniejszą ilością i odbierz ID zamówienia
  5. Potwierdź przez status, że status się zmienia, a potem włącz automatyczne zamawianie

Przykłady w curl, PHP, Python i Node.js oraz pełne opisy pól znajdziesz w dokumentacji API, a inne pytania w grupie API w FAQ.