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 abrufen
Query-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 Inhalt
URL-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 einreichen
Request 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.