Getting Started
Fehlerbehandlung
Wie man API-Fehler elegant handhabt
Fehlerbehandlung
Die Blitz Rocket API verwendet standardmäßige HTTP-Statuscodes und liefert konsistente Fehlerantworten.
HTTP-Statuscodes
| Statuscode | Bedeutung |
|---|---|
200 | OK — Anfrage erfolgreich |
201 | Created — Ressource erfolgreich erstellt |
400 | Bad Request — Ungültige Parameter oder fehlende Pflichtfelder |
401 | Unauthorized — Fehlender oder ungültiger API-Schlüssel |
403 | Forbidden — Unzureichende Berechtigungen (z.B. öffentlicher Schlüssel bei privatem Endpunkt) |
404 | Not Found — Ressource existiert nicht |
429 | Too Many Requests — Rate-Limit überschritten |
500 | Internal Server Error — Fehler auf unserer Seite |
Fehlerantwort-Format
Alle Fehlerantworten folgen dieser Struktur:
json
{
"success": false,
"error": "Eine für Menschen lesbare Fehlerbeschreibung"
}
Häufige Fehler
Fehlender API-Schlüssel
json
// Status: 401
{
"success": false,
"error": "Fehlender oder ungültiger API-Schlüssel"
}
Privater Schlüssel erforderlich
json
// Status: 403
{
"success": false,
"error": "Dieser Endpunkt erfordert einen privaten API-Schlüssel"
}
Ressource nicht gefunden
json
// Status: 404
{
"success": false,
"error": "Wettbewerb nicht gefunden"
}
Validierungsfehler
json
// Status: 400
{
"success": false,
"error": "Entweder E-Mail oder Telefon ist erforderlich"
}
Fehlerbehandlung im Code
javascript
async function makeApiRequest(endpoint) {
const response = await fetch(`https://blitzrocket.com/api/v1${endpoint}`, {
headers: { "x-api-key": process.env.BLITZROCKET_API_KEY },
});
const data = await response.json();
if (!data.success) {
switch (response.status) {
case 401:
throw new Error("Ungültiger API-Schlüssel. Überprüfen Sie Ihre Zugangsdaten.");
case 403:
throw new Error("Unzureichende Berechtigungen. Verwenden Sie einen privaten API-Schlüssel.");
case 404:
throw new Error(`Ressource nicht gefunden: ${data.error}`);
case 429:
throw new Error("Rate-Limit erreicht. Bitte mit Verzögerung erneut versuchen.");
default:
throw new Error(`API-Fehler: ${data.error}`);
}
}
return data.data;
}