ShelfBase

Fehler

Jede Fehlerantwort ist ein JSON-Objekt mit mindestens einem error-Feld, das beschreibt, was schiefgelaufen ist. Statuscodes folgen strikt den HTTP-Konventionen.

Form

{
  "error": "Menschenlesbare Beschreibung."
}

Einige Fehler enthalten zusätzliche Felder. Kontingentfehler enthalten limit und tier:

{
  "error": "Monthly quota exceeded.",
  "limit": 1000,
  "tier": "FREE"
}

Statuscodes

FeldTypBeschreibung
200OKErfolgreiche Antwort.
400Bad RequestFehlerhafte Parameter — typischerweise ein ungültiges Ablaufdatum beim Erstellen eines Schlüssels oder ein fehlerhafter Signup-Payload.
401UnauthorizedFehlender Schlüssel, ungültiger Schlüssel, abgelaufener Schlüssel oder nicht bestätigte E-Mail. Der Error-String unterscheidet die Fälle.
403ForbiddenGesperrtes Konto oder noch nicht bestätigte E-Mail.
404Not FoundKein Produkt mit dieser EAN. Wird nur vom Lookup-Endpoint zurückgegeben.
429Too Many RequestsMonatskontingent, Per-Minute-Rate-Limit oder Authentifizierungsversuch-Throttle überschritten. Enthält Retry-After bei Per-Minute-Treffern.
500Server ErrorUnerwarteter Fehler auf unserer Seite. Sicher mit exponentiellem Back-off erneut versuchen.

Häufige Error-Strings

FeldTypBeschreibung
"Missing API key…"401Kein Authorization-Header und kein X-API-Key-Header.
"Invalid API key."401Header vorhanden, aber der Schlüssel wurde nie ausgestellt, widerrufen oder passt nicht.
"API key expired."401Du hast ein Ablaufdatum für diesen Schlüssel gesetzt und dieses Datum ist vorbei. Erstelle einen neuen Schlüssel.
"Email not verified."403Das Konto existiert, aber der E-Mail-Bestätigungslink wurde nie angeklickt.
"Account suspended."403Das Konto wurde manuell gesperrt. Kontaktiere den Support.
"Product not found"404Keine EAN-Übereinstimmung. Hinweis: Wir validieren keine Prüfziffern — übergib genau das, was auf der Verpackung steht.
"Monthly quota exceeded."429Du hast dein vollständiges Tarifkontingent für den Kalendermonat verbraucht. Upgrade oder warte auf den Reset.
"Per-minute rate limit exceeded."429Burst-Rate zu hoch. Beachte Retry-After und verlangsame die Requests.
"Too many unauthenticated API requests…"429Zu viele Requests ohne Schlüssel von derselben Client-Adresse. Sende einen gültigen Schlüssel oder versuche es später erneut.
"Too many invalid API key attempts…"429Zu viele ungültige Schlüsselversuche von derselben Client-Adresse. Prüfe deine Konfiguration und versuche es später erneut.

Retry-Empfehlung

  • 4xx-Fehler: nicht erneut versuchen, ohne den Request zu ändern. Sie werden weiter fehlschlagen.
  • 429 pro Minute: auf Retry-After warten, dann erneut versuchen.
  • 429 monatlich: nicht erneut versuchen. Upgrade oder auf den Kalender-Reset warten.
  • 5xx: mit exponentiellem Back-off erneut versuchen (z. B. 1s, 2s, 4s, bis ~30s). Nach einigen Versuchen stoppen und den Fehler anzeigen.