API

Alles, was das Panel kann, steht dir über zwei getrennte APIs zur Verfügung. Beide nutzen dasselbe Konto, dasselbe Guthaben und denselben Katalog; sie unterscheiden sich in Format und Funktionsumfang.

Alles, was das Panel kann, steht dir über zwei getrennte APIs zur Verfügung. Beide nutzen dasselbe Konto, dasselbe Guthaben und denselben Katalog; sie unterscheiden sich in Format und Funktionsumfang.

Warum zwei APIs?

Die klassische Reseller-API (v2), die die ganze Branche nutzt, schickt ein Formular an einen einzigen Endpunkt und antwortet immer mit HTTP 200. Genau diese Form erwartet fertige Panel-Software, deshalb bleibt sie, wie sie ist. Wer eigene Systeme entwickelt, stieß damit aber immer wieder an Grenzen: Fehler ließen sich nicht auseinanderhalten, der Katalog kam in einem Stück, und den Bestellstatus musste man endlos abfragen. Für sie wurde v3 entwickelt.

Die Legacy-API wird nicht abgeschaltet. Es gibt kein Enddatum; eine funktionierende Integration musst du nie umbauen.

Vergleich

MerkmalLegacy (v2)Neu (v3)
AufbauEin Endpunkt, Formular-POST, action-ParameterRessourcenorientiertes REST, JSON-Body
HTTP-StatusImmer 200, auch bei FehlernEchte Codes (400, 401, 402, 404, 409, 429, 502)
FehlerFreitexttype + fester code + lokalisierte message + param + doc_url
BestellstatusNur lokalisierter TextFester Maschinenwert plus separates Anzeige-Label
ServicebeschreibungKeineBeschreibung in 16 Sprachen, durchschnittliche Dauer, Plattform, Kategorie
BestellfelderAus dem Typnamen erratenJeder Service veröffentlicht sein eigenes Feldschema
PreiseinheitNicht angegeben (bei Paketen eine Fehlerquelle um den Faktor 1.000)Ausdrücklich per_1000 oder per_order
KatalogAlle Services in einer AntwortFilter plus Cursor-Paginierung
Schutz vor DuplikatenKeinerIdempotency-Key
StatusupdatesStändiges Abfragen (Polling)Signierte Webhooks oder ein Event-Stream
SchemaKeinesOpenAPI 3.1
SprachenEnglisch und Türkisch (getrennte URLs)16 Sprachen (per Header oder Parameter)
ServicequalitätKeineScore, Konfidenz und Datenbasis pro Service; sortierte Shortlist

Welche API soll ich nutzen?

Legacy (v2)

Nimm die Legacy-API, wenn du fertige Panel-Software, einen Bot oder ein Reseller-Panel betreibst. Meist musst du dort nur die API-URL und den Schlüssel ändern, und nach wenigen Minuten läuft alles.

Neue API (v3)

Nimm v3, wenn du deine eigene Anwendung, deinen eigenen Shop oder eine Automatisierung entwickelst. Fehlerbehandlung, Schutz vor doppelten Bestellungen und Benachrichtigungen sind bereits eingebaut, und dein Bestellformular kannst du direkt aus dem Service-Schema erzeugen.

Erste Schritte

  1. 1Erstelle im Tab „Schlüssel“ einen API-Schlüssel.
  2. 2Ruf die Serviceliste ab und lies die id und das Feldschema des Service aus, den du brauchst.
  3. 3Prüf die Bestellung zuerst mit preview und leg sie erst dann an.
  4. 4Registriere einen Webhook oder lies den Event-Stream, um Statusänderungen zu verfolgen.

Fehler (48)

CodeStatusBeschreibung
missing_api_key401Kein API-Schlüssel angegeben. Sende ihn als 'Authorization: Bearer <key>'.
invalid_api_key401Der angegebene API-Schlüssel ist ungültig.
revoked_api_key401Dieser API-Schlüssel wurde widerrufen und kann nicht mehr verwendet werden.
account_banned403Dieses Konto ist gesperrt.
account_suspended403Dieses Konto ist derzeit gesperrt.
insufficient_scope403Dieser API-Schlüssel hat keine Berechtigung für diesen Endpunkt.
invalid_json400Der Anfrage-Body ist kein gültiges JSON.
unsupported_content_type415Nicht unterstützter Content-Type. Verwende application/json oder application/x-www-form-urlencoded.
method_not_allowed405Diese HTTP-Methode ist für diesen Endpunkt nicht erlaubt.
payload_too_large413Der Anfrage-Body ist zu groß.
missing_parameter400Ein erforderlicher Parameter fehlt.
invalid_parameter400Ein Parameter hat einen ungültigen Wert.
invalid_quantity400Die Menge ist keine gültige positive ganze Zahl.
quantity_out_of_range400Die Menge liegt außerhalb des Bereichs, den dieser Service erlaubt.
invalid_comments400Das Feld comments ist leer oder hat zu viele Zeilen.
invalid_username400Der Benutzername ist für diesen Service ungültig.
invalid_subscription400Die Abo-Parameter sind ungültig.
invalid_runs400Der Wert für 'runs' ist für Drip-Feed ungültig.
invalid_interval400Der Wert für 'interval' ist für Drip-Feed ungültig.
dripfeed_not_supported400Dieser Service unterstützt kein Drip-Feed.
missing_required_field400Ein Feld, das dieser Servicetyp verlangt, fehlt oder ist ungültig.
service_inactive400Dieser Service kann derzeit nicht bestellt werden.
invalid_cursor400Der Paginierungs-Cursor ist ungültig.
invalid_limit400Der Parameter 'limit' liegt außerhalb des erlaubten Bereichs.
invalid_webhook_url400Die Webhook-URL muss eine öffentliche https://-Adresse sein.
invalid_events400Mindestens einer der angegebenen Ereignistypen ist unbekannt.
batch_too_large400Zu viele Einträge in einer einzelnen Batch-Anfrage.
cancel_not_supported400Dieser Service unterstützt keine Stornierung.
refill_not_supported400Dieser Service bietet kein Refill an.
unknown_endpoint404Unbekannter Endpunkt. Die verfügbaren Routen findest du in der API-Referenz.
service_not_found404Es gibt keinen Service mit dieser ID.
order_not_found404In deinem Konto gibt es keine Bestellung mit dieser ID.
refill_not_found404In deinem Konto gibt es kein Refill mit dieser ID.
webhook_not_found404In deinem Konto gibt es keinen Webhook-Endpunkt mit dieser ID.
order_not_cancelable409Diese Bestellung kann aufgrund ihres aktuellen Status nicht mehr storniert werden.
cancel_rejected409Der Anbieter hat die Stornierungsanfrage abgelehnt.
order_not_completed409Ein Refill kann nur für eine abgeschlossene Bestellung angefordert werden.
idempotency_key_reuse409Dieser Idempotency-Key wurde bereits mit einem anderen Anfrage-Body verwendet.
idempotency_in_progress409Eine Anfrage mit diesem Idempotency-Key wird noch verarbeitet. Versuch es gleich noch einmal.
webhook_limit_reached409Du hast die maximale Anzahl an Webhook-Endpunkten erreicht.
insufficient_balance402Nicht genügend Guthaben für diese Bestellung.
rate_limit_exceeded429Rate-Limit überschritten. Beachte den Antwort-Header Retry-After.
provider_error502Der vorgelagerte Anbieter hat einen Fehler gemeldet. Versuch es erneut.
refill_failed502Der Anbieter hat die Refill-Anfrage abgelehnt.
service_temporarily_unavailable503Dieser Service ist vorübergehend nicht verfügbar. Versuch es später erneut.
internal_error500Auf unserer Seite ist ein unerwarteter Fehler aufgetreten.