n8n-nodes-smartprofiling 0.1.10 → 0.2.0
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/README.md +80 -358
- package/dist/credentials/SmartProfilingApi.credentials.js +3 -3
- package/dist/credentials/SmartProfilingApi.credentials.js.map +1 -1
- package/dist/nodes/SmartProfiling/SmartProfiling.node.js +44 -171
- package/dist/nodes/SmartProfiling/SmartProfiling.node.js.map +1 -1
- package/dist/nodes/SmartProfiling/request.d.ts +24 -0
- package/dist/nodes/SmartProfiling/request.js +270 -0
- package/dist/nodes/SmartProfiling/request.js.map +1 -0
- package/dist/nodes/SmartProfiling/resources/channel/index.js +1 -0
- package/dist/nodes/SmartProfiling/resources/channel/index.js.map +1 -1
- package/dist/nodes/SmartProfiling/resources/chat/index.js +2 -2
- package/dist/nodes/SmartProfiling/resources/chat/index.js.map +1 -1
- package/dist/nodes/SmartProfiling/resources/speakers/index.js +1 -1
- package/dist/nodes/SmartProfiling/resources/speakers/index.js.map +1 -1
- package/dist/nodes/SmartProfiling/resources/summarize/index.js +2 -2
- package/dist/nodes/SmartProfiling/resources/summarize/index.js.map +1 -1
- package/dist/nodes/SmartProfiling/resources/transcript/index.js +1 -1
- package/dist/nodes/SmartProfiling/resources/transcript/index.js.map +1 -1
- package/dist/package.json +4 -4
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,387 +1,109 @@
|
|
|
1
1
|
# n8n-nodes-smartprofiling
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Turn any YouTube video, channel or playlist into transcripts, summaries, chapters and answers inside your n8n workflows.
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/n8n-nodes-smartprofiling)
|
|
6
|
+
[](https://www.npmjs.com/package/n8n-nodes-smartprofiling)
|
|
7
|
+
[](https://github.com/mjmirza/n8n-nodes-smartprofiling/actions/workflows/ci.yml)
|
|
8
|
+
[](https://www.npmjs.com/package/n8n-nodes-smartprofiling#provenance)
|
|
9
|
+
[](LICENSE.md)
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
## What you get
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
- **A transcript in one step.** Paste a video ID or URL and get clean text back, ready for a sheet, a CMS or an AI step.
|
|
14
|
+
- **Summaries without watching.** Brief, detailed, bullet point or chapter summaries.
|
|
15
|
+
- **Answers from a video.** Send a question and get an answer grounded in what the video actually says.
|
|
16
|
+
- **Chapters and speakers.** Timestamped chapters ready for a YouTube description, and speakers labelled in interviews and podcasts.
|
|
17
|
+
- **Channel intelligence.** Videos, shorts, playlists, subscriber and view counts, and growth over 7 to 365 days for any channel.
|
|
18
|
+
- **Signed releases.** Every version is published from GitHub Actions with npm provenance, so you can trace it to the exact commit.
|
|
12
19
|
|
|
13
|
-
|
|
20
|
+
## From install to first result
|
|
14
21
|
|
|
15
|
-
1.
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4.
|
|
19
|
-
5.
|
|
22
|
+
1. In n8n open **Settings**, then **Community Nodes**, then **Install a community node**, enter `n8n-nodes-smartprofiling` and install.
|
|
23
|
+
2. Create an API key at [smartprofiling.com](https://smartprofiling.com) under **Dashboard**, then **API Keys**. Keys start with `sp_`.
|
|
24
|
+
3. In n8n add a credential of type **Smart Profiling API** and paste the key.
|
|
25
|
+
4. Add a **Smart Profiling** node, pick **Transcript** and **Get Single**, enter a video ID such as `dQw4w9WgXcQ`, and run it.
|
|
26
|
+
5. The transcript appears in the output panel. Connect it to any next step.
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
## Operations
|
|
22
29
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
| Resource | Operation | What it does |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| Channel | Get Videos | Lists a channel's videos, with a continuation token for the next page |
|
|
33
|
+
| Channel | Get Shorts | Lists a channel's shorts |
|
|
34
|
+
| Channel | Get Playlists | Lists a channel's playlists |
|
|
35
|
+
| Channel | Get Stats | Subscribers, views and video count, with optional AI insights |
|
|
36
|
+
| Channel | Get Growth | Growth data for 7, 30, 90 or 365 days |
|
|
37
|
+
| Chapter | Generate Chapters | Timestamped chapters as JSON, YouTube description text or Markdown, with optional minimum length and maximum count |
|
|
38
|
+
| Chat | Send Message | Asks a question about a video and keeps a conversation ID for follow ups |
|
|
39
|
+
| Playlist | Get Videos | Lists the videos in a playlist, from an ID or a full URL, up to the Limit you set |
|
|
40
|
+
| Speaker | Identify Speakers | Labels who speaks when |
|
|
41
|
+
| Summarize | Generate Summary | Brief, Detailed, Bullet Points or Chapters format |
|
|
42
|
+
| Transcript | Get Single | Transcript for one video as JSON, text, SRT or VTT. With JSON, a Display Format adds a Timeline, Plain, Paragraph or Sentences `formattedText` field |
|
|
43
|
+
| Transcript | Get Bulk | Transcripts for several videos in one request |
|
|
28
44
|
|
|
29
|
-
|
|
45
|
+
Every operation supports n8n's **Continue On Fail**, and failed items keep the HTTP status code. Rate limits are retried with backoff and honor the API's Retry-After header. Server errors are retried only on calls that do not use credits, so a paid request is never charged twice.
|
|
30
46
|
|
|
31
|
-
|
|
32
|
-
2. Search for **Smart Profiling API**
|
|
33
|
-
3. Paste your API key
|
|
34
|
-
4. Click **Save**
|
|
47
|
+
Summary Length, Custom Prompt, Max Speakers, and the chat Max Tokens and Temperature are sent with the request but not yet applied by the API.
|
|
35
48
|
|
|
36
|
-
|
|
49
|
+
### Example workflows
|
|
37
50
|
|
|
38
|
-
|
|
51
|
+
Daily digest:
|
|
52
|
+
- Schedule Trigger, then Channel Get Videos, then Summarize Generate Summary per video, then send to email, Slack or Notion.
|
|
39
53
|
|
|
40
|
-
|
|
54
|
+
Video question bot:
|
|
55
|
+
- Webhook, then Chat Send Message, then Respond to Webhook.
|
|
41
56
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
| **Transcripts** | Extract captions from any YouTube video | Content repurposing, SEO |
|
|
45
|
-
| **Summarize** | AI-powered video summaries | Newsletter digests, research |
|
|
46
|
-
| **Chat** | Ask questions about video content | Customer support, Q&A bots |
|
|
47
|
-
| **Chapters** | Auto-generate timestamps | YouTube descriptions |
|
|
48
|
-
| **Speakers** | Identify and label speakers | Interview analysis, podcasts |
|
|
49
|
-
| **Channel** | Get all videos from a channel | Bulk processing, monitoring |
|
|
50
|
-
| **Channel Stats** | Get subscriber/view/video counts | Creator analytics |
|
|
51
|
-
| **Channel Growth** | Get historical growth data | Trend analysis |
|
|
52
|
-
| **Playlist** | Get videos from a playlist | Course processing, archives |
|
|
57
|
+
Bulk transcript export:
|
|
58
|
+
- Playlist Get Videos, then Transcript Get Single per item, then Google Sheets or a database.
|
|
53
59
|
|
|
54
|
-
|
|
60
|
+
## Credentials
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
| Field | Value |
|
|
63
|
+
|---|---|
|
|
64
|
+
| API Key | Your key from the Smart Profiling dashboard |
|
|
65
|
+
| Base URL | Leave the default unless you were given a dedicated domain. Must use https and a public host |
|
|
57
66
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
**Goal:** Get the transcript of a YouTube video
|
|
61
|
-
|
|
62
|
-
1. Add a **Smart Profiling** node to your workflow
|
|
63
|
-
2. Set **Resource** → `Transcript`
|
|
64
|
-
3. Set **Operation** → `Get Single`
|
|
65
|
-
4. Enter the **Video ID**: `dQw4w9WgXcQ` (or paste full URL)
|
|
66
|
-
5. Choose **Format**: `text` or `json`
|
|
67
|
-
6. Execute!
|
|
68
|
-
|
|
69
|
-
**Output:**
|
|
70
|
-
```json
|
|
71
|
-
{
|
|
72
|
-
"transcript": "Never gonna give you up, never gonna let you down...",
|
|
73
|
-
"videoId": "dQw4w9WgXcQ",
|
|
74
|
-
"language": "en"
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
### Example 2: Summarize a Video
|
|
81
|
-
|
|
82
|
-
**Goal:** Get an AI summary of a video
|
|
83
|
-
|
|
84
|
-
1. Add a **Smart Profiling** node
|
|
85
|
-
2. Set **Resource** → `Summarize`
|
|
86
|
-
3. Set **Operation** → `Generate Summary`
|
|
87
|
-
4. Enter the **Video ID**
|
|
88
|
-
5. Choose **Summary Type**:
|
|
89
|
-
- `brief` - 2-3 sentences
|
|
90
|
-
- `detailed` - Full analysis with key points
|
|
91
|
-
- `bullets` - Bullet point list
|
|
92
|
-
- `chapters` - Summary organized by chapters
|
|
93
|
-
|
|
94
|
-
**Output:**
|
|
95
|
-
```json
|
|
96
|
-
{
|
|
97
|
-
"summary": "This video explains the basics of...",
|
|
98
|
-
"videoId": "abc123",
|
|
99
|
-
"type": "brief"
|
|
100
|
-
}
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
### Example 3: Chat with a Video
|
|
106
|
-
|
|
107
|
-
**Goal:** Ask questions about video content
|
|
108
|
-
|
|
109
|
-
1. Add a **Smart Profiling** node
|
|
110
|
-
2. Set **Resource** → `Chat`
|
|
111
|
-
3. Set **Operation** → `Ask Question`
|
|
112
|
-
4. Enter the **Video ID**
|
|
113
|
-
5. Type your **Question**: "What are the main topics discussed?"
|
|
114
|
-
|
|
115
|
-
**Output:**
|
|
116
|
-
```json
|
|
117
|
-
{
|
|
118
|
-
"answer": "The main topics discussed are...",
|
|
119
|
-
"videoId": "abc123"
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
### Example 4: Get Channel Videos
|
|
126
|
-
|
|
127
|
-
**Goal:** Get all videos from a YouTube channel
|
|
128
|
-
|
|
129
|
-
1. Add a **Smart Profiling** node
|
|
130
|
-
2. Set **Resource** → `Channel`
|
|
131
|
-
3. Set **Operation** → `Get Videos`
|
|
132
|
-
4. Enter the **Channel ID or Handle**: `@mkbhd` or `UCBJycsmduvYEL83R_U4JriQ`
|
|
133
|
-
5. Set **Limit**: `50` (max videos to return)
|
|
134
|
-
|
|
135
|
-
**Output:** Array of video objects with IDs, titles, thumbnails, etc.
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
### Example 5: Get Channel Statistics
|
|
140
|
-
|
|
141
|
-
**Goal:** Get comprehensive channel statistics
|
|
142
|
-
|
|
143
|
-
1. Add a **Smart Profiling** node
|
|
144
|
-
2. Set **Resource** → `Channel`
|
|
145
|
-
3. Set **Operation** → `Get Stats`
|
|
146
|
-
4. Enter the **Channel ID or Handle**: `@MrBeast`
|
|
147
|
-
5. Optionally enable **Include AI Insights** for growth recommendations
|
|
148
|
-
|
|
149
|
-
**Output:**
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"success": true,
|
|
153
|
-
"data": {
|
|
154
|
-
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
|
|
155
|
-
"handle": "@MrBeast",
|
|
156
|
-
"name": "MrBeast",
|
|
157
|
-
"subscriberCount": 463000000,
|
|
158
|
-
"viewCount": 89410000000,
|
|
159
|
-
"videoCount": 944,
|
|
160
|
-
"thumbnailUrl": "https://...",
|
|
161
|
-
"insights": {
|
|
162
|
-
"trend": "growing",
|
|
163
|
-
"recommendations": ["Post consistently", "Engage with comments"]
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### Example 6: Get Channel Growth Data
|
|
172
|
-
|
|
173
|
-
**Goal:** Track channel growth over time
|
|
174
|
-
|
|
175
|
-
1. Add a **Smart Profiling** node
|
|
176
|
-
2. Set **Resource** → `Channel`
|
|
177
|
-
3. Set **Operation** → `Get Growth`
|
|
178
|
-
4. Enter the **Channel ID or Handle**: `@MrBeast`
|
|
179
|
-
5. Select **Time Period**: `30d` (or 7d, 90d, 365d)
|
|
180
|
-
|
|
181
|
-
**Output:**
|
|
182
|
-
```json
|
|
183
|
-
{
|
|
184
|
-
"success": true,
|
|
185
|
-
"data": {
|
|
186
|
-
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
|
|
187
|
-
"period": "30d",
|
|
188
|
-
"dataPoints": [
|
|
189
|
-
{ "date": "2026-01-01", "subscriberCount": 460000000, "viewCount": 88000000000 },
|
|
190
|
-
{ "date": "2026-01-15", "subscriberCount": 461500000, "viewCount": 88700000000 }
|
|
191
|
-
],
|
|
192
|
-
"summary": {
|
|
193
|
-
"subscriberChange": 3000000,
|
|
194
|
-
"subscriberChangePercent": 0.65,
|
|
195
|
-
"viewChange": 1410000000,
|
|
196
|
-
"viewChangePercent": 1.6
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Workflow Templates
|
|
205
|
-
|
|
206
|
-
### Template 1: Daily YouTube Digest
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
Schedule Trigger (Daily)
|
|
210
|
-
↓
|
|
211
|
-
Smart Profiling (Channel → Get Videos)
|
|
212
|
-
↓
|
|
213
|
-
Smart Profiling (Summarize each video)
|
|
214
|
-
↓
|
|
215
|
-
Send Email / Slack / Notion
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### Template 2: Video Q&A Bot
|
|
219
|
-
|
|
220
|
-
```
|
|
221
|
-
Webhook (receives question)
|
|
222
|
-
↓
|
|
223
|
-
Smart Profiling (Chat → Ask Question)
|
|
224
|
-
↓
|
|
225
|
-
Respond to Webhook
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
### Template 3: Bulk Transcript Export
|
|
229
|
-
|
|
230
|
-
```
|
|
231
|
-
Smart Profiling (Playlist → Get Videos)
|
|
232
|
-
↓
|
|
233
|
-
Loop Over Items
|
|
234
|
-
↓
|
|
235
|
-
Smart Profiling (Transcript → Get Single)
|
|
236
|
-
↓
|
|
237
|
-
Google Sheets / Airtable / Database
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Template 4: Creator Analytics Dashboard
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
Schedule Trigger (Daily)
|
|
244
|
-
↓
|
|
245
|
-
Smart Profiling (Channel → Get Stats) [Multiple channels]
|
|
246
|
-
↓
|
|
247
|
-
Smart Profiling (Channel → Get Growth)
|
|
248
|
-
↓
|
|
249
|
-
Compare & Calculate Trends
|
|
250
|
-
↓
|
|
251
|
-
Store in Database / Send Report
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
### Template 5: Competitor Monitoring
|
|
255
|
-
|
|
256
|
-
```
|
|
257
|
-
Schedule Trigger (Weekly)
|
|
258
|
-
↓
|
|
259
|
-
Smart Profiling (Channel → Get Stats) [Your channel]
|
|
260
|
-
↓
|
|
261
|
-
Smart Profiling (Channel → Get Stats) [Competitor channels]
|
|
262
|
-
↓
|
|
263
|
-
Compare Growth Rates
|
|
264
|
-
↓
|
|
265
|
-
Slack / Email Alert if competitor is growing faster
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
## API Reference
|
|
271
|
-
|
|
272
|
-
### Resources & Operations
|
|
273
|
-
|
|
274
|
-
#### Transcript
|
|
275
|
-
| Operation | Description |
|
|
276
|
-
|-----------|-------------|
|
|
277
|
-
| Get Single | Extract transcript from one video |
|
|
278
|
-
| Get Bulk | Extract transcripts from multiple videos |
|
|
279
|
-
|
|
280
|
-
#### Summarize
|
|
281
|
-
| Operation | Description |
|
|
282
|
-
|-----------|-------------|
|
|
283
|
-
| Generate Summary | AI summary (brief/detailed/bullets/takeaways) |
|
|
284
|
-
|
|
285
|
-
#### Chat
|
|
286
|
-
| Operation | Description |
|
|
287
|
-
|-----------|-------------|
|
|
288
|
-
| Ask Question | Ask a question about video content |
|
|
289
|
-
|
|
290
|
-
#### Chapter
|
|
291
|
-
| Operation | Description |
|
|
292
|
-
|-----------|-------------|
|
|
293
|
-
| Generate Chapters | Auto-generate timestamps |
|
|
294
|
-
|
|
295
|
-
#### Speakers
|
|
296
|
-
| Operation | Description |
|
|
297
|
-
|-----------|-------------|
|
|
298
|
-
| Identify Speakers | Identify and label speakers in transcript |
|
|
299
|
-
|
|
300
|
-
#### Channel
|
|
301
|
-
| Operation | Description |
|
|
302
|
-
|-----------|-------------|
|
|
303
|
-
| Get Videos | Get all videos from channel |
|
|
304
|
-
| Get Shorts | Get shorts from channel |
|
|
305
|
-
| Get Playlists | Get playlists from channel |
|
|
306
|
-
| Get Stats | Get channel statistics (subscribers, views, videos) |
|
|
307
|
-
| Get Growth | Get historical growth data (7d, 30d, 90d, 365d) |
|
|
308
|
-
|
|
309
|
-
#### Playlist
|
|
310
|
-
| Operation | Description |
|
|
311
|
-
|-----------|-------------|
|
|
312
|
-
| Get Videos | Get all videos in a playlist |
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
## Supported Formats
|
|
317
|
-
|
|
318
|
-
### Transcript Formats
|
|
319
|
-
- `json` - Structured JSON with timestamps
|
|
320
|
-
- `text` - Plain text
|
|
321
|
-
- `srt` - SubRip subtitle format
|
|
322
|
-
- `vtt` - WebVTT subtitle format
|
|
323
|
-
|
|
324
|
-
### Summary Types
|
|
325
|
-
- `brief` - 2-3 sentence summary
|
|
326
|
-
- `detailed` - Comprehensive with key points
|
|
327
|
-
- `bullet-points` - Bullet point list
|
|
328
|
-
- `chapters` - Summary organized by video chapters
|
|
329
|
-
|
|
330
|
-
### Chapter Formats
|
|
331
|
-
- `json` - Structured data
|
|
332
|
-
- `youtube` - Ready for YouTube description
|
|
333
|
-
- `markdown` - Markdown formatted
|
|
334
|
-
|
|
335
|
-
---
|
|
67
|
+
The credential is tested on save with a request that uses no credits, so a wrong key shows up immediately. API documentation is at [smartprofiling.com/api-docs](https://smartprofiling.com/api-docs).
|
|
336
68
|
|
|
337
69
|
## Troubleshooting
|
|
338
70
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
3. Add delays between requests in bulk operations
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
## Pricing
|
|
367
|
-
|
|
368
|
-
| Plan | Credits/Month | Best For |
|
|
369
|
-
|------|---------------|----------|
|
|
370
|
-
| Free | 100 | Testing & small projects |
|
|
371
|
-
| Pro | 10,000 | Regular workflows |
|
|
372
|
-
| Business | 100,000 | High-volume automation |
|
|
71
|
+
| Symptom | Fix |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Node does not appear | Open Community Nodes, update to the latest version, then hard refresh the browser |
|
|
74
|
+
| Invalid API key | Check the key starts with `sp_` and has no surrounding spaces |
|
|
75
|
+
| Video not found | Make sure the video is public and the ID is correct, or paste the full URL |
|
|
76
|
+
| Rate limit exceeded | Check usage in the dashboard, raise retries, or add a Wait node between bulk calls |
|
|
77
|
+
|
|
78
|
+
## For developers
|
|
79
|
+
|
|
80
|
+
| Area | Detail |
|
|
81
|
+
|---|---|
|
|
82
|
+
| Language | TypeScript, built with `@n8n/node-cli` |
|
|
83
|
+
| Runtime dependencies | None. Only `n8n-workflow` as a peer |
|
|
84
|
+
| Lint | n8n community node rules, the same set n8n uses to verify packages |
|
|
85
|
+
| Node.js | 22 or newer for development |
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
npm ci
|
|
89
|
+
npm run lint
|
|
90
|
+
npm run build
|
|
91
|
+
npm test # lint, build, then the behavior tests in test/
|
|
92
|
+
npm run dev # starts a local n8n with the node loaded
|
|
93
|
+
```
|
|
373
94
|
|
|
374
|
-
|
|
95
|
+
Project layout:
|
|
96
|
+
- `nodes/SmartProfiling/` holds the node, one folder per resource under `resources/`
|
|
97
|
+
- `credentials/` holds the Smart Profiling API credential
|
|
98
|
+
- `.github/workflows/` holds CI and the signed publish workflow
|
|
375
99
|
|
|
376
|
-
|
|
100
|
+
Releases are cut by pushing a `vX.Y.Z` tag that matches `package.json`. The publish workflow lints, builds and publishes with `--provenance`.
|
|
377
101
|
|
|
378
102
|
## Support
|
|
379
103
|
|
|
380
|
-
-
|
|
381
|
-
-
|
|
382
|
-
|
|
383
|
-
---
|
|
104
|
+
- Product and API questions go to support@smartprofiling.com
|
|
105
|
+
- Bugs and feature requests go to [GitHub issues](https://github.com/mjmirza/n8n-nodes-smartprofiling/issues)
|
|
384
106
|
|
|
385
107
|
## License
|
|
386
108
|
|
|
387
|
-
[MIT](LICENSE.md)
|
|
109
|
+
[MIT](LICENSE.md)
|
|
@@ -24,7 +24,7 @@ class SmartProfilingApi {
|
|
|
24
24
|
default: 'https://smartprofiling.com',
|
|
25
25
|
placeholder: 'https://smartprofiling.com',
|
|
26
26
|
hint: 'Enter only the domain. The /api/v1 path is added automatically.',
|
|
27
|
-
description: '
|
|
27
|
+
description: 'Enter only the domain, for example https://smartprofiling.com. The /api/v1 path is added automatically. Must use https and a public host, local and private addresses are rejected.',
|
|
28
28
|
},
|
|
29
29
|
];
|
|
30
30
|
this.authenticate = {
|
|
@@ -38,10 +38,10 @@ class SmartProfilingApi {
|
|
|
38
38
|
this.test = {
|
|
39
39
|
request: {
|
|
40
40
|
baseURL: '={{$credentials.baseUrl}}',
|
|
41
|
-
url: '/api/v1/
|
|
41
|
+
url: '/api/v1/channels/UCBR8-60-B28hp2BmDPdntcQ/videos',
|
|
42
42
|
method: 'GET',
|
|
43
43
|
qs: {
|
|
44
|
-
|
|
44
|
+
limit: 1,
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartProfilingApi.credentials.js","sourceRoot":"","sources":["../../credentials/SmartProfilingApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,iBAAiB;IAA9B;QACC,SAAI,GAAG,mBAAmB,CAAC;QAE3B,gBAAW,GAAG,qBAAqB,CAAC;QAEpC,SAAI,GAAG,yBAAkC,CAAC;QAE1C,qBAAgB,GAAG,qCAAqC,CAAC;QAEzD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,iFAAiF;aAC9F;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;gBACrC,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,iEAAiE;gBACvE,WAAW,EACV,
|
|
1
|
+
{"version":3,"file":"SmartProfilingApi.credentials.js","sourceRoot":"","sources":["../../credentials/SmartProfilingApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,iBAAiB;IAA9B;QACC,SAAI,GAAG,mBAAmB,CAAC;QAE3B,gBAAW,GAAG,qBAAqB,CAAC;QAEpC,SAAI,GAAG,yBAAkC,CAAC;QAE1C,qBAAgB,GAAG,qCAAqC,CAAC;QAEzD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,qBAAqB;gBAClC,WAAW,EAAE,iFAAiF;aAC9F;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;gBACrC,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,iEAAiE;gBACvE,WAAW,EACV,qLAAqL;aACtL;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBAEpC,GAAG,EAAE,kDAAkD;gBACvD,MAAM,EAAE,KAAK;gBACb,EAAE,EAAE;oBACH,KAAK,EAAE,CAAC;iBACR;aACD;SACD,CAAC;IACH,CAAC;CAAA;AAnDD,8CAmDC"}
|