API Authentifizierung
Informationen zur Authentifizierung für die CraftingStudio Pro API
Alle öffentlichen Endpoints sind frei zugänglich
Die aktuellen öffentlichen API-Endpoints von CraftingStudio Pro benötigen keine Authentifizierung. Du kannst alle Endpoints direkt ohne API-Key oder andere Credentials verwenden.
Öffentliche Endpoints:
GET /api/healthGET /api/plugins/[slug]/latestPOST /api/license/validate
Um Missbrauch zu verhindern, haben wir Rate Limits implementiert. Diese gelten pro IP-Adresse:
Alle öffentlichen Endpoints haben ein Limit von 100 Requests pro Stunde pro IP-Adresse.
Rate Limit Headers
Die API gibt Rate Limit-Informationen in den Response-Headern zurück:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1642233600- X-RateLimit-Limit: Maximale Anzahl von Requests pro Stunde
- X-RateLimit-Remaining: Verbleibende Requests in der aktuellen Stunde
- X-RateLimit-Reset: Unix-Timestamp, wann das Limit zurückgesetzt wird
Rate Limit überschritten
Wenn das Rate Limit überschritten wird, erhältst du einen 429 Too Many Requests Status Code:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{
"error": "Rate limit exceeded",
"message": "Zu viele Requests. Bitte versuche es später erneut."
}Caching
Um Rate Limits zu vermeiden und die Performance zu verbessern, solltest du API-Responses cachen:
- Update-Checks: Cache für mindestens 1 Stunde
- Health Checks: Cache für 1-5 Minuten
- Lizenz-Validierung: Kein Caching (muss in Echtzeit validiert werden)
Error Handling
Implementiere robustes Error Handling für alle API-Calls:
try {
const response = await fetch('https://craftingstudiopro.de/api/plugins/playerdatasync/latest');
if (!response.ok) {
if (response.status === 429) {
// Rate limit überschritten
console.log('Rate limit erreicht, später erneut versuchen');
return;
}
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
// Verarbeite Daten...
} catch (error) {
console.error('API-Fehler:', error);
}User-Agent
Wir empfehlen, einen aussagekräftigen User-Agent Header zu setzen, damit wir deine Anwendung identifizieren können:
fetch('https://craftingstudiopro.de/api/plugins/playerdatasync/latest', {
headers: {
'User-Agent': 'MyPlugin/1.0.0 (Update Checker)'
}
});Für erweiterte API-Features
Für zukünftige erweiterte API-Features (z.B. Plugin-Upload, Statistiken-Abruf) wird möglicherweise Authentifizierung erforderlich sein. Diese wird dann über API-Keys erfolgen, die du in deinen Account-Einstellungen generieren kannst.
Die aktuellen öffentlichen Endpoints bleiben weiterhin ohne Authentifizierung verfügbar.
Für detaillierte Informationen zu den einzelnen Endpoints, siehe die Endpoints-Dokumentation.