API-Dokumentation
Kostenlose REST-API für den Zugriff auf Skripte und Metadaten
Kostenlos verfügbar
Schnellstart
Basis-URL für alle API-Aufrufe:
https://scriptsystem.fireclient.flostechnikwelt.de/api
Alle Skripte abrufen:
GET /api/scripts
Einzelnes Skript abrufen:
GET /api/scripts/{id}
API-Endpunkte
GET /api/scripts
Alle genehmigten Skripte abrufenQuery-Parameter:
| Parameter | Typ | Beschreibung | Beispiel |
|---|---|---|---|
category |
string | Filtern nach Kategorie | Development |
os |
string | Filtern nach Betriebssystem | Linux |
type |
string | Filtern nach Script-Typ | SH |
search |
string | Textsuche in Name/Beschreibung | backup |
page |
integer | Seitennummer (Standard: 1) | 2 |
limit |
integer | Anzahl pro Seite (max. 100) | 50 |
Beispiel-Anfrage:
curl -X GET "https://scriptsystem.fireclient.flostechnikwelt.de/api/scripts?category=Development&os=Linux&limit=10"
Beispiel-Antwort:
{
"success": true,
"message": "Skripte erfolgreich abgerufen",
"data": {
"scripts": [
{
"_id": "64f8a1b2c3d4e5f6a7b8c9d0",
"name": "Git Auto-Backup",
"description": "Automatisches Backup von Git-Repositories",
"os": "Linux",
"type": "SH",
"category": "Development",
"creatorName": "Max Mustermann",
"downloads": 42,
"version": "1.2.0",
"createdAt": "2023-09-06T10:30:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 1,
"pages": 1
}
},
"timestamp": "2023-09-06T12:00:00.000Z"
}
GET /api/scripts/{id}
Einzelnes Skript mit vollständigem InhaltURL-Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
id |
string | MongoDB ObjectId des Skripts |
Beispiel-Anfrage:
curl -X GET "https://scriptsystem.fireclient.flostechnikwelt.de/api/scripts/64f8a1b2c3d4e5f6a7b8c9d0"
Beispiel-Antwort:
{
"success": true,
"message": "Skript erfolgreich abgerufen",
"data": {
"_id": "64f8a1b2c3d4e5f6a7b8c9d0",
"name": "Git Auto-Backup",
"description": "Automatisches Backup von Git-Repositories mit Komprimierung",
"os": "Linux",
"type": "SH",
"script": "#!/bin/bash\n\n# Git Auto-Backup Script\necho 'Starting backup...'
# Script content here",
"category": "Development",
"creatorName": "Max Mustermann",
"creatorEmail": "max@example.com",
"downloads": 43,
"version": "1.2.0",
"tags": ["git", "backup", "automation"],
"createdAt": "2023-09-06T10:30:00.000Z"
},
"timestamp": "2023-09-06T12:00:00.000Z"
}
POST /api/scripts
Neues Skript einreichenRequest Body (JSON):
{
"name": "Mein Backup-Skript",
"description": "Ein einfaches Backup-Skript für wichtige Dateien",
"os": "Linux",
"type": "SH",
"script": "#!/bin/bash\necho 'Backup wird gestartet...'
# Backup-Logik hier",
"creatorName": "Ihr Name",
"creatorEmail": "ihre@email.com",
"category": "Backup",
"tags": ["backup", "files"],
"version": "1.0.0"
}
Beispiel-Anfrage:
curl -X POST "https://scriptsystem.fireclient.flostechnikwelt.de/api/scripts" \
-H "Content-Type: application/json" \
-d '{
"name": "Mein Backup-Skript",
"description": "Ein einfaches Backup-Skript",
"os": "Linux",
"type": "SH",
"script": "#!/bin/bash\necho Hello World",
"creatorName": "Max Mustermann",
"creatorEmail": "max@example.com",
"category": "Backup"
}'
Beispiel-Antwort:
{
"success": true,
"message": "Skript erfolgreich eingereicht und wartet auf Genehmigung",
"data": {
"id": "64f8a1b2c3d4e5f6a7b8c9d1",
"name": "Mein Backup-Skript",
"status": "pending"
},
"timestamp": "2023-09-06T12:00:00.000Z"
}
GET /api/categories
Alle verfügbaren Kategorien abrufen
curl -X GET "/api/categories"
GET /api/stats
Öffentliche Statistiken abrufen
curl -X GET "/api/stats"
Fehlerbehandlung
Die API verwendet Standard-HTTP-Statuscodes und gibt strukturierte Fehlerantworten zurück:
| Status Code | Bedeutung | Beschreibung |
|---|---|---|
| 200 | OK | Anfrage erfolgreich |
| 201 | Created | Ressource erfolgreich erstellt |
| 400 | Bad Request | Ungültige Anfrage oder Validierungsfehler |
| 404 | Not Found | Ressource nicht gefunden |
| 500 | Internal Server Error | Serverfehler |
Beispiel-Fehlerantwort:
{
"success": false,
"message": "Validierungsfehler",
"data": null,
"timestamp": "2023-09-06T12:00:00.000Z"
}
Rate Limiting
Aktuelle Limits:
- 100 Anfragen pro 15 Minuten pro IP-Adresse
- Keine Authentifizierung erforderlich für Lese-Zugriffe
- Kostenlos verfügbar für alle Nutzer
Code-Beispiele
JavaScript (Node.js)
const fetch = require('node-fetch');
async function getScripts() {
try {
const response = await fetch(
'https://scriptsystem.fireclient.flostechnikwelt.de/api/scripts?limit=10'
);
const data = await response.json();
if (data.success) {
console.log('Skripte:', data.data.scripts);
} else {
console.error('Fehler:', data.message);
}
} catch (error) {
console.error('Netzwerkfehler:', error);
}
}
getScripts();
Python
import requests
def get_scripts():
try:
response = requests.get(
'https://scriptsystem.fireclient.flostechnikwelt.de/api/scripts',
params={'limit': 10}
)
response.raise_for_status()
data = response.json()
if data['success']:
print('Skripte:', data['data']['scripts'])
else:
print('Fehler:', data['message'])
except requests.RequestException as e:
print('Netzwerkfehler:', e)
get_scripts()
Benötigen Sie Hilfe?
Falls Sie Fragen zur API haben oder Unterstützung benötigen, kontaktieren Sie uns gerne.