OfficeServerJs/API-TAGS-DOCUMENTATION.md
OfficeServer dgsoft 88932bfbf4 🎛️ Web-GUI Management System mit Custom Tags
 Neue Features:
- Vollständiges Management Dashboard (Port 3000)
- Custom Tags System mit REST-API Integration
- Mehrere Tags erstellbar und konfigurierbar
- Externe Tag-Aktivierung per REST-API
- Server-Fernsteuerung (Start/Stop/Restart)
- SSL-Zertifikat Management
- Echtzeit-Überwachung mit Socket.IO

🏷️ Custom Tags Features:
- Dynamische Tag-Erstellung über GUI
- Tag-Aktivierung/Deaktivierung per Toggle
- REST-APIs für externe Tag-Kontrolle
- Integration in Template-Verarbeitung
- Konfigurierbare Positionen und Typen

📁 Neue Dateien:
- management/ - Komplettes Management-System
- API-TAGS-DOCUMENTATION.md - API Dokumentation
- start-management.sh - Startup Script

🔧 Verbesserte Template-Verarbeitung:
- Automatisches Laden aktivierter Custom Tags
- Priorität: Custom-Daten → Custom Tags → Auto-Generierung
- Erweiterte Logging und Status-Meldungen

🌐 REST-APIs:
- GET /api/public/tags - Alle Tags auflisten
- POST /api/public/tags/{TAG_NAME}/activate - Tag aktivieren
- POST /api/public/tags/{TAG_NAME}/deactivate - Tag deaktivieren
- Management APIs für vollständige CRUD-Operationen
2025-10-05 20:51:30 +02:00

2.7 KiB

Custom Tags REST API

Übersicht

Das Tag-System ermöglicht es, benutzerdefinierte Tags zu erstellen und per REST-API zu aktivieren/deaktivieren.

Interne Management APIs (Port 3000)

Tags auflisten

GET http://localhost:3000/api/tags

Neuen Tag erstellen

POST http://localhost:3000/api/tags
Content-Type: application/json

{
    "id": "unique_id",
    "name": "Mein Custom Tag",
    "tagName": "MY_CUSTOM_TAG",
    "enabled": false,
    "content": "Inhalt des Tags",
    "position": "header",
    "type": "text"
}

Tag aktualisieren

PUT http://localhost:3000/api/tags/{id}
Content-Type: application/json

{
    "content": "Neuer Inhalt",
    "enabled": true
}

Tag aktivieren/deaktivieren

POST http://localhost:3000/api/tags/{id}/toggle
Content-Type: application/json

{
    "enabled": true
}

Tag löschen

DELETE http://localhost:3000/api/tags/{id}

Externe REST APIs (Port 3000)

Alle verfügbaren Tags auflisten

GET http://localhost:3000/api/public/tags

Response:
[
    {
        "tagName": "HEADER_CONTENT",
        "name": "Header",
        "enabled": false,
        "type": "text", 
        "position": "top"
    }
]

Tag aktivieren (Extern)

POST http://localhost:3000/api/public/tags/{TAG_NAME}/activate

Example:
POST http://localhost:3000/api/public/tags/HEADER_CONTENT/activate

Response:
{
    "success": true,
    "message": "Tag HEADER_CONTENT aktiviert",
    "tag": {
        "id": "header",
        "tagName": "HEADER_CONTENT",
        "enabled": true,
        ...
    }
}

Tag deaktivieren (Extern)

POST http://localhost:3000/api/public/tags/{TAG_NAME}/deactivate

Example:
POST http://localhost:3000/api/public/tags/HEADER_CONTENT/deactivate

Tag-Typen

  • text: Einfacher Text-Inhalt
  • image: Bild-Datei (Base64 oder URL)
  • html: HTML-Formatierter Inhalt

Positionen

  • top: Am Anfang des Dokuments
  • bottom: Am Ende des Dokuments
  • header: Im Kopfbereich
  • footer: Im Fußbereich
  • background: Als Hintergrund/Wasserzeichen
  • end: Ganz am Ende

Beispiel-Integration

# Tag extern aktivieren
curl -X POST http://localhost:3000/api/public/tags/SIGNATURE/activate

# Tag extern deaktivieren  
curl -X POST http://localhost:3000/api/public/tags/SIGNATURE/deactivate

# Alle verfügbaren Tags anzeigen
curl http://localhost:3000/api/public/tags

Standard-Tags

Das System kommt mit diesen vordefinierten Tags:

  1. HEADER_CONTENT - Header-Inhalt
  2. FOOTER_CONTENT - Footer-Inhalt
  3. SIGNATURE - Unterschrift
  4. COMPANY_LOGO - Firmen-Logo (Bild)
  5. WATERMARK - Wasserzeichen (Bild)

Alle Tags können über das Web-GUI oder die REST-APIs verwaltet werden.