Zum Hauptinhalt springen

Fehlertoleranz

Fehler können in jeder API‑Integration vorkommen. Eine zuverlässige Integration erfordert gutes Error‑Handling und Retry‑Strategien.

Fehler protokollieren​

Wenn ein Endpoint einen Fehler zurückgibt, protokolliere die Anfrage so detailliert wie möglich:

  • Request Body (gesendete Daten)
  • Request Header
  • Response Status Code
  • Response Body (Fehlermeldung)
  • Zeitstempel
  • API‑Key (teilweise, nicht vollständig)

Dies hilft später bei der Diagnose und ermöglicht dir, Anfragen bei Bedarf erneut zu stellen.

Retry‑Strategie​

Manche Fehler sind temporär und lösen sich durch Wiederholung. Nutze folgende Strategie:

Nicht wiederholbar (Fehler, die nicht behoben werden durch erneute Versuche):

  • 401 — Authentifizierung fehlgeschlagen
  • 1002 — Validierung fehlgeschlagen
  • 1024 — Ressource existiert bereits

Wiederholbar (temporäre Fehler):

  • 429 — Rate‑Limit überschritten
  • 500 — Server‑Fehler
  • Netzwerk‑Timeouts

Exponentielles Backoff​

Verwende exponentielles Backoff bei Wiederholungen:

  1. Versuch: sofort
  2. Versuch: 1 Sekunde warten
  3. Versuch: 2 Sekunden warten
  4. Versuch: 4 Sekunden warten
  5. Versuch: 8 Sekunden warten

Brich ab nach max. 5 Versuchen und melde den Fehler.

Rate‑Limiting​

Aktuell gilt: 600 Requests pro Minute pro API-Key. Zusätzlich sind maximal 10 parallele Requests pro API-Key erlaubt.

Wenn du 429 erhältst:

  • Reduziere die Anfragerate
  • Reduziere die Anzahl parallel laufender Requests (z. B. Worker-/Queue-Limit)
  • Implementiere Retry mit Backoff
  • Nutze einen geringeren limit Parameter
  • Verteile Anfragen zeitlich

Details zu Headern (X-RateLimit-Limit, X-RateLimit-Remaining, X-ConcurrencyLimit-Limit, X-ConcurrencyLimit-Remaining) und Fehlerformat findest du unter Rate Limiting.

Idempotenz​

Verwende, wenn möglich, eindeutige IDs zur Idempotenz:

# Mit eindeutiger ID sicher zu wiederholen
curl -X POST "https://YOUR_SERVER-api.mail2many.de/api/v1/subscribers" \
-H "Idempotency-Key: unique-id-123" \
--user 'mail2many:YOUR_API_KEY' \
-H "Content-Type: application/json" \
-H "Accept: application/json"

Dadurch können Anfragen sicher mehrfach gesendet werden ohne Duplikate zu erstellen.

Monitoring​

Überwache folgende Metriken:

  • Fehlerquote pro Endpoint
  • Durchschnittliche Response‑Zeit
  • 5xx vs. 4xx Fehler
  • Authentifizierungsfehler

Dies hilft dir, Probleme frühzeitig zu erkennen.

Weitere Ressourcen​

Siehe auch die Fehler‑Dokumentation für Details zu spezifischen Fehlercodes.