@learningsuite/n8n-nodes-learningsuite 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.de.md +555 -0
- package/README.md +427 -0
- package/dist/credentials/LearningSuiteApi.credentials.d.ts +10 -0
- package/dist/credentials/LearningSuiteApi.credentials.js +49 -0
- package/dist/credentials/learningsuite.svg +1 -0
- package/dist/nodes/LearningSuite/LearningSuite.node.d.ts +65 -0
- package/dist/nodes/LearningSuite/LearningSuite.node.js +221 -0
- package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.d.ts +66 -0
- package/dist/nodes/LearningSuite/LearningSuiteTrigger.node.js +433 -0
- package/dist/nodes/LearningSuite/descriptions/ai.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/ai.properties.js +141 -0
- package/dist/nodes/LearningSuite/descriptions/apiCall.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/apiCall.properties.js +87 -0
- package/dist/nodes/LearningSuite/descriptions/bundle.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/bundle.properties.js +32 -0
- package/dist/nodes/LearningSuite/descriptions/community.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/community.properties.js +229 -0
- package/dist/nodes/LearningSuite/descriptions/course.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/course.properties.js +248 -0
- package/dist/nodes/LearningSuite/descriptions/customFields.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/customFields.properties.js +452 -0
- package/dist/nodes/LearningSuite/descriptions/group.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/group.properties.js +165 -0
- package/dist/nodes/LearningSuite/descriptions/hub.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/hub.properties.js +167 -0
- package/dist/nodes/LearningSuite/descriptions/member.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/member.properties.js +625 -0
- package/dist/nodes/LearningSuite/descriptions/module.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/module.properties.js +84 -0
- package/dist/nodes/LearningSuite/descriptions/popup.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/popup.properties.js +73 -0
- package/dist/nodes/LearningSuite/descriptions/resource.selector.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/resource.selector.js +87 -0
- package/dist/nodes/LearningSuite/descriptions/role.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/role.properties.js +14 -0
- package/dist/nodes/LearningSuite/descriptions/teamMember.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/teamMember.properties.js +74 -0
- package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/trigger.instant.properties.js +542 -0
- package/dist/nodes/LearningSuite/descriptions/user.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/user.properties.js +135 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.properties.js +672 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.d.ts +2 -0
- package/dist/nodes/LearningSuite/descriptions/webhook.sampleData.properties.js +401 -0
- package/dist/nodes/LearningSuite/exec.types.d.ts +5 -0
- package/dist/nodes/LearningSuite/exec.types.js +2 -0
- package/dist/nodes/LearningSuite/execute/ai.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/ai.handlers.js +23 -0
- package/dist/nodes/LearningSuite/execute/apiCall.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/apiCall.handlers.js +46 -0
- package/dist/nodes/LearningSuite/execute/bundle.handlers.d.ts +5 -0
- package/dist/nodes/LearningSuite/execute/bundle.handlers.js +12 -0
- package/dist/nodes/LearningSuite/execute/community.handlers.d.ts +11 -0
- package/dist/nodes/LearningSuite/execute/community.handlers.js +94 -0
- package/dist/nodes/LearningSuite/execute/course.handlers.d.ts +10 -0
- package/dist/nodes/LearningSuite/execute/course.handlers.js +87 -0
- package/dist/nodes/LearningSuite/execute/customFields.handlers.d.ts +16 -0
- package/dist/nodes/LearningSuite/execute/customFields.handlers.js +342 -0
- package/dist/nodes/LearningSuite/execute/group.handlers.d.ts +15 -0
- package/dist/nodes/LearningSuite/execute/group.handlers.js +99 -0
- package/dist/nodes/LearningSuite/execute/hub.handlers.d.ts +9 -0
- package/dist/nodes/LearningSuite/execute/hub.handlers.js +65 -0
- package/dist/nodes/LearningSuite/execute/member.handlers.d.ts +23 -0
- package/dist/nodes/LearningSuite/execute/member.handlers.js +244 -0
- package/dist/nodes/LearningSuite/execute/module.handlers.d.ts +6 -0
- package/dist/nodes/LearningSuite/execute/module.handlers.js +36 -0
- package/dist/nodes/LearningSuite/execute/popup.handlers.d.ts +7 -0
- package/dist/nodes/LearningSuite/execute/popup.handlers.js +24 -0
- package/dist/nodes/LearningSuite/execute/registry.d.ts +2 -0
- package/dist/nodes/LearningSuite/execute/registry.js +35 -0
- package/dist/nodes/LearningSuite/execute/role.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/role.handlers.js +6 -0
- package/dist/nodes/LearningSuite/execute/teamMember.handlers.d.ts +6 -0
- package/dist/nodes/LearningSuite/execute/teamMember.handlers.js +21 -0
- package/dist/nodes/LearningSuite/execute/user.handlers.d.ts +4 -0
- package/dist/nodes/LearningSuite/execute/user.handlers.js +32 -0
- package/dist/nodes/LearningSuite/execute/webhook.handlers.d.ts +9 -0
- package/dist/nodes/LearningSuite/execute/webhook.handlers.js +306 -0
- package/dist/nodes/LearningSuite/icons/learningsuite-icon-dark.svg +1 -0
- package/dist/nodes/LearningSuite/icons/learningsuite-icon-light.svg +1 -0
- package/dist/nodes/LearningSuite/index.d.ts +1 -0
- package/dist/nodes/LearningSuite/index.js +17 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.d.ts +1 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/apiCall.loadOptions.js +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/bundle.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/common.d.ts +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/common.js +22 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/community.loadOptions.js +80 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/course.loadOptions.js +58 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.d.ts +12 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/customFields.loadOptions.js +55 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/group.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.d.ts +3 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/hub.loadOptions.js +11 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.d.ts +9 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/member.loadOptions.js +27 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.d.ts +5 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/module.loadOptions.js +29 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/popup.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/role.loadOptions.js +7 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.d.ts +9 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/teamMember.loadOptions.js +35 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.d.ts +6 -0
- package/dist/nodes/LearningSuite/methods/loadOptions/webhook.loadOptions.js +18 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/customFields.resourceMapper.js +35 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.d.ts +2 -0
- package/dist/nodes/LearningSuite/methods/resourceMappers/hub.resourceMapper.js +34 -0
- package/dist/nodes/LearningSuite/shared/customFields.helpers.d.ts +4 -0
- package/dist/nodes/LearningSuite/shared/customFields.helpers.js +56 -0
- package/dist/nodes/LearningSuite/shared/customFields.shared.d.ts +42 -0
- package/dist/nodes/LearningSuite/shared/customFields.shared.js +101 -0
- package/dist/nodes/LearningSuite/shared/customFields.upload.d.ts +13 -0
- package/dist/nodes/LearningSuite/shared/customFields.upload.js +198 -0
- package/dist/nodes/LearningSuite/shared/errors.d.ts +1 -0
- package/dist/nodes/LearningSuite/shared/errors.js +16 -0
- package/dist/nodes/LearningSuite/shared/getScopedParam.d.ts +2 -0
- package/dist/nodes/LearningSuite/shared/getScopedParam.js +39 -0
- package/dist/nodes/LearningSuite/shared/index.d.ts +4 -0
- package/dist/nodes/LearningSuite/shared/index.js +20 -0
- package/dist/nodes/LearningSuite/shared/parsing.d.ts +1 -0
- package/dist/nodes/LearningSuite/shared/parsing.js +15 -0
- package/dist/nodes/LearningSuite/shared/request.d.ts +13 -0
- package/dist/nodes/LearningSuite/shared/request.js +53 -0
- package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.d.ts +11 -0
- package/dist/nodes/LearningSuitePollingTrigger/LearningSuitePollingTrigger.node.js +278 -0
- package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.d.ts +2 -0
- package/dist/nodes/LearningSuitePollingTrigger/descriptions/trigger.polling.properties.js +193 -0
- package/package.json +65 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.de.md
ADDED
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
|
|
2
|
+
# n8n-nodes-learningsuite
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Eine n8n Community Node für die **LearningSuite API**, die es ermöglicht, deine LearningSuite Instanz nahtlos in n8n Workflows zu integrieren.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Was ist n8n?
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
n8n ist ein einfach zu bedienendes Tool, mit dem du Aktionen zwischen verschiedenen Web-Apps, wie LearningSuite, automatisieren kannst. Das Erstellen von sogenannten "Workflows" zwischen Apps automatisiert viele der manuellen Aufgaben. So kannst du dir oder deinen Mitarbeitern enorm viel Zeit sparen.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## ⚖️ Rechtlicher Hinweis
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Diese Community Node verwendet die öffentliche LearningSuite API und ist nicht mit LearningSuite verbunden oder von LearningSuite gesponsert. Alle Markenzeichen gehören ihren jeweiligen Eigentümern.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
**Hinweis**: Dies ist eine von der Community entwickelte Node für die LearningSuite API. Für offiziellen Support wende dich bitte direkt an LearningSuite.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## 🚀 Features
|
|
39
|
+
|
|
40
|
+
- **14 Ressourcen** vollständig unterstützt (Member, Course, Group, Bundle, Hub, Module, Community, Custom Fields, Popup, Webhook, Role, User, Team Member, AI, API Call)
|
|
41
|
+
- **87 Operationen** für maximale Flexibilität
|
|
42
|
+
- **Instant Trigger (Webhook-basierend)** mit 17 Event-Types für Echtzeit-Automatisierung
|
|
43
|
+
- **Polling Trigger** mit 11 Event-Types für zeitgesteuerte Abfragen
|
|
44
|
+
- **Flexible API Call** Resource für custom Endpunkte
|
|
45
|
+
|
|
46
|
+
## 📋 Unterstützte Operationen
|
|
47
|
+
|
|
48
|
+
### 👤 **Member** (20 Operationen)
|
|
49
|
+
|
|
50
|
+
- Get by Email, Get by ID, Get All, Create, Update, Delete, Find or Create
|
|
51
|
+
- Activate/Deactivate, Add/Remove Courses, Add/Remove Bundles
|
|
52
|
+
- Get Courses, Get Course Info, Get Member Bundles
|
|
53
|
+
- Get Course Progress, Get Module Progress, Get Lesson Progress, Set Course Progress, Reset Course Progress
|
|
54
|
+
|
|
55
|
+
### 📚 **Course** (7 Operationen)
|
|
56
|
+
|
|
57
|
+
- Get Published Courses, Get Course Modules, Get Course Modules for Member
|
|
58
|
+
- Get Course Members, Get Course Access Requests, Get Course Submissions, Create Lesson
|
|
59
|
+
|
|
60
|
+
### 👥 **Group** (12 Operationen)
|
|
61
|
+
|
|
62
|
+
- Add Bundles to Group, Add Courses to Group, Add Members to Groups, Add Members to Groups (Summary)
|
|
63
|
+
- Create Group, Delete Group, Find Group by Name, Find or Create Group
|
|
64
|
+
- Get Group Courses, Get Many, Remove Courses From Group, Remove Members From Groups
|
|
65
|
+
|
|
66
|
+
### 📦 **Bundle** (2 Operationen)
|
|
67
|
+
|
|
68
|
+
- Get All, Get Bundle Members
|
|
69
|
+
|
|
70
|
+
### 🏠 **Hub** (6 Operationen)
|
|
71
|
+
|
|
72
|
+
- Get All, Get Templates, Create, Give Hub Access, Remove Hub Access, Get Hub Template Variables
|
|
73
|
+
|
|
74
|
+
### 📖 **Module** (3 Operationen)
|
|
75
|
+
|
|
76
|
+
- Get Module Lessons, Get Module Sections, Change Module Access for Member
|
|
77
|
+
|
|
78
|
+
### 💬 **Community** (7 Operationen)
|
|
79
|
+
|
|
80
|
+
- Assign Badges to Member, Remove Community Badges From Member
|
|
81
|
+
- Get Community Areas, Get Community Badges, Get Community Forums, Get Community Posts
|
|
82
|
+
- Create Community Post Comment
|
|
83
|
+
|
|
84
|
+
### 🔧 **Custom Fields** (13 Operationen)
|
|
85
|
+
|
|
86
|
+
- Get Cards, Get Cards (Expanded), Get Categories, Get Definitions
|
|
87
|
+
- Get Field Values, Get Store, Get Store Values
|
|
88
|
+
- Get Profile by Card, Get Profiles, Get Profiles (Expanded)
|
|
89
|
+
- Set Field Value, Set Multiple Field Values, Update Profile Field
|
|
90
|
+
|
|
91
|
+
### 🎯 **Popup** (4 Operationen)
|
|
92
|
+
|
|
93
|
+
- Get All, Get Popup, Trigger Popup for Member, Delete Popup Trigger
|
|
94
|
+
|
|
95
|
+
### 🔗 **Webhook** (5 Operationen)
|
|
96
|
+
|
|
97
|
+
- Get/Create/Update/Delete Subscriptions, Get Sample Data
|
|
98
|
+
|
|
99
|
+
### 👤 **Team Member** (3 Operationen)
|
|
100
|
+
|
|
101
|
+
- Get Many, Get by Email, Get by ID
|
|
102
|
+
|
|
103
|
+
### 📢 **User** (1 Operation)
|
|
104
|
+
|
|
105
|
+
- Send Push Notification
|
|
106
|
+
|
|
107
|
+
### 🤖 **AI** (1 Operation)
|
|
108
|
+
|
|
109
|
+
- RAG Chat
|
|
110
|
+
|
|
111
|
+
### 🛡️ **Role** (1 Operation)
|
|
112
|
+
|
|
113
|
+
- Get All
|
|
114
|
+
|
|
115
|
+
### 🛠️ **API Call** (1 Operation)
|
|
116
|
+
|
|
117
|
+
- Make Request (für beliebige API-Aufrufe)
|
|
118
|
+
|
|
119
|
+
## 🎣 Trigger Events
|
|
120
|
+
|
|
121
|
+
Der LearningSuite Trigger unterstützt folgende Events:
|
|
122
|
+
|
|
123
|
+
### ⚡ Instant Trigger Events (Webhook)
|
|
124
|
+
|
|
125
|
+
- ✅ Community Post Commented
|
|
126
|
+
- ✅ Community Post Created
|
|
127
|
+
- ✅ Community Post Moderated
|
|
128
|
+
- ✅ Course Member Added
|
|
129
|
+
- ✅ Course Progress Changed
|
|
130
|
+
- ✅ Course Updated
|
|
131
|
+
- ✅ Custom Field Value Changed
|
|
132
|
+
- ✅ Custom Popup Interaction
|
|
133
|
+
- ✅ Exam Completed
|
|
134
|
+
- ✅ Exam Graded
|
|
135
|
+
- ✅ Group User Access Changed
|
|
136
|
+
- ✅ Lesson Completed
|
|
137
|
+
- ✅ New Access Request
|
|
138
|
+
- ✅ New Feedback Created
|
|
139
|
+
- ✅ New Login
|
|
140
|
+
- ✅ Submission Created
|
|
141
|
+
- ✅ User Activation Status Changed
|
|
142
|
+
|
|
143
|
+
### ⏱️ Polling Trigger Events
|
|
144
|
+
|
|
145
|
+
- ✅ Bundle Created
|
|
146
|
+
- ✅ Community Area Created
|
|
147
|
+
- ✅ Community Badge Created
|
|
148
|
+
- ✅ Community Forum Created
|
|
149
|
+
- ✅ Custom Field Card Created
|
|
150
|
+
- ✅ Custom Popup Created
|
|
151
|
+
- ✅ Group Created
|
|
152
|
+
- ✅ Member Created
|
|
153
|
+
- ✅ Member Not Logged In for More Than X Days
|
|
154
|
+
- ✅ Team Member Created
|
|
155
|
+
- ✅ Team Member Updated
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## 💡 Beispiele für Anwendungsfälle
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
### Automatisierte Mitgliederverwaltung
|
|
163
|
+
|
|
164
|
+
Lege automatisiert von einer Liste wie in Google Sheets neue Mitglieder an und erspare dir so den Schritt, in LearningSuite manuell Nutzer anzulegen.
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
### E-Commerce Integration
|
|
169
|
+
|
|
170
|
+
Verbinde andere Tools wie Copecart per Webhook mittels n8n und verkaufe deine LearningSuite Kurse in deinem eigenen Online-Shop.
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Lead-Generierung
|
|
175
|
+
|
|
176
|
+
Verknüpfe Formulare von deiner Website und gib Nutzern, welche das Formular ausfüllen, automatisiert Zugang zu Info-Produkten in LearningSuite.
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
### Fortschritts-Monitoring
|
|
181
|
+
|
|
182
|
+
Überwache automatisch den Lernfortschritt deiner Teilnehmer und sende personalisierte Erinnerungen oder Glückwünsche.
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
## 🛠️ Installation
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
### Option 1: n8n Community Nodes (Empfohlen)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
1. Öffne deine n8n Instanz
|
|
195
|
+
|
|
196
|
+
2. Gehe zu **Settings** → **Community Nodes**
|
|
197
|
+
|
|
198
|
+
3. Installiere: `n8n-nodes-learningsuite` oder `@rjsebening/n8n-nodes-learningsuite`
|
|
199
|
+
|
|
200
|
+
4. Starte n8n neu
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
### Option 2: Manuelle Installation
|
|
204
|
+
|
|
205
|
+
#### A)
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
# In deinem n8n Projekt-Verzeichnis
|
|
209
|
+
npm i @rjsebening/n8n-nodes-learningsuite
|
|
210
|
+
|
|
211
|
+
# n8n neu starten
|
|
212
|
+
npm start
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
#### B) Unscoped (Standard)
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
|
|
220
|
+
# In deinem n8n Projekt-Verzeichnis
|
|
221
|
+
npm install n8n-nodes-learningsuite
|
|
222
|
+
|
|
223
|
+
# n8n neu starten
|
|
224
|
+
npm start
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
### Option 3: Docker
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
|
|
236
|
+
# Mit Docker Environment Variable
|
|
237
|
+
|
|
238
|
+
docker run -it --rm \
|
|
239
|
+
|
|
240
|
+
--name n8n \
|
|
241
|
+
|
|
242
|
+
-p 5678:5678 \
|
|
243
|
+
|
|
244
|
+
-e N8N_CUSTOM_EXTENSIONS="/data/custom" \
|
|
245
|
+
|
|
246
|
+
-v ~/.n8n:/data \
|
|
247
|
+
|
|
248
|
+
docker.n8n.io/n8nio/n8n
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## 🔐 Authentifizierung einrichten
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
### API Key generieren
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
1. Melde dich in deiner **LearningSuite Instanz** an
|
|
263
|
+
|
|
264
|
+
2. Gehe zu **Einstellungen** → **Integrationen**
|
|
265
|
+
|
|
266
|
+
3. Klicke auf **"API-Key generieren"**
|
|
267
|
+
|
|
268
|
+
4. Kopiere den generierten API-Key
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
### Credentials in n8n konfigurieren
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
1. Öffne n8n und gehe zu **Credentials**
|
|
277
|
+
|
|
278
|
+
2. Klicke **"New Credential"**
|
|
279
|
+
|
|
280
|
+
3. Suche nach **"LearningSuite API"**
|
|
281
|
+
|
|
282
|
+
4. Fülle folgende Felder aus:
|
|
283
|
+
|
|
284
|
+
- **API Key**: Dein generierter API-Key
|
|
285
|
+
|
|
286
|
+
- **Base URL**: `https://api.learningsuite.io/api/v1` (Standard)
|
|
287
|
+
|
|
288
|
+
5. Teste die Verbindung und speichere
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
## 📖 Verwendung
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
### Basic Member Operation
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
1. Füge einen "LearningSuite" Node hinzu
|
|
303
|
+
|
|
304
|
+
2. Wähle Resource: "Member"
|
|
305
|
+
|
|
306
|
+
3. Wähle Operation: "Get by Email"
|
|
307
|
+
|
|
308
|
+
4. Gib die E-Mail Adresse ein
|
|
309
|
+
|
|
310
|
+
5. Führe den Workflow aus
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
### ⚡ Instant Webhook Trigger Setup
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
1. Füge einen "LearningSuite Trigger" Node hinzu
|
|
323
|
+
|
|
324
|
+
2. Wähle das gewünschte Event (z.B. "Lesson Completed")
|
|
325
|
+
|
|
326
|
+
3. Konfiguriere optionale Filter
|
|
327
|
+
|
|
328
|
+
4. Aktiviere den Workflow
|
|
329
|
+
|
|
330
|
+
5. Der Webhook wird automatisch bei LearningSuite registriert
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
### ⏱️ Polling Trigger Setup
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
1. Füge einen "LearningSuite Polling Trigger" Node hinzu
|
|
341
|
+
|
|
342
|
+
2. Wähle das gewünschte Event (z.B. "New Member")
|
|
343
|
+
|
|
344
|
+
3. Konfiguriere optionale Filter
|
|
345
|
+
|
|
346
|
+
4. Aktiviere den Workflow
|
|
347
|
+
|
|
348
|
+
5. Der Polling Trigger wird automatisch bei LearningSuite registriert
|
|
349
|
+
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
## 🔧 API Referenz
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
Die Node basiert auf der **LearningSuite API** und unterstützt alle öffentlich verfügbaren Endpunkte.
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
**Base URL**: `https://api.learningsuite.io/api/v1`
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
**Authentifizierung**: API Key über `x-api-key` Header
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
Vollständige API Dokumentation verfügbar unter: [LearningSuite API Docs](https://api.learningsuite.io/api/v1/docs/)
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
## 🤝 Contributing
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
Wir freuen uns über Beiträge! Bitte beachte folgende Guidelines:
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
### Development Setup
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
|
|
387
|
+
# Repository klonen
|
|
388
|
+
|
|
389
|
+
git clone https://github.com/rjsebening/n8n-nodes-learningsuite.git
|
|
390
|
+
|
|
391
|
+
cd n8n-nodes-learningsuite
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
# Dependencies installieren
|
|
396
|
+
|
|
397
|
+
npm install
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
# TypeScript kompilieren
|
|
402
|
+
|
|
403
|
+
npm run build
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
# Tests ausführen
|
|
408
|
+
|
|
409
|
+
npm test
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
### Pull Request Guidelines
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
1. **Fork** das Repository
|
|
420
|
+
|
|
421
|
+
2. Erstelle einen **Feature Branch** (`git checkout -b feature/amazing-feature`)
|
|
422
|
+
|
|
423
|
+
3. **Committe** deine Änderungen (`git commit -m 'Add amazing feature'`)
|
|
424
|
+
|
|
425
|
+
4. **Push** zum Branch (`git push origin feature/amazing-feature`)
|
|
426
|
+
|
|
427
|
+
5. Öffne einen **Pull Request**
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
### Code Style
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
- TypeScript für alle neuen Features
|
|
436
|
+
|
|
437
|
+
- ESLint Konfiguration befolgen
|
|
438
|
+
|
|
439
|
+
- Tests für neue Funktionalität hinzufügen
|
|
440
|
+
|
|
441
|
+
- Dokumentation aktualisieren
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
## 📝 Changelog
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
### Version 0.1.0 (2025-09-23)
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
#### 🎉 Initial Release
|
|
454
|
+
|
|
455
|
+
- ✅ Vollständige LearningSuite API Integration
|
|
456
|
+
|
|
457
|
+
- ✅ 14 Ressourcen mit 87 Operationen
|
|
458
|
+
|
|
459
|
+
- ✅ Webhook Trigger mit 17 Event-Types für Echtzeit-Automatisierung
|
|
460
|
+
|
|
461
|
+
- ✅ Polling Trigger mit 11 Event-Types
|
|
462
|
+
|
|
463
|
+
- ✅ "Find-or-Create" Logik für Member und Groups
|
|
464
|
+
|
|
465
|
+
- ✅ Custom Fields Resource mit vollständigem CRUD Support
|
|
466
|
+
|
|
467
|
+
- ✅ Kurs-Fortschritt Management (Get/Set/Reset)
|
|
468
|
+
|
|
469
|
+
- ✅ Flexible Parameter-Konfiguration
|
|
470
|
+
|
|
471
|
+
- ✅ API Call Resource für custom Endpunkte
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
## 🛠️ Kompatibilität
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
- **n8n Version**: 1.112.3+ (getestet mit latest)
|
|
480
|
+
|
|
481
|
+
- **Node Version**: 20+
|
|
482
|
+
|
|
483
|
+
- **TypeScript**: 5.0+
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
## 📄 Lizenz
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
Dieses Projekt ist unter der [MIT Lizenz](LICENSE) lizenziert.
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
## ❓ Support
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
### Probleme melden
|
|
500
|
+
|
|
501
|
+
Für Bugs oder Feature Requests, bitte ein [GitHub Issue](https://github.com/rjsebening/n8n-nodes-learningsuite/issues) erstellen.
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
|
|
505
|
+
### FAQ
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
**Q: Kann ich mehrere LearningSuite Instanzen verwenden?**
|
|
510
|
+
|
|
511
|
+
A: Ja, erstelle einfach mehrere Credentials mit unterschiedlichen API Keys und Base URLs.
|
|
512
|
+
|
|
513
|
+
|
|
514
|
+
|
|
515
|
+
**Q: Werden alle API Endpoints unterstützt?**
|
|
516
|
+
|
|
517
|
+
A: Die Node deckt alle öffentlichen API Endpunkte ab. Für spezielle Endpunkte nutze die "API Call" Resource.
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
**Q: Wie finde ich meine LearningSuite API Base URL?**
|
|
522
|
+
|
|
523
|
+
A: Die Standard URL ist `https://api.learningsuite.io/api/v1`. Bei Custom Domains kontaktiere deinen LearningSuite Administrator.
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
---
|
|
528
|
+
|
|
529
|
+
|
|
530
|
+
|
|
531
|
+
⭐ **Gefällt dir diese Node?** Gib uns einen Stern auf GitHub!
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
💡 **Feature Request?** Öffne ein Issue - wir sind immer offen für Verbesserungen!
|
|
536
|
+
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
## 📋 Haftungsausschluss
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
Diese inoffizielle Community Node ist nicht mit LearningSuite verbunden, von LearningSuite unterstützt oder gesponsert. Sie nutzt ausschließlich die öffentlich verfügbare LearningSuite API gemäß deren Nutzungsbedingungen.
|
|
544
|
+
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
**Wichtige Hinweise:**
|
|
548
|
+
|
|
549
|
+
- Diese Node wird von der Community entwickelt und gepflegt
|
|
550
|
+
|
|
551
|
+
- Für Probleme mit der LearningSuite API wende dich an den offiziellen LearningSuite Support
|
|
552
|
+
|
|
553
|
+
- Alle LearningSuite Markenzeichen und Logos gehören LearningSuite
|
|
554
|
+
|
|
555
|
+
- Diese Node stellt lediglich eine Schnittstelle zur öffentlichen API dar
|