leonhard

n8n node for Leonhard API integration

Package Information

Released: 4 mo ago
Downloads: 8 weekly / 73 monthly
Latest Version: 0.2.1
Author: martin_sol_95

Available Nodes

Documentation generating…

Documentation

@martin_sol_95/n8n-nodes-leonhard

npm version
License: MIT

n8n Community Node für die Leonhard API – ein Verwaltungssystem für Zeitungsverlage (Abonnements, Kunden, Zustellreklamationen und mehr).

Installation

Über die n8n-Oberfläche (empfohlen)

  1. n8n öffnen → Settings → Community Nodes
  2. Install klicken
  3. Paketname eingeben: @martin_sol_95/n8n-nodes-leonhard
  4. Bestätigen und n8n neu starten

Manuell (self-hosted)

cd ~/.n8n
npm install @martin_sol_95/n8n-nodes-leonhard
# n8n neu starten

Credentials

Credential-Typ: Leonhard API

Feld Beschreibung Beispiel
Base URL URL der Leonhard-Instanz https://leonhard.example.de
Access Token Bearer Token für die API-Authentifizierung abc123...

Den Access Token erhältst du in den Leonhard-Einstellungen unter API-Schlüssel.

Ressourcen und Operationen

Abonnement

Operation Beschreibung Endpoint
Neues Abo anlegen Abonnement erstellen POST /api/v1/abo/new
Abo aktualisieren Abonnement bearbeiten POST /api/v1/abo/update
Zu-/Abgänge abrufen Zugänge und Abgänge im Zeitraum GET /api/v1/zuabgaenge/:von/:bis
Abonnements einer Unterausgabe Alle Abos einer Ausgabe GET /api/v1/abonnements/:unterausgabe
Abonnements an Adresse Abos nach Lieferadresse GET /api/v1/location/:q
Neue Abos im Zeitraum Neuabschlüsse abrufen GET /api/v1/abonnements/new
Churn-Daten Kündigungen abrufen GET /api/v1/abonnements/churn
Leads Lead-Daten abrufen GET /api/v1/abonnements/leads
Conversion-Rate Conversion-Daten abrufen GET /api/v1/abonnements/conversion

Kommentar

Operation Beschreibung Endpoint
Alle abrufen Alle Kommentare abrufen GET /api/v1/comments
Einzeln abrufen Einzelnen Kommentar abrufen GET /api/v1/comments/:id
Erstellen Kommentar anlegen POST /api/v1/.../comments
Aktualisieren Kommentar bearbeiten PUT /api/v1/comments/:id
Löschen Kommentar entfernen DELETE /api/v1/comments/:id

Kommunikation

Operation Beschreibung Endpoint
Erstellen Kommunikationseintrag anlegen POST /api/v1/kundes/:kunde_id/communication

Kunde

Operation Beschreibung Endpoint
Suchen Kunden nach Name/Adresse suchen GET /api/v1/kundes/search/:q
Fuzzy-Suche Unscharfe Suche GET /api/v1/kundes/fuzzy
Einzeln abrufen Einzelnen Kunden abrufen GET /api/v1/kundes/show/:id
Erstellen Neuen Kunden (Person) anlegen POST /api/v1/person/new
Aktualisieren Kundendaten bearbeiten POST /api/v1/kundes/:id
Location hinzufügen Lieferadresse zuweisen POST /api/v1/kundes/:id/location/add/:location_id

Location

Operation Beschreibung Endpoint
Suchen Adresse suchen GET /api/v1/locations/search/:q
Einzeln abrufen Einzelne Adresse abrufen GET /api/v1/locations/show/:id
Verfügbare Abos Abonnements an dieser Adresse GET /api/v1/locations/:id/verfuegbare_abos
Verfügbare Abos (Plan) Abonnements nach Plan-ID filtern GET /api/v1/locations/:id/verfuegbare_abos/:plan_id
Abholkasten Abholkasten an Adresse GET /api/v1/locations/:id/abholkasten
Straßen nach PLZ Alle Straßen einer Postleitzahl GET /api/v1/locations/strassen/:zipcode
Haushalte synchronisieren (Paperboy) Briefkasten-OCR mit Haushalten abgleichen POST /api/v1/locations/:id/sync_haushalte

Newspaper

Operation Beschreibung Endpoint
Alle abrufen Alle Zeitungen abrufen GET /api/v1/newspapers
Einzeln abrufen Einzelne Zeitung abrufen GET /api/v1/newspapers/:id
Erstellen Zeitung anlegen POST /api/v1/newspapers
Aktualisieren Zeitung bearbeiten PUT /api/v1/newspapers/:id
Löschen Zeitung entfernen DELETE /api/v1/newspapers/:id

Träger

Operation Beschreibung Endpoint
Abrufen Träger per Personalnummer oder ID abrufen GET /api/v1/traeger
Aktive abrufen Alle aktiven Träger abrufen GET /api/v1/traegers/aktiv

Zustellreklamation

Operation Beschreibung Endpoint
Suchen Reklamationen suchen GET /api/v1/zustellreklamation/search
Einzeln abrufen Einzelne Reklamation abrufen GET /api/v1/zustellreklamation/:id
Kunden-Zustellungslogs Zustellungslogs eines Kunden GET /api/v1/zustellreklamation/zustellungslogs
Erstellen Neue Reklamation anlegen POST /api/v1/zustellreklamation
Aktualisieren Reklamation bearbeiten PUT /api/v1/zustellreklamation/:id
Nachlieferung Nachlieferung auslösen POST /api/v1/zustellreklamation/:id/nachlieferung
Gutschrift erstellen Chargebee-Gutschrift für Reklamation POST /api/v1/zustellreklamation/:id/credit_note
Alle Gutschriften Alle offenen Gutschriften verarbeiten POST /api/v1/zustellreklamation/create_all_credit_notes

Hinweis zu "Alle Gutschriften": Über den optionalen Parameter Mindestalter (Tage) werden nur Reklamationen berücksichtigt, deren Erstelldatum mindestens so viele Tage in der Vergangenheit liegt. Ohne diesen Parameter werden alle offenen Gutschriften verarbeitet.

Kompatibilität

Anforderung Version
n8n >= 1.0.0
Node.js >= 18

Entwicklung

Voraussetzungen: Node.js >= 18, npm

git clone https://github.com/mundschenk/n8n-node-leonhard.git
cd n8n-node-leonhard
npm install

# Einmalig bauen
npm run build

# Watch-Modus (automatisches Rebuild bei Änderungen)
npm run dev

# n8n für lokales Testen starten (separates Terminal)
./START_DEV.sh

Build-Befehle

npm run build      # TypeScript kompilieren + Icons kopieren
npm run dev        # Watch-Modus
npm run clean      # dist/ löschen
npm run lint       # ESLint ausführen
npm run lint:fix   # ESLint mit Auto-Fix

Nach Code-Änderungen muss n8n neu gestartet werden. Den Cache bei Problemen löschen:

rm -rf ~/.n8n/cache

Veröffentlichung auf npm

# Baut automatisch (via prepublishOnly) und lintet vor dem Publish
npm publish --access public

Lizenz

MIT


Erstellt von martin_sol_95 für die Integration der Leonhard API in n8n-Workflows.

Discussion