Skip to content

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?

FunktionVorteil
Selbst gehostetVolle Datenkontrolle
Open SourceCode inspizieren und ändern
Keine AusführungslimitsUnbegrenzte Workflows
Benutzerdefinierte NodesIntegrationen erstellen
Fair-Code-LizenzFür die meisten Verwendungen kostenlos

Einrichtungsschritte

1. Webhook-Node erstellen

  1. n8n-Workflow-Editor öffnen
  2. Webhook-Node hinzufügen
  3. Methode setzen: POST
  4. Webhook-URL kopieren (Produktion oder Test)

2. In Visiono konfigurieren

  1. Gehen Sie zu ArbeitsbereicheinstellungenWebhooks
  2. Klicken Sie auf Webhook hinzufügen
  3. n8n-Webhook-URL einfügen
  4. Auszulösende Ereignisse auswählen
  5. Konfiguration speichern

3. Verbindung testen

  1. In n8n klicken Sie auf Auf Testereignis warten
  2. Testfoto in Visiono einreichen
  3. n8n zeigt empfangene Daten an
  4. 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:

  1. Webhook - Visiono-Ereignis empfangen
  2. Set - Nachrichtendaten formatieren
  3. Slack - An Kanal senden
  4. E-Mail - Zusammenfassung senden

Datenbankprotokollierung

Einreichungen in PostgreSQL aufzeichnen:

Nodes:

  1. Webhook - Ereignis empfangen
  2. Postgres - Datensatz einfügen
  3. IF - Fotoanzahl prüfen
  4. HTTP Request - Externe API aufrufen

Node-Konfiguration

Webhook-Node

yaml
HTTP-Methode: POST
Pfad: visiono-webhook
Antwortmodus: Bei Empfang
Antwortdaten: Erfolg

HTTP-Request-Node

Zum Herunterladen von Fotos:

yaml
Methode: GET
URL: ={{ $json.data.photos[0].url }}
Antwortformat: Datei

IF-Node

Bedingte Weiterleitung:

yaml
Bedingung: Zahl
Wert 1: ={{ $json.data.photos.length }}
Operation: Größer
Wert 2: 5

Datenreferenz

Webhook-Daten in Ausdrücken zugreifen:

AusdruckDaten
{{ $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:

  1. Nach Webhook hinzufügen
  2. Items setzen: {{ $json.data.photos }}
  3. Batch-Größe: 1
  4. Verarbeitungs-Nodes verbinden
  5. Merge am Ende hinzufügen

Ergebnisse aggregieren

Verarbeitete Daten sammeln:

  1. Code-Node für Aggregation
  2. In statischen Workflow-Daten speichern
  3. 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:

  1. Error Trigger-Node hinzufügen
  2. Mit Benachrichtigungs-Node verbinden
  3. 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/.n8n

Webhook-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:

  1. Zu Anmeldedaten gehen
  2. Neue Anmeldedaten hinzufügen
  3. In Nodes referenzieren

Sub-Workflows

Workflows modularisieren:

  1. Wiederverwendbaren Workflow erstellen
  2. Über Execute Workflow-Node aufrufen
  3. Daten zwischen Workflows übergeben

Fehlerbehebung

Webhook empfängt nicht

  1. Prüfen, ob n8n läuft
  2. Verifizieren, dass URL Port enthält wenn nötig
  3. Firewall erlaubt Traffic prüfen
  4. Mit curl testen

Ausdrucksfehler

  1. Datenstruktur verifizieren
  2. Eigenschaftspfade prüfen
  3. Optional Chaining verwenden: $json.data?.photos

Ausführungsprobleme

  1. Ausführungsprotokoll prüfen
  2. Node-Ausgaben überprüfen
  3. Einzelne Nodes testen
  4. 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

Professionelle Plattform für Fotodokumentation