Fehlerbehandlung & HTTP-Status

HTTP · Status-Codes · Error-Handling

Fehlerbehandlung

Die API verwendet Standard HTTP-Status-Codes und strukturierte JSON-Fehlermeldungen für konsistente Fehlerbehandlung.


HTTP Status-Codes

CodeStatusBeschreibung
200OKRequest erfolgreich (GET, POST, DELETE)
201CreatedNeue Ressource erstellt (POST)
400Bad RequestUngültiger Request-Body oder fehlende Parameter
401UnauthorizedKein oder ungültiges Token
403ForbiddenToken hat nicht die benötigten Scopes
404Not FoundRessource nicht gefunden
409ConflictRessource kann nicht gelöscht werden (Safety-Check)
429Too Many RequestsRate-Limit überschritten
500Internal Server ErrorServerfehler

Fehler-Response-Format

{
  "success": false,
  "error": {
    "code": "INVALID_TOKEN",
    "message": "The access token is invalid or expired"
  }
}

Seit v2.119.0 nennt die API bei einem abgewiesenen Aufruf den Grund zusätzlich im Feld reason und im Header X-XoPort-Deny-Reason, zum Beispiel deny_token_required (401, Aufruf ohne Token) oder deny_ip_not_listed (403, Adresse nicht in XOPORT_REST_IP_LIST).

Häufige Fehler-Codes

CodeHTTPBeschreibung
INVALID_GRANT_TYPE400grant_type muss "client_credentials" sein
INVALID_CLIENT401Client-ID oder Secret ungültig
INVALID_TOKEN401Token ungültig oder abgelaufen
MISSING_TOKEN401Kein Authorization-Header
IP_NOT_ALLOWED403Aufruf von einer Adresse, die nicht in XOPORT_REST_IP_LIST steht (seit v2.119.0)
INSUFFICIENT_SCOPE403Token hat nicht den benötigten Scope
NOT_FOUND404Ressource nicht gefunden
HAS_SUBCATEGORIES409Kategorie hat Unterkategorien
HAS_PRODUCTS409Kategorie enthält Produkte
HAS_ARTICLES409News-Kategorie enthält Artikel
HAS_ORDERS409Kunde hat Bestellungen
RATE_LIMIT_EXCEEDED429Zu viele Requests

Best Practice

Prüfen Sie immer das success-Feld in der Response und implementieren Sie Retry-Logik für 429 und 5xx Fehler.