@marcmeese/n8n-nodes-communityapi-doc-client
v0.3.7
Published
Community API DOC Server nodes for n8n
Maintainers
Readme
n8n Nodes für Community API DOC Server
Dieses Paket stellt n8n-Nodes für die Integration mit dem Community API DOC Server bereit.
Wichtig: Zur Nutzung der Nodes ist ein Account in der AI Community (https://ki-communities.de) zwingend notwendig, da dadurch der Zugang auf dem DOC Server erstellt wird.
Installation
In n8n Settings → Community Nodes:
@marcmeese/n8n-nodes-communityapi-doc-clientKonfiguration
Authentifizierung einrichten
- Gehe zu n8n → Credentials → New
- Wähle "CommunityAPI - DOC Server"
- Gib deinen API-Key ein
- Teste die Verbindung
Verfügbare Nodes
📋 Basis-Funktionen
Get User Info
Ruft Benutzerinformationen vom DOC Server ab.
Parameter: Keine
Output: Benutzerinformationen als JSON
Get Job
Ruft Details zu einem spezifischen Job ab.
Parameter:
Job ID(string): Die ID des abzufragenden Jobs
Output: Job-Details als JSON
Download Job
Lädt die Ergebnisdateien eines abgeschlossenen Jobs herunter.
Parameter:
Job ID(string): ID des herunterzuladenden JobsOutput Folder(string): Zielordner für DownloadsBasename(string, optional): Basis-DateinameKeep Filenames(boolean): Original-Dateinamen beibehalten
Output: Liste der heruntergeladenen Dateipfade
📤 Datei-Upload
Upload File
Lädt eine einzelne lokale Datei auf den DOC Server hoch.
Parameter:
Local File Path(string): Pfad zur lokalen Datei
Funktionsweise:
- Fordert eine Presigned URL vom Server an
- Lädt die Datei direkt auf den Storage hoch
- Gibt die File-ID zurück
Output:
{
"file_id": "uuid-der-datei",
"filename": "original-dateiname.pdf"
}Beispiel:
/home/user/documents/report.pdf → file_id: "abc-123-def"Upload Files (Batch)
Lädt mehrere lokale Dateien parallel auf den DOC Server hoch.
Parameter:
Local File Paths(string[]): Pfade zu den lokalen Dateien
Funktionsweise:
- Fordert Batch Presigned URLs für alle Dateien an
- Lädt alle Dateien parallel hoch (schneller als einzeln)
- Gibt alle File-IDs zurück
Output:
{
"presigned": [
{
"file_id": "uuid-1",
"filename": "file1.pdf"
},
{
"file_id": "uuid-2",
"filename": "file2.docx"
}
]
}Beispiel:
["/path/to/file1.pdf", "/path/to/file2.docx"] →
{presigned: [{file_id: "abc-123"}, {file_id: "def-456"}]}📄 Dokument-Verarbeitung
Document Converter
Konvertiert Dokumente zwischen verschiedenen Formaten.
Parameter:
Input Document Paths(string[]): Pfade zu Dokumenten (UUID, URL oder lokaler Pfad)Target Format(dropdown): ZielformatCallback URL(string, optional): URL für CallbackCallback Payload(JSON, optional): Zusätzliche Daten
Unterstützte Eingabe-Formate:
- Office-Dokumente: doc, docx, ppt, pptx, xls, xlsx, odt, rtf
- Text/Markup: txt, md, html, htm
- Daten: json, xml, yaml, yml, csv
- Config/Logs: log, ini, cfg, properties
- PDF: pdf
Unterstützte Ausgabe-Formate:
Office:
- Word: DOCX, DOC
- PowerPoint: PPTX, PPT
- Excel: XLSX, XLS, CSV
- OpenDocument: ODT
- Rich Text: RTF
Text/Markup:
- Plain Text: TXT
- Markdown: MD
- Web: HTML, HTM
Daten:
- JSON
- XML
- YAML, YML
Config:
- LOG
- INI
- CFG
- Properties
Bilder (aus PDF):
- PNG
- JPG, JPEG
Intelligente Eingabe-Verarbeitung:
Der Document Converter akzeptiert verschiedene Input-Formate:
File-ID (UUID): Von vorherigem Upload-Node
"abc-123-def-456"HTTP(S) URL: Direkter Download
"https://example.com/document.pdf"Lokaler Pfad: Automatischer Upload
"/home/user/documents/report.docx"
Workflow-Beispiele:
Beispiel 1: Lokale Datei konvertieren
[Local File] → DocumentConverter → DownloadJob
Beispiel 2: Mit Upload-Node
UploadFile → DocumentConverter(file_id) → DownloadJob
Beispiel 3: URL direkt konvertieren
DocumentConverter(https://...) → DownloadJob
Beispiel 4: Batch-Verarbeitung
UploadFiles → DocumentConverter(multiple file_ids) → DownloadJobOutput:
{
"job_id": "job-uuid",
"status": "pending",
"created_at": "2026-01-22T12:00:00Z"
}Workflow-Beispiele
Beispiel 1: Einfache Konvertierung
1. Upload File (/path/to/document.docx)
↓ {file_id: "abc-123"}
2. Document Converter (file_id: "abc-123", target: "pdf")
↓ {job_id: "job-456"}
3. Download Job (job_id: "job-456", output: "/downloads/")
↓ ["/downloads/document.pdf"]Beispiel 2: Batch-Konvertierung
1. Upload Files ([file1.doc, file2.docx, file3.txt])
↓ {presigned: [{file_id: "a"}, {file_id: "b"}, {file_id: "c"}]}
2. Document Converter (file_ids: ["a", "b", "c"], target: "pdf")
↓ {job_id: "job-789"}
3. Download Job (job_id: "job-789")
↓ [file1.pdf, file2.pdf, file3.pdf]Beispiel 3: URL-basierte Konvertierung
1. Document Converter (input: "https://example.com/report.xlsx", target: "csv")
↓ {job_id: "job-xyz"}
2. Download Job (job_id: "job-xyz")
↓ [report.csv]Beispiel 4: Mit Callback
1. Upload File + Document Converter (mit callback_url)
↓ {job_id: "job-abc"}
2. [Job läuft im Hintergrund]
3. Webhook empfängt Callback mit ErgebnisEntwicklung
Build-Prozess
# Dependencies installieren
npm install
# TypeScript kompilieren + Icons kopieren
npm run build
# Development Mode (Watch)
npm run devProjektstruktur
src/
├── config/
│ └── endpoints.ts
├── credentials/
│ └── CommunityAPIDOCServer.credentials.ts
├── nodes/
│ └── CommunityAPIDOCServer/
│ ├── GetUserInfo/
│ ├── GetJob/
│ ├── DownloadJob/
│ ├── UploadFile/
│ ├── UploadFiles/
│ └── DocumentConverter/
├── utils/
│ ├── apiRequests.ts
│ ├── fileUploads.ts
│ └── inputProcessing.ts
└── index.tsAPI-Endpunkte
- Auth:
https://auth.marcmeese.de - DOC Server:
https://doc.marcmeese.de(Note: In der aktuellen Implementierung wirdai.marcmeese.deverwendet)
Fehlerbehebung
Häufige Probleme
Authentication Failed
- API-Key im Account überprüfen
- Credentials in n8n neu erstellen
File Not Found (Upload)
- Absolute Pfade verwenden
- Datei-Berechtigungen prüfen
- Bei Windows: Pfade mit
/statt\
Unsupported File Format
- Liste der unterstützten Formate prüfen
- Dateiendung muss korrekt sein
Upload Failed
- Datei-Größe prüfen (Max. Limit beachten)
- Internet-Verbindung prüfen
- Presigned URL könnte abgelaufen sein (läuft automatisch ab)
Conversion Failed
- Eingabe-Format wird unterstützt?
- Ziel-Format für diese Eingabe möglich?
- Bei PDF → Bild: Nur erste Seite wird konvertiert
Debug-Modus
Setze n8n in den Debug-Modus für detaillierte Logs:
export N8N_LOG_LEVEL=debug
n8n startCallback-System
Document Converter unterstützt Callbacks für asynchrone Verarbeitung:
Callback URL: Webhook-URL, die nach Job-Abschluss aufgerufen wird
Callback Payload: Benutzerdefinierte Daten, die mit dem Callback zurückgegeben werden
Beispiel-Payload:
{
"parameters": [
{ "key": "workflow_id", "value": "12345" },
{ "key": "user_email", "value": "[email protected]" }
]
}Callback-Response:
{
"job_id": "job-uuid",
"status": "completed",
"result_files": ["file1.pdf", "file2.pdf"],
"callback_payload": {
"workflow_id": "12345",
"user_email": "[email protected]"
}
}Best Practices
- Batch-Upload nutzen: Für mehrere Dateien immer
Upload Filesstatt mehrfachUpload File - File-IDs wiederverwenden: Upload einmal, konvertiere mehrfach
- Callbacks verwenden: Bei großen Dateien/langen Jobs
- Error Handling: Immer prüfen, ob Upload/Conversion erfolgreich war
- Temp-Dateien löschen: Nach Download die lokalen Temp-Dateien aufräumen
Support
Bei Problemen oder Fragen:
- Überprüfe die Logs in n8n
- Teste die API-Endpoints manuell mit curl/Postman
- Kontaktiere den Support über https://ki-communities.de
Lizenz
MIT - Siehe LICENSE.md für Details.
