n8n-Integration
Selbst gehostete Workflow-Automatisierung mit voller Kontrolle über Ihre Daten.
Übersicht
n8n ist ein Open-Source, selbst hostbares Automatisierungstool. Behalten Sie Fotodaten auf Ihrer Infrastruktur und automatisieren Sie Workflows mit 200+ Integrationen.
Voraussetzungen
- Visiono-Konto mit API-Zugang
- n8n-Instanz (selbst gehostet oder Cloud)
- API-Schlüssel von Visiono
Warum n8n?
| Funktion | Vorteil |
|---|---|
| Selbst gehostet | Volle Datenkontrolle |
| Open Source | Code inspizieren und ändern |
| Keine Ausführungslimits | Unbegrenzte Workflows |
| Benutzerdefinierte Nodes | Integrationen erstellen |
| Fair-Code-Lizenz | Für die meisten Verwendungen kostenlos |
Einrichtungsschritte
1. Webhook-Node erstellen
- n8n-Workflow-Editor öffnen
- Webhook-Node hinzufügen
- Methode setzen: POST
- Webhook-URL kopieren (Produktion oder Test)
2. In Visiono konfigurieren
- Gehen Sie zu Arbeitsbereicheinstellungen → Webhooks
- Klicken Sie auf Webhook hinzufügen
- n8n-Webhook-URL einfügen
- Auszulösende Ereignisse auswählen
- Konfiguration speichern
3. Verbindung testen
- In n8n klicken Sie auf Auf Testereignis warten
- Testfoto in Visiono einreichen
- n8n zeigt empfangene Daten an
- Klicken Sie auf Warten beenden
4. Ihren Workflow erstellen
Nodes zur Datenverarbeitung hinzufügen:
[Webhook] → [IF] → [HTTP Request] → [E-Mail]
↘ [Slack]Workflow-Beispiele
Foto-Backup-Workflow
Fotos auf lokalem Speicher oder S3 speichern:
json
{
"nodes": [
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"parameters": {
"path": "visiono-fotos",
"httpMethod": "POST"
}
},
{
"name": "Fotos durchlaufen",
"type": "n8n-nodes-base.splitInBatches",
"parameters": {
"batchSize": 1
}
},
{
"name": "Foto herunterladen",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "={{$json.url}}",
"responseFormat": "file"
}
},
{
"name": "Auf S3 speichern",
"type": "n8n-nodes-base.awsS3",
"parameters": {
"operation": "upload",
"bucketName": "visiono-backups",
"fileName": "={{$json.slot_name}}.jpg"
}
}
]
}Benachrichtigungs-Workflow
Team bei neuen Einreichungen benachrichtigen:
Nodes:
- Webhook - Visiono-Ereignis empfangen
- Set - Nachrichtendaten formatieren
- Slack - An Kanal senden
- E-Mail - Zusammenfassung senden
Datenbankprotokollierung
Einreichungen in PostgreSQL aufzeichnen:
Nodes:
- Webhook - Ereignis empfangen
- Postgres - Datensatz einfügen
- IF - Fotoanzahl prüfen
- HTTP Request - Externe API aufrufen
Node-Konfiguration
Webhook-Node
yaml
HTTP-Methode: POST
Pfad: visiono-webhook
Antwortmodus: Bei Empfang
Antwortdaten: ErfolgHTTP-Request-Node
Zum Herunterladen von Fotos:
yaml
Methode: GET
URL: ={{ $json.data.photos[0].url }}
Antwortformat: DateiIF-Node
Bedingte Weiterleitung:
yaml
Bedingung: Zahl
Wert 1: ={{ $json.data.photos.length }}
Operation: Größer
Wert 2: 5Datenreferenz
Webhook-Daten in Ausdrücken zugreifen:
| Ausdruck | Daten |
|---|---|
{{ $json.event }} | Ereignistyp |
{{ $json.data.smart_link.name }} | Permanenter Link Name |
{{ $json.data.photos[0].url }} | Erste Foto-URL |
{{ $json.data.photos.length }} | Fotoanzahl |
{{ $json.data.metadata.full_name }} | Einsender-Name |
{{ $json.data.metadata.unique_field }} | Kennung |
Schleifen und Iteration
Alle Fotos verarbeiten
Split In Batches-Node verwenden:
- Nach Webhook hinzufügen
- Items setzen:
{{ $json.data.photos }} - Batch-Größe: 1
- Verarbeitungs-Nodes verbinden
- Merge am Ende hinzufügen
Ergebnisse aggregieren
Verarbeitete Daten sammeln:
- Code-Node für Aggregation
- In statischen Workflow-Daten speichern
- Kombinierte Ergebnisse ausgeben
Fehlerbehandlung
Retry bei Fehler
Pro Node konfigurieren:
- Bei Fehler fortfahren: Nächstes Element verarbeiten
- Bei Fehler wiederholen: Erneut versuchen
- Max. Wiederholungen: 3
Fehler-Trigger
Fehler abfangen und behandeln:
- Error Trigger-Node hinzufügen
- Mit Benachrichtigungs-Node verbinden
- Bei Fehlern protokollieren oder alarmieren
Self-Hosting-Tipps
Docker-Deployment
yaml
version: "3"
services:
n8n:
image: n8nio/n8n
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=sicheres-passwort
- WEBHOOK_URL=https://n8n.ihredomain.com/
volumes:
- n8n_data:/home/node/.n8nWebhook-URL
Für Produktions-Webhooks:
- Produktions-URL verwenden (nicht Test)
WEBHOOK_URL-Umgebungsvariable konfigurieren- HTTPS mit gültigem Zertifikat verwenden
Sicherheit
- Authentifizierung aktivieren
- HTTPS verwenden
- Netzwerkzugriff beschränken
- Regelmäßige Backups
Erweiterte Funktionen
Benutzerdefinierter Code
Code-Node für JavaScript verwenden:
javascript
const photos = items[0].json.data.photos;
const processed = photos.map(photo => ({
url: photo.url,
name: photo.slot_name,
downloaded: new Date().toISOString()
}));
return [{ json: { photos: processed } }];Anmeldedaten
API-Schlüssel sicher speichern:
- Zu Anmeldedaten gehen
- Neue Anmeldedaten hinzufügen
- In Nodes referenzieren
Sub-Workflows
Workflows modularisieren:
- Wiederverwendbaren Workflow erstellen
- Über Execute Workflow-Node aufrufen
- Daten zwischen Workflows übergeben
Fehlerbehebung
Webhook empfängt nicht
- Prüfen, ob n8n läuft
- Verifizieren, dass URL Port enthält wenn nötig
- Firewall erlaubt Traffic prüfen
- Mit curl testen
Ausdrucksfehler
- Datenstruktur verifizieren
- Eigenschaftspfade prüfen
- Optional Chaining verwenden:
$json.data?.photos
Ausführungsprobleme
- Ausführungsprotokoll prüfen
- Node-Ausgaben überprüfen
- Einzelne Nodes testen
- Anmeldedaten verifizieren
Performance-Optimierung
Batch-Verarbeitung
- Ähnliche Operationen gruppieren
- Bulk-API-Aufrufe verwenden
- Gleichzeitige Ausführungen begrenzen
Ressourcenverwaltung
- Speichernutzung überwachen
- Workflow-Ausführungen begrenzen
- Alte Daten archivieren
Verwandte Ressourcen
- Webhooks - Ereigniskonfiguration
- API-Referenz - Direkter API-Zugriff
- Zapier-Integration - Cloud-Alternative
- Make-Integration - Visueller Builder
