SMM Panel API Dokumentation
SMM Panel API v2 im Standardformat: Bestellen Sie 4SNS PLUS Services direkt aus Ihrem Telegram Bot oder Ihrem eigenen Panel.
Was ist eine SMM Panel API?
Mit einer SMM Panel API ruft ein Programm die Serviceliste ab, gibt Bestellungen auf und prüft Bestellstatus und Guthaben, ohne die Website zu nutzen. 4SNS PLUS unterstützt das Standardformat SMM Panel API v2, das viele Panels und Bots verwenden. Code, den Sie schon an ein anderes Panel angebunden haben, funktioniert also sofort, sobald Sie URL und Key austauschen.
Preise und Guthaben sind in der API dieselben wie auf der Website. Die rate in der services Antwort entspricht dem Preis pro 1,000 (US-Dollar) in der Preisliste. Bestellungen über add werden genau wie Webbestellungen vom Guthaben abgebucht und erscheinen auch im Bestellverlauf in Ihrem Dashboard. Beträge aus stornierten oder teilweise gelieferten Bestellungen gehen auf dasselbe Guthaben zurück.
Grundlagen
| Endpoint | https://4snsplus.com/api/v2 |
| Methode | POST |
| Anfrageformat | Formularfelder (application/x-www-form-urlencoded, multipart) oder ein JSON Body |
| Antwort | JSON; auch Fehler kommen als HTTP 200 mit einem error Feld |
| Authentifizierung | Parameter key (Ihr API Key) bei jeder Anfrage |
| Rate Limit | 300 Anfragen pro Minute pro Key |
| Währung | US-Dollar (USD) |
Anfragebeispiel
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": "..."}Wie bekomme ich einen API Key?
Sobald Ihre erste Aufladung auf dem Guthaben gutgeschrieben ist, erstellen Sie im Menü API Key in Ihrem Dashboard einen API Key. Der Key wird nur einmal beim Erstellen angezeigt, speichern Sie ihn also an einem sicheren Ort. Ein neuer Key deaktiviert den bisherigen Key sofort.
Der Key ist von Ihrem Konto-Token getrennt. Hinterlegen Sie in Ihrem Bot oder Server nur den API Key, nie Ihr Konto-Token. Falls Ihr Key bekannt geworden sein könnte, erstellen Sie einfach auf der API Key Seite einen neuen.
Serviceliste (services)
Liefert alle Services, die Sie bestellen können. rate ist der Preis pro 1,000 (USD), bei type Package der Preis für ein Paket. Bei type Custom Comments senden Sie statt einer Menge eine Liste von Kommentaren. category besteht aus Plattformname und Gruppenname.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | services |
Antwortbeispiel
[
{
"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
}
]Bestellung aufgeben (add)
Gibt eine Bestellung auf und bucht den Betrag vom Guthaben ab. Der Betrag ist der Preis pro 1,000 mal der Menge; bei Package ist es der Paketpreis, bei Custom Comments zählt die Anzahl der Kommentarzeilen als Menge. Bestellen können Konten, deren erste Aufladung gutgeschrieben ist. order in der Antwort ist Ihre Bestell-ID.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | add |
| service | Service-ID (service aus services) |
| link | Öffentlicher Link. Für Telegram: t.me/name, privater Einladungslink t.me/+code, Beitrag t.me/name/123, Bot t.me/botname. @name wird ebenfalls akzeptiert |
| quantity | Menge (zwischen min und max). Bei Package und Custom Comments nicht nötig |
| comments | Nur für Custom Comments. Ein Kommentar pro Zeile, bis zu 10,000 Zeilen, bis zu 500 Zeichen pro Zeile |
Antwortbeispiel
{
"order": 31877
}Bestellstatus (status)
Der Status einer Bestellung. charge ist der tatsächlich bezahlte Betrag nach Erstattungen (USD, 6 Nachkommastellen), start_count ist der Zählerstand beim Start der Bestellung und remains die noch nicht gelieferte Menge.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | status |
| order | Bestell-ID |
Antwortbeispiel
{
"charge": "1.430000",
"start_count": "8120",
"status": "In progress",
"remains": "410",
"currency": "USD"
}Status mehrerer Bestellungen (status, orders)
Prüft bis zu 100 Bestellungen auf einmal, die Bestell-IDs mit Kommas getrennt. IDs, die nicht existieren oder nicht zu Ihrem Konto gehören, erhalten an ihrer Stelle einen Fehler.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | status |
| orders | Liste der Bestell-IDs, zum Beispiel 1,10,100 |
Antwortbeispiel
{
"1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
"10": { "error": "Incorrect order ID" }
}Refill anfordern (refill)
Für eine Bestellung eines Services mit Refill-Zeitraum, die als Completed oder Partial abgeschlossen wurde: innerhalb des Refill-Zeitraums ab Abschluss anfordern. Pro Bestellung ist eine offene Anfrage möglich, mit 24 Stunden Abstand zwischen den Anfragen.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | refill |
| order | Bestell-ID |
Antwortbeispiel
{
"refill": 512
}Refill-Status (refill_status)
Der Status einer Refill-Anfrage.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | refill_status |
| refill | Refill-ID (refill aus der refill Antwort) |
Antwortbeispiel
{
"status": "Completed"
}Guthaben (balance)
Ihr Guthaben (USD, 6 Nachkommastellen).
| Parameter | Beschreibung |
|---|---|
| key | Ihr API Key |
| action | balance |
Antwortbeispiel
{
"balance": "84.120000",
"currency": "USD"
}Werte für den Bestellstatus
| Pending | Eingegangen. Wird weitergegeben, wartet auf den Start, oder ein Mitarbeiter prüft das Ergebnis der Übergabe |
| In progress | Wird geliefert |
| Completed | Vollständig geliefert |
| Partial | Teilweise geliefert. Der nicht gelieferte Teil wird Ihrem Guthaben erstattet |
| Canceled | Nicht geliefert. Volle Erstattung auf Ihr Guthaben |
Werte für den Refill-Status
| Pending | Refill-Anfrage eingegangen |
| In progress | Refill wird geliefert |
| Completed | Refill geliefert |
| Rejected | Refill-Anfrage wurde nicht angenommen |
Fehlermeldungen
Fehler kommen als JSON mit einem error Feld in einer HTTP 200 Antwort. Prüfen Sie in Ihrem Code zuerst das error Feld.
{
"error": "Not enough funds on balance"
}| Invalid API key | Key fehlt, ist falsch oder wurde durch einen neuen Key ersetzt |
| Too many requests | Mehr als 300 Anfragen pro Minute. Versuchen Sie es gleich noch einmal |
| Incorrect action | Der Wert von action steht nicht in der Liste oben |
| Add funds first | Bestellung von einem Konto, dessen erste Aufladung noch nicht gutgeschrieben ist |
| Incorrect service ID | Kein bestellbarer Service mit dieser ID |
| Incorrect link | Link ist leer oder keine Webadresse |
| Quantity out of range | Unter der Mindestmenge oder über der Höchstmenge |
| Incorrect comments | Custom Comments sind leer oder überschreiten 10,000 Zeilen bzw. 500 Zeichen pro Zeile |
| Not enough funds on balance | Guthaben ist niedriger als der Bestellbetrag. Laden Sie auf und bestellen Sie erneut |
| Incorrect order ID | Diese Bestell-ID gehört nicht zu Ihrem Konto |
| Refill is not available for this service | Der Service hat keinen Refill-Zeitraum |
| Order is not finished yet | Refill ist möglich, sobald die Bestellung Completed oder Partial ist |
| Refill period has ended | Der Refill-Zeitraum ab Abschluss der Bestellung ist abgelaufen |
| Refill already requested | Für diese Bestellung gibt es bereits eine offene Refill-Anfrage |
| Refill already requested, try again later | Seit der letzten Anfrage sind noch keine 24 Stunden vergangen |
| Incorrect refill ID | Diese Refill-ID gehört nicht zu Ihrem Konto |
Wie verbinde ich eine SMM Panel API mit einem Telegram Bot?
1. Serviceliste speichern
Rufen Sie services ein paar Mal am Tag ab und speichern Sie Service-ID, Name, rate, min und max in Ihren eigenen Daten. Den Preis für Ihre Kunden berechnen Sie, indem Sie Ihre Marge auf rate aufschlagen. Beim Bestellen verwenden Sie die gespeicherte Service-ID unverändert.
2. Menge und Link vor der Bestellung prüfen
Prüfen Sie vorab, ob die Menge zwischen min und max liegt und der Link im t.me Format ist. So vermeiden Sie die Fehler Quantity out of range und Incorrect link. Es hilft auch, vorher das Guthaben mit balance abzufragen.
3. Status gesammelt prüfen
Prüfen Sie laufende Bestellungen alle paar Minuten in Paketen von 100 mit dem Parameter orders. Damit bleiben Sie bequem unter dem Limit von 300 Anfragen pro Minute pro Key. Wird eine Bestellung Completed, Partial oder Canceled, teilen Sie Ihrem Kunden das Ergebnis mit.
4. Refill nur für abgeschlossene Bestellungen
Ist eine Bestellung für einen Refill-Service Completed oder Partial, können Sie refill senden. Speichern Sie die Refill-ID aus der Antwort und verfolgen Sie den Fortschritt mit refill_status.
