Package Information
Released: 4 mo ago
Downloads: 8 weekly / 73 monthly
Latest Version: 0.2.1
Author: martin_sol_95
Documentation
@martin_sol_95/n8n-nodes-leonhard
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)
- n8n öffnen → Settings → Community Nodes
- Install klicken
- Paketname eingeben:
@martin_sol_95/n8n-nodes-leonhard - 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
Erstellt von martin_sol_95 für die Integration der Leonhard API in n8n-Workflows.