API
Better Social nudi API za programere u stilu JustAnotherPanel (JAP) v2 koji koriste mnogi SMM paneli, pa većina postojećih klijenata za panele radi čim promijenite endpoint i ključ.
Endpoint i autentifikacija
| Endpoint | https://better-social.pro/api/v2 |
|---|---|
| Metode | POST sa tijelom u formatu form-urlencoded ili JSON, ili GET sa parametrima u URL-u |
| Obavezno u svakom zahtjevu | key (vaš lični API ključ) i action |
| Format odgovora | JSON |
| Valuta | USD |
Kako da dobijete ključ: u kontrolnoj ploči otvorite Tools → API. Ključ se automatski pravi kada prvi put otvorite tu stranicu. Odatle ga možete prikazati, kopirati ili generirati ponovo (Regenerate). Kada generirete novi ključ, stari odmah prestaje da radi.
API narudžbe podležu istim pravilima za stanje i provjeru kao narudžbe iz kontrolne ploče. GET je zgodan za brze testove, ali stavlja vaš ključ u URL-ove i logove servera, pa u produkciji koristite POST.
Čuvajte API ključ u tajnosti
Svako ko ima vaš ključ može da šalje narudžbe sa vašim stanjem. Držite ga samo na svom serveru. Nikada ga ne stavljajte u JavaScript u pregledniku, mobilne aplikacije ili javne repozitorijume. Ako procuri, odmah ga generirite ponovo u kontrolnoj ploči. Tim Better Social-a vam nikada neće tražiti API ključ.
Pregled akcija
| Akcija | Parametri (pored key) | Vraća |
|---|---|---|
services | nema | Spisak dostupnih usluga |
add | service, link, quantity, opciono comments | {"order": ..., "charge": ...} |
status | order (ili orders) | Status jedne narudžbe (ili više njih) |
multi_status | orders (razdvojeni zarezom) | Statusi po ID-u narudžbe |
balance | nema | {"balance": ..., "currency": "USD"} |
refill | order ili orders | Odgovor dobavljača |
cancel | order ili orders | Odgovor dobavljača |
services: spisak usluga
curl -X POST https://better-social.pro/api/v2 \
-d key=YOUR_API_KEY \
-d action=services
Vraća niz sa jednim objektom za svaku dostupnu uslugu:
| Polje | Tip | Značenje |
|---|---|---|
service | integer | ID usluge, koristi se u add |
name | string | Naziv usluge |
type | string | Uvijek "Default" |
category | string | Naziv kategorije |
rate | string | Cijena za 1000 u USD, 4 decimale |
min, max | string | Minimalna i maksimalna količina |
refill | boolean | Da li usluga podržava dopune |
cancel | boolean | Da li usluga podržava zahtjeve za otkazivanje |
dripfeed | boolean | Oznaka za drip-feed |
needs_custom_text | boolean | Ako je true, uz add pošaljite comments |
Primjer odgovora (vrijednosti su ilustrativne)
[
{
"service": 101,
"name": "TikTok Live Likes",
"type": "Default",
"category": "TikTok Live",
"rate": "1.5000",
"min": "100",
"max": "100000",
"refill": false,
"cancel": false,
"dripfeed": false,
"needs_custom_text": false
}
]
add: slanje narudžbe
| Parametar | Obavezan | Opis |
|---|---|---|
service | da | ID usluge (integer) iz services |
link | da | Ciljno korisničko ime ili link. Za TikTok Live usluge: @username ili https://www.tiktok.com/@username |
quantity | da* | Cijeli broj između vrijednosti min i max za uslugu |
comments | za usluge sa prilagođenim komentarima | Obavezno kada je needs_custom_text jednako true. Jedan komentar po redu. Količina je tada broj nepraznih redova, a quantity koji pošaljete se zanemaruje. |
Iznos je rate × quantity ÷ 1000 i skida se sa vašeg stanja. Ako stanje nije dovoljno, narudžba se odbija.
curl -X POST https://better-social.pro/api/v2 \
-d key=YOUR_API_KEY \
-d action=add \
-d service=101 \
-d link=@username \
-d quantity=500
Odgovor
{"order": 123456, "charge": "0.7500"}
Vraćenu vrijednost order koristite za status, refill i cancel. Ručne usluge vraćaju ID narudžbe kao string i "manual": true, na primjer {"order": "3f2c...", "manual": true, "charge": "5.0000"}.
Prilagođeni komentari (JSON tijelo)
curl -X POST https://better-social.pro/api/v2 \
-H "Content-Type: application/json" \
-d '{"key":"YOUR_API_KEY","action":"add","service":202,"link":"@username","comments":"Great stream!\nHello from Podgorica"}'
status: provjera narudžbe
curl -X POST https://better-social.pro/api/v2 \
-d key=YOUR_API_KEY \
-d action=status \
-d order=123456
Odgovor
{
"charge": "0.7500",
"start_count": null,
"status": "In progress",
"remains": "120",
"currency": "USD",
"order": 123456
}
statusstiže od dobavljača (na primjerPending,In progress,Completed,Partial,Canceled).remainsje broj koji dobavljač još nije isporučio, ilinullako nije poznat.start_countje trenutno uvijeknull.- Nepoznat ID narudžbe vraća
{"error": "not found"}. - Svaki poziv za status traži svjež status od dobavljača, zato nemojte provjeravati status u brzoj petlji.
multi_status: provjera više narudžba
Pošaljite orders kao spisak razdvojen zarezima (radi i razdjelnik |). Odgovor je objekat sa ključevima koji su ID-jevi koje ste poslali. status sa više ID-jeva u orders ponaša se isto. status sa jednim ID-jem vraća jedan objekat.
curl -X POST https://better-social.pro/api/v2 \
-d key=YOUR_API_KEY \
-d action=multi_status \
-d orders=123456,123457
Odgovor
{
"123456": {"charge": "0.7500", "start_count": null, "status": "Completed", "remains": "0", "currency": "USD", "order": 123456},
"123457": {"error": "not found"}
}
balance: provjera stanja
curl "https://better-social.pro/api/v2?key=YOUR_API_KEY&action=balance"
Odgovor
{"balance": "12.3400", "currency": "USD"}
refill i cancel
Pošaljite order (jedan ID) ili orders (razdvojeni zarezom). Vaš zahtjev se prosljeđuje dobavljaču, a njegov odgovor vraća se nepromijenjen. Za više ID-jeva odgovor stiže kao objekat sa vašim ID-jevima kao ključevima. Nepoznati ID-jevi vraćaju {"error": "not found"}.
curl -X POST https://better-social.pro/api/v2 \
-d key=YOUR_API_KEY \
-d action=refill \
-d order=123456
Da li su dopuna ili otkazivanje mogući zavisi od usluge (pogledajte oznake refill i cancel u services). Naša pravila otkazivanja i dalje važe: narudžbe koje su počele ne mogu se otkazati.
Greške
Greške koriste HTTP statusne kodove sa JSON tijelom. Većina izgleda kao {"detail": {"error": "message"}}. Neke koriste običan string, na primjer {"detail": "Invalid API key"}. Uvijek provjerite HTTP statusni kod.
| HTTP | Kada |
|---|---|
| 400 | Nedostaje action, nepoznata akcija, nedostaje ili je neispravan service/link/quantity, količina van opsega min/max, nedostaju komentari za uslugu sa prilagođenim komentarima, ili format linka nije dozvoljen za TikTok Live usluge |
| 401 | API ključ nedostaje ili nije ispravan |
| 402 | Nedovoljno stanja za narudžbu |
| 403 | Račun je suspendiran ili je ciljno korisničko ime zaštićeno |
| 404 | Usluga nije dostupna |
| 502 | Dobavljač je vratio grešku |
| 503 | U toku je održavanje. Pokušajte ponovo kasnije. |
U rezultatima akcija status, multi_status, refill i cancel problem sa pojedinačnom narudžbom prijavljuje se kao {"error": "..."} za tu narudžbu, uz HTTP 200.
Primjer u Python-u
import os
import requests
API = "https://better-social.pro/api/v2"
KEY = os.environ["BETTER_SOCIAL_API_KEY"] # keep the key out of your code
def call(action, **params):
r = requests.post(API, data={"key": KEY, "action": action, **params}, timeout=30)
r.raise_for_status()
return r.json()
print(call("balance"))
order = call("add", service=101, link="@username", quantity=500)
print(call("status", order=order["order"]))
Dobre prakse
- Čuvajte ključ u promijenljivoj okruženja ili menadžeru tajni, nikada u frontend kodu.
- Generirite novi ključ ako mislite da je otkriven, ili kada neko ko ima pristup napusti vaš tim.
- Redovno čitajte
services. Cijene i dostupnost se mijenjaju. - Poštujte pravilo jedne narudžbe po linku. Pogledajte Narudžbe.
- Provjeravajte statuse u razumnom intervalu, na primjer na svakih nekoliko minuta, po mogućnosti sa
multi_status.