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:
- Versuch: sofort
- Versuch: 1 Sekunde warten
- Versuch: 2 Sekunden warten
- Versuch: 4 Sekunden warten
- 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
limitParameter - 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.