⚡ API-Referenz
AlgoGuard bietet eine leistungsstarke RESTful API für Lizenzverifizierung und -management.
🌐 Basis-URL
Alle API-Anfragen werden an folgende Basis-URL gesendet:
https://www.algoguard.dev/api/v1
🔐 Authentifizierung
Die Authentifizierung erfolgt über Bearer Tokens. Fügen Sie Ihren API-Key in den Authorization-Header ein:
Authorization: Bearer ihr_api_key_hier
⚠️ Wichtig: Halten Sie Ihren API-Key geheim! Geben Sie ihn niemals an Dritte weiter.
📡 Endpoints
🔍 Lizenz verifizieren
POST /verify
Verifiziert einen Lizenzschlüssel und prüft den Aktivierungsstatus in Echtzeit.
Request Body
{
"license_key": "AG-XXXX-XXXX-XXXX-XXXX",
"hardware_id": "HWID-ABC123",
"account_number": "MT4-123456" // Optional
}
Antwort (Erfolg)
{
"success": true,
"license": {
"id": "uuid",
"license_key": "AG-XXXX-XXXX-XXXX-XXXX",
"status": "active",
"expires_at": "2025-12-31T23:59:59Z",
"max_activations": 1,
"activation_count": 1,
"customer_email": "customer@example.com",
"restrictions": {
"allowed_trading_pairs": ["EURUSD", "GBPUSD"],
"allowed_timeframes": ["M1", "M5", "M15"],
"account_type": "live",
"backtesting_allowed": false
}
}
}
Antwort (Fehler)
{
"success": false,
"error": {
"code": "license_expired",
"message": "Lizenz ist abgelaufen.",
"details": {}
}
}
❌ Fehlercodes
| Code | Beschreibung |
|---|---|
license_not_found |
Lizenzschlüssel existiert nicht |
status_invalid |
Lizenz ist nicht aktiv (ausgesetzt/widerrufen) |
license_expired |
Lizenz-Ablaufdatum überschritten |
activation_limit_reached |
Maximale Aktivierungen überschritten |
account_mismatch |
Kontonummer stimmt nicht überein |
account_required |
Kontonummer ist erforderlich, wurde aber nicht angegeben |
rate_limit_exceeded |
Zu viele Anfragen |
🚦 Rate Limits
Wir schützen unsere API mit Rate Limits, um faire Nutzung für alle zu gewährleisten:
- Hobby Plan: 100 Anfragen/Tag
- Starter Plan: 500 Anfragen/Tag
- Professional Plan: 10.000 Anfragen/Tag
- Enterprise Plan: Unbegrenzt
- Global: 10 Anfragen/Minute (alle Pläne)
Die Header geben Auskunft über Ihren aktuellen Status:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
🔄 Idempotenz
Verwenden Sie den Idempotency-Key-Header, um Anfragen sicher zu wiederholen (z.B. bei Netzwerkfehlern):
Idempotency-Key: unique-request-id-123
💡 Info: Doppelte Anfragen mit demselben Schlüssel innerhalb von 24 Stunden geben die zwischengespeicherte Antwort zurück, ohne eine neue Operation auszulösen.
💻 Hardware ID (HWID)
Die hardware_id identifiziert das Gerät eindeutig:
- MT4/MT5: Empfohlen:
AccountInfoString(ACCOUNT_SERVER) + AccountInfoInteger(ACCOUNT_LOGIN) - Windows: MAC-Adresse oder CPU-Seriennummer
- Maximale Länge: 160 Zeichen
✅ Best Practices
- Caching: Speichern Sie Verifizierungsergebnisse für 5-15 Minuten lokal.
- Retries: Implementieren Sie Retry-Logik mit exponentieller Verzögerung.
- Offline-Modus: Planen Sie eine Karenzzeit ein, falls die API kurzzeitig nicht erreichbar ist.
- Validierung: Bereinigen Sie die HWID vor dem Senden.
- Sicherheit: Hardcoden Sie niemals API-Keys im Quellcode!
🔗 Siehe auch
- MQL-Integrationsleitfaden für vollständige Codebeispiele.