@seranking/n8n-nodes-seranking 1.4.0 → 1.5.8

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.
Files changed (60) hide show
  1. package/README.md +205 -6
  2. package/dist/nodes/SeRanking/SeRanking.node.js +200 -1
  3. package/dist/nodes/SeRanking/projectApi/descriptions/AccountSystemDescription.d.ts +3 -0
  4. package/dist/nodes/SeRanking/projectApi/descriptions/AccountSystemDescription.js +38 -0
  5. package/dist/nodes/SeRanking/projectApi/descriptions/AiResultTrackerDescription.d.ts +3 -0
  6. package/dist/nodes/SeRanking/projectApi/descriptions/AiResultTrackerDescription.js +433 -0
  7. package/dist/nodes/SeRanking/projectApi/descriptions/AnalyticsTrafficDescription.d.ts +3 -0
  8. package/dist/nodes/SeRanking/projectApi/descriptions/AnalyticsTrafficDescription.js +84 -0
  9. package/dist/nodes/SeRanking/projectApi/descriptions/BacklinkCheckerDescription.d.ts +3 -0
  10. package/dist/nodes/SeRanking/projectApi/descriptions/BacklinkCheckerDescription.js +541 -0
  11. package/dist/nodes/SeRanking/projectApi/descriptions/CompetitorsDescription.d.ts +3 -0
  12. package/dist/nodes/SeRanking/projectApi/descriptions/CompetitorsDescription.js +283 -0
  13. package/dist/nodes/SeRanking/projectApi/descriptions/GeneralDataDescription.d.ts +3 -0
  14. package/dist/nodes/SeRanking/projectApi/descriptions/GeneralDataDescription.js +74 -0
  15. package/dist/nodes/SeRanking/projectApi/descriptions/KeywordGroupsDescription.d.ts +3 -0
  16. package/dist/nodes/SeRanking/projectApi/descriptions/KeywordGroupsDescription.js +124 -0
  17. package/dist/nodes/SeRanking/projectApi/descriptions/MarketingPlanDescription.d.ts +3 -0
  18. package/dist/nodes/SeRanking/projectApi/descriptions/MarketingPlanDescription.js +186 -0
  19. package/dist/nodes/SeRanking/projectApi/descriptions/ProjectGroupsDescription.d.ts +3 -0
  20. package/dist/nodes/SeRanking/projectApi/descriptions/ProjectGroupsDescription.js +110 -0
  21. package/dist/nodes/SeRanking/projectApi/descriptions/ProjectManagementDescription.d.ts +3 -0
  22. package/dist/nodes/SeRanking/projectApi/descriptions/ProjectManagementDescription.js +810 -0
  23. package/dist/nodes/SeRanking/projectApi/descriptions/SearchVolumeDescription.d.ts +3 -0
  24. package/dist/nodes/SeRanking/projectApi/descriptions/SearchVolumeDescription.js +74 -0
  25. package/dist/nodes/SeRanking/projectApi/descriptions/SubAccountDescription.d.ts +3 -0
  26. package/dist/nodes/SeRanking/projectApi/descriptions/SubAccountDescription.js +329 -0
  27. package/dist/nodes/SeRanking/projectApi/descriptions/UrlTagsDescription.d.ts +3 -0
  28. package/dist/nodes/SeRanking/projectApi/descriptions/UrlTagsDescription.js +164 -0
  29. package/dist/nodes/SeRanking/projectApi/descriptions/WebsiteAuditDescription.d.ts +3 -0
  30. package/dist/nodes/SeRanking/projectApi/descriptions/WebsiteAuditDescription.js +379 -0
  31. package/dist/nodes/SeRanking/projectApi/operations/AccountSystemOperations.d.ts +2 -0
  32. package/dist/nodes/SeRanking/projectApi/operations/AccountSystemOperations.js +20 -0
  33. package/dist/nodes/SeRanking/projectApi/operations/AiResultTrackerOperations.d.ts +2 -0
  34. package/dist/nodes/SeRanking/projectApi/operations/AiResultTrackerOperations.js +123 -0
  35. package/dist/nodes/SeRanking/projectApi/operations/AnalyticsTrafficOperations.d.ts +2 -0
  36. package/dist/nodes/SeRanking/projectApi/operations/AnalyticsTrafficOperations.js +26 -0
  37. package/dist/nodes/SeRanking/projectApi/operations/BacklinkCheckerOperations.d.ts +2 -0
  38. package/dist/nodes/SeRanking/projectApi/operations/BacklinkCheckerOperations.js +134 -0
  39. package/dist/nodes/SeRanking/projectApi/operations/CompetitorsOperations.d.ts +2 -0
  40. package/dist/nodes/SeRanking/projectApi/operations/CompetitorsOperations.js +94 -0
  41. package/dist/nodes/SeRanking/projectApi/operations/GeneralDataOperations.d.ts +2 -0
  42. package/dist/nodes/SeRanking/projectApi/operations/GeneralDataOperations.js +27 -0
  43. package/dist/nodes/SeRanking/projectApi/operations/KeywordGroupsOperations.d.ts +2 -0
  44. package/dist/nodes/SeRanking/projectApi/operations/KeywordGroupsOperations.js +51 -0
  45. package/dist/nodes/SeRanking/projectApi/operations/MarketingPlanOperations.d.ts +2 -0
  46. package/dist/nodes/SeRanking/projectApi/operations/MarketingPlanOperations.js +49 -0
  47. package/dist/nodes/SeRanking/projectApi/operations/ProjectGroupsOperations.d.ts +2 -0
  48. package/dist/nodes/SeRanking/projectApi/operations/ProjectGroupsOperations.js +44 -0
  49. package/dist/nodes/SeRanking/projectApi/operations/ProjectManagementOperations.d.ts +2 -0
  50. package/dist/nodes/SeRanking/projectApi/operations/ProjectManagementOperations.js +228 -0
  51. package/dist/nodes/SeRanking/projectApi/operations/SearchVolumeOperations.d.ts +2 -0
  52. package/dist/nodes/SeRanking/projectApi/operations/SearchVolumeOperations.js +28 -0
  53. package/dist/nodes/SeRanking/projectApi/operations/SubAccountOperations.d.ts +2 -0
  54. package/dist/nodes/SeRanking/projectApi/operations/SubAccountOperations.js +98 -0
  55. package/dist/nodes/SeRanking/projectApi/operations/UrlTagsOperations.d.ts +2 -0
  56. package/dist/nodes/SeRanking/projectApi/operations/UrlTagsOperations.js +49 -0
  57. package/dist/nodes/SeRanking/projectApi/operations/WebsiteAuditOperations.d.ts +2 -0
  58. package/dist/nodes/SeRanking/projectApi/operations/WebsiteAuditOperations.js +127 -0
  59. package/dist/nodes/SeRanking/utils/apiRequest.js +14 -2
  60. package/package.json +18 -3
package/README.md CHANGED
@@ -165,22 +165,28 @@ To use this node, you need:
165
165
  1. Open any workflow and add the **SE Ranking** node
166
166
  2. Click on **Create New Credential**
167
167
  3. Enter your **API Token**
168
- 4. Select **Data API** as API Type
168
+ 4. Select **API Type**:
169
+ - **Data API** — SEO research data (domains, keywords, backlinks, SERP)
170
+ - **Project API** — Project management, tracking, audits, sub-accounts
169
171
  5. Click **Save**
170
172
 
171
173
  The node will automatically test your credentials by making a test request to the SE Ranking API.
172
174
 
175
+ > **Note:** Data API and Project API use different tokens. Data API tokens are UUID format; Project API tokens are 40-character hex format. Get both from your [SE Ranking API Dashboard](https://online.seranking.com/admin.api.dashboard.html).
176
+
173
177
  ---
174
178
 
175
179
  ## Compatibility
176
180
 
177
181
  - **n8n version**: 1.0.0 or higher
178
182
  - **Node.js version**: 18.x or higher
179
- - **SE Ranking API**: v1 (Data API)
183
+ - **SE Ranking API**: v1 (Data API) + Project API (`api4.seranking.com`)
180
184
 
181
185
  ## Operations
182
186
 
183
- This node provides access to 6 SE Ranking resources with 62 total operations:
187
+ This node provides access to **20 SE Ranking resources** with **172 total operations** across two API types:
188
+
189
+ ### Data API (6 resources, 65 operations)
184
190
 
185
191
  ### AI Search (5 operations)
186
192
 
@@ -266,6 +272,159 @@ This node provides access to 6 SE Ranking resources with 62 total operations:
266
272
  - Get Advanced Results - Retrieve detailed SERP results with all features
267
273
  - Get Locations - Get available location IDs for SERP queries
268
274
 
275
+ ---
276
+
277
+ ### Project API (14 resources, 107 operations)
278
+
279
+ ### Project Management (17 operations)
280
+
281
+ - List Projects - Get all projects
282
+ - Add Project - Create a new project
283
+ - Change Project Settings - Update project configuration
284
+ - Delete Project - Remove a project
285
+ - List Search Engines - Get search engines for a project
286
+ - Add Search Engine - Add search engine to project
287
+ - Change Search Engine - Update search engine settings
288
+ - Delete Search Engine - Remove search engine from project
289
+ - List Keywords - Get project keywords
290
+ - Add Keywords - Add keywords to project
291
+ - Delete Keywords - Remove keywords from project
292
+ - Get Project Stats - Overall project statistics
293
+ - Get Keyword Positions - Keyword ranking positions over time
294
+ - Get Ads Chart - Advertising data for keywords
295
+ - Get Historical Dates - Available historical check dates
296
+ - Set Manual Position - Manually set a keyword position
297
+ - Run Position Check - Trigger a position recheck
298
+
299
+ ### Project Groups (5 operations)
300
+
301
+ - List Groups - Get all project groups
302
+ - Add Group - Create a project group
303
+ - Rename Group - Update group name
304
+ - Delete Group - Remove a project group
305
+ - Move Projects to Group - Move projects into a group
306
+
307
+ ### AI Result Tracker (14 operations)
308
+
309
+ - Get Site Brand - Get brand name for a site
310
+ - Save Site Brand - Set brand name for a site
311
+ - List LLM Engines - Get all LLM engines for a site
312
+ - Get LLM Engine - Get specific LLM engine details
313
+ - Create LLM Engine - Add LLM engine (ChatGPT, Gemini, Perplexity, Google AI)
314
+ - Update LLM Engine - Modify LLM engine settings
315
+ - Delete LLM Engine - Remove LLM engine from site
316
+ - Get LLM Status - Check LLM engine processing status
317
+ - Get LLM Statistics - Presence and overlap stats
318
+ - List Prompts - Get prompts for an LLM engine
319
+ - Add Prompts - Add keywords/prompts to LLM engine
320
+ - Delete Prompts - Remove prompts from LLM engine
321
+ - Get Prompt Rankings - Prompt ranking data over time
322
+ - Get Prompt Answer - Full AI answer text, cited sources, detected brands, and organic URLs (Google AI Overview) for a tracked prompt on a given date
323
+
324
+ ### Keyword Groups (5 operations)
325
+
326
+ - List Groups - Get keyword groups for a project
327
+ - Add Group - Create a keyword group
328
+ - Move Keywords - Move keywords to a group
329
+ - Rename Group - Update keyword group name
330
+ - Delete Group - Remove a keyword group
331
+
332
+ ### Competitors (7 operations)
333
+
334
+ - Add Competitor - Add competitor to project
335
+ - List Competitors - Get all competitors for a project
336
+ - Get Keyword Positions - Competitor ranking positions
337
+ - Delete Competitor - Remove a competitor
338
+ - Get TOP 10 Results - SERP top 10 for a keyword
339
+ - Get TOP 100 Results - SERP top 100 for a keyword
340
+ - Get All Competitors - All competitors from SERP data
341
+
342
+ ### URL Tags (4 operations)
343
+
344
+ - List Tags - Get all URL tags for a site
345
+ - Add Tag - Create a URL tag
346
+ - Update Tag Assignment - Assign tags to URLs/domains
347
+ - Delete Tag - Remove a URL tag
348
+
349
+ ### Analytics Traffic (2 operations)
350
+
351
+ - Get Google Search Console Data - GSC queries with impressions, clicks, CTR
352
+ - Calculate SEO Potential - Estimated traffic and revenue potential
353
+
354
+ ### Account System (3 operations)
355
+
356
+ - Get Account Balance - Account balance and currency
357
+ - Get User Profile - Account profile information
358
+ - Get Subscription Data - Subscription type and status
359
+
360
+ ### Sub-Account Management (8 operations)
361
+
362
+ - List Sub-Accounts - Get all sub-accounts
363
+ - Get Sub-Account Details - Sub-account settings and permissions
364
+ - Create Sub-Account - Create a new sub-account
365
+ - Delete Sub-Account - Remove a sub-account
366
+ - Update Sub-Account - Modify sub-account settings
367
+ - List Shared Projects - Projects shared with sub-account
368
+ - List Owned Projects - Projects owned by sub-account
369
+ - Share Projects - Share projects with sub-account
370
+
371
+ ### General Data (4 operations)
372
+
373
+ - List Search Engines - Available search engines and regions
374
+ - List Languages for Google - Google language codes
375
+ - List Volume Regions - Regions for keyword volume checks
376
+ - Get Keyword Search Volume - Search volume for keywords in a region
377
+
378
+ ### Marketing Plan (5 operations)
379
+
380
+ - List Plan Items - Get marketing plan checklist
381
+ - Add Task - Add custom task to plan
382
+ - Update Task - Modify task title and description
383
+ - Set Task Status - Mark task as complete/incomplete
384
+ - Delete Task - Remove a custom task
385
+
386
+ ### Website Audit (Project) (12 operations)
387
+
388
+ - Create Audit - Launch a website audit
389
+ - List Audits - Get all audits
390
+ - Get Audit Status - Check audit progress
391
+ - Get Audit Report - Full audit results
392
+ - Get Crawled Pages - Pages found during audit
393
+ - Get Pages by Issue - Pages affected by specific issue
394
+ - Get All Issues for URL - All issues for a specific page
395
+ - Get All Links - Internal/external links found
396
+ - Get Audit History - Historical audit data
397
+ - Update Audit Title - Rename an audit
398
+ - Delete Audit - Remove an audit
399
+ - Recheck Audit - Re-run an audit
400
+
401
+ ### Backlink Checker (17 operations)
402
+
403
+ - List Backlinks - Get monitored backlinks
404
+ - Add Backlink - Add a backlink to monitor
405
+ - Import Backlinks List - Bulk import backlinks
406
+ - Update Import Settings - Configure GSC auto-import
407
+ - Start GSC Import - Import backlinks from Google Search Console
408
+ - Get GSC Import Status - Check GSC import progress
409
+ - Delete Backlinks - Remove monitored backlinks
410
+ - Recheck Backlinks - Re-check backlink status or index
411
+ - Get Backlink Statistics - Backlink portfolio stats
412
+ - List Disavowed Backlinks - Get disavowed backlinks
413
+ - Add Disavowed Backlinks - Add URLs to disavow list
414
+ - Delete Disavowed Backlink - Remove from disavow list
415
+ - List Backlink Groups - Get backlink groups
416
+ - Create Backlink Group - Create a backlink group
417
+ - Delete Backlink Group - Remove a backlink group
418
+ - Rename Backlink Group - Update group name
419
+ - Move Backlinks to Group - Move backlinks between groups
420
+
421
+ ### Search Volume (4 operations)
422
+
423
+ - Create Volume Check - Submit keyword volume check request
424
+ - List Volume Checks - Get submitted check requests
425
+ - Get Volume Check Results - Retrieve volume check results
426
+ - Delete Volume Check - Remove a check request
427
+
269
428
  ## Usage Examples
270
429
 
271
430
  Ready-to-use workflows demonstrating real-world applications of the SE Ranking node. Each example includes importable n8n workflows, setup instructions, and expected outputs.
@@ -543,6 +702,7 @@ return dominated;
543
702
 
544
703
  This node implements the following SE Ranking APIs:
545
704
 
705
+ **Data API** (`api.seranking.com/v1`):
546
706
  - [AI Search API](https://seranking.com/api/data/ai-search/)
547
707
  - [Backlinks API](https://seranking.com/api/data/backlinks/)
548
708
  - [Domain Analysis API](https://seranking.com/api/data/domain-analysis/)
@@ -550,13 +710,21 @@ This node implements the following SE Ranking APIs:
550
710
  - [Website Audit API](https://seranking.com/api/data/website-audit/)
551
711
  - [SERP API](https://seranking.com/api/data/serp/)
552
712
 
713
+ **Project API** (`api4.seranking.com`):
714
+ - [Project API Documentation](https://seranking.com/api/project/)
715
+
553
716
  For detailed API specifications, visit [SE Ranking API Documentation](https://seranking.com/api.html).
554
717
 
555
718
  ---
556
719
 
557
720
  ## Version History
558
721
 
559
- ### v1.3.6 (Current)
722
+ ### v1.5.8 (Current)
723
+
724
+ * ✅ **NEW: Get Prompt Answer (AI Result Tracker)** - Returns full AI answer text, cited source URLs, detected brand mentions, and (for Google AI Overview) top organic URLs for a tracked prompt on a given date. Cost: 0 credits.
725
+ * 📝 **Note on SE Ranking docs quirk** - The endpoint's path param is documented as `keyword_id` but actually requires `k2site_llm_id` from `List Prompts`. The node field is labeled accordingly.
726
+
727
+ ### v1.3.6
560
728
 
561
729
  * 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function for n8n verified node compliance
562
730
 
@@ -631,7 +799,7 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
631
799
 
632
800
  ## Features
633
801
 
634
- ✅ **65 Operations** - Comprehensive coverage across 6 major resources
802
+ ✅ **172 Operations** - Comprehensive coverage across 20 resources (Data API + Project API)
635
803
 
636
804
  ✅ **Pingback Webhooks** - Event-driven notifications for SERP task completion
637
805
 
@@ -968,6 +1136,37 @@ n8n-nodes-seranking/
968
1136
  │ │ ├── KeywordResearchDescription.ts # Keyword Research UI definitions
969
1137
  │ │ ├── WebsiteAuditDescription.ts # Website Audit UI definitions
970
1138
  │ │ └── SerpClassicDescription.ts # SERP Classic UI definitions
1139
+ │ ├── projectApi/
1140
+ │ │ ├── operations/
1141
+ │ │ │ ├── ProjectManagementOperations.ts # Project Management operations
1142
+ │ │ │ ├── ProjectGroupsOperations.ts # Project Groups operations
1143
+ │ │ │ ├── AiResultTrackerOperations.ts # AI Result Tracker operations
1144
+ │ │ │ ├── KeywordGroupsOperations.ts # Keyword Groups operations
1145
+ │ │ │ ├── CompetitorsOperations.ts # Competitors operations
1146
+ │ │ │ ├── UrlTagsOperations.ts # URL Tags operations
1147
+ │ │ │ ├── AnalyticsTrafficOperations.ts # Analytics Traffic operations
1148
+ │ │ │ ├── AccountSystemOperations.ts # Account System operations
1149
+ │ │ │ ├── SubAccountOperations.ts # Sub-Account operations
1150
+ │ │ │ ├── GeneralDataOperations.ts # General Data operations
1151
+ │ │ │ ├── MarketingPlanOperations.ts # Marketing Plan operations
1152
+ │ │ │ ├── WebsiteAuditOperations.ts # Website Audit (Project) operations
1153
+ │ │ │ ├── BacklinkCheckerOperations.ts # Backlink Checker operations
1154
+ │ │ │ └── SearchVolumeOperations.ts # Search Volume operations
1155
+ │ │ └── descriptions/
1156
+ │ │ ├── ProjectManagementDescription.ts # Project Management UI definitions
1157
+ │ │ ├── ProjectGroupsDescription.ts # Project Groups UI definitions
1158
+ │ │ ├── AiResultTrackerDescription.ts # AI Result Tracker UI definitions
1159
+ │ │ ├── KeywordGroupsDescription.ts # Keyword Groups UI definitions
1160
+ │ │ ├── CompetitorsDescription.ts # Competitors UI definitions
1161
+ │ │ ├── UrlTagsDescription.ts # URL Tags UI definitions
1162
+ │ │ ├── AnalyticsTrafficDescription.ts # Analytics Traffic UI definitions
1163
+ │ │ ├── AccountSystemDescription.ts # Account System UI definitions
1164
+ │ │ ├── SubAccountDescription.ts # Sub-Account UI definitions
1165
+ │ │ ├── GeneralDataDescription.ts # General Data UI definitions
1166
+ │ │ ├── MarketingPlanDescription.ts # Marketing Plan UI definitions
1167
+ │ │ ├── WebsiteAuditDescription.ts # Website Audit (Project) UI definitions
1168
+ │ │ ├── BacklinkCheckerDescription.ts # Backlink Checker UI definitions
1169
+ │ │ └── SearchVolumeDescription.ts # Search Volume UI definitions
971
1170
  │ └── utils/
972
1171
  │ ├── validators.ts # Input validators
973
1172
  │ └── apiRequest.ts # API request handler
@@ -1041,7 +1240,7 @@ n8n-nodes-seranking/
1041
1240
 
1042
1241
  ## Keywords
1043
1242
 
1044
- n8n, n8n-custom-node, seranking, seo, keyword-research, domain-analysis, ai-search, llm-visibility, serp-tracking, competitive-analysis, seo-automation, workflow-automation
1243
+ n8n, n8n-custom-node, seranking, seo, keyword-research, domain-analysis, ai-search, llm-visibility, serp-tracking, competitive-analysis, seo-automation, workflow-automation, project-management, backlink-checker, website-audit, search-volume, marketing-plan, sub-account, ai-result-tracker
1045
1244
 
1046
1245
  ---
1047
1246
 
@@ -8,12 +8,40 @@ const KeywordResearchDescription_1 = require("./dataApi/descriptions/KeywordRese
8
8
  const BacklinksDescription_1 = require("./dataApi/descriptions/BacklinksDescription");
9
9
  const WebsiteAuditDescription_1 = require("./dataApi/descriptions/WebsiteAuditDescription");
10
10
  const SerpClassicDescription_1 = require("./dataApi/descriptions/SerpClassicDescription");
11
+ const ProjectManagementDescription_1 = require("./projectApi/descriptions/ProjectManagementDescription");
12
+ const ProjectGroupsDescription_1 = require("./projectApi/descriptions/ProjectGroupsDescription");
13
+ const AiResultTrackerDescription_1 = require("./projectApi/descriptions/AiResultTrackerDescription");
14
+ const KeywordGroupsDescription_1 = require("./projectApi/descriptions/KeywordGroupsDescription");
15
+ const CompetitorsDescription_1 = require("./projectApi/descriptions/CompetitorsDescription");
16
+ const UrlTagsDescription_1 = require("./projectApi/descriptions/UrlTagsDescription");
17
+ const AnalyticsTrafficDescription_1 = require("./projectApi/descriptions/AnalyticsTrafficDescription");
18
+ const AccountSystemDescription_1 = require("./projectApi/descriptions/AccountSystemDescription");
19
+ const SubAccountDescription_1 = require("./projectApi/descriptions/SubAccountDescription");
20
+ const GeneralDataDescription_1 = require("./projectApi/descriptions/GeneralDataDescription");
21
+ const MarketingPlanDescription_1 = require("./projectApi/descriptions/MarketingPlanDescription");
22
+ const WebsiteAuditDescription_2 = require("./projectApi/descriptions/WebsiteAuditDescription");
23
+ const BacklinkCheckerDescription_1 = require("./projectApi/descriptions/BacklinkCheckerDescription");
24
+ const SearchVolumeDescription_1 = require("./projectApi/descriptions/SearchVolumeDescription");
11
25
  const AiSearchOperations_1 = require("./dataApi/operations/AiSearchOperations");
12
26
  const DomainAnalysisOperations_1 = require("./dataApi/operations/DomainAnalysisOperations");
13
27
  const KeywordResearchOperations_1 = require("./dataApi/operations/KeywordResearchOperations");
14
28
  const BacklinksOperations_1 = require("./dataApi/operations/BacklinksOperations");
15
29
  const WebsiteAuditOperations_1 = require("./dataApi/operations/WebsiteAuditOperations");
16
30
  const SerpClassicOperations_1 = require("./dataApi/operations/SerpClassicOperations");
31
+ const ProjectManagementOperations_1 = require("./projectApi/operations/ProjectManagementOperations");
32
+ const ProjectGroupsOperations_1 = require("./projectApi/operations/ProjectGroupsOperations");
33
+ const AiResultTrackerOperations_1 = require("./projectApi/operations/AiResultTrackerOperations");
34
+ const KeywordGroupsOperations_1 = require("./projectApi/operations/KeywordGroupsOperations");
35
+ const CompetitorsOperations_1 = require("./projectApi/operations/CompetitorsOperations");
36
+ const UrlTagsOperations_1 = require("./projectApi/operations/UrlTagsOperations");
37
+ const AnalyticsTrafficOperations_1 = require("./projectApi/operations/AnalyticsTrafficOperations");
38
+ const AccountSystemOperations_1 = require("./projectApi/operations/AccountSystemOperations");
39
+ const SubAccountOperations_1 = require("./projectApi/operations/SubAccountOperations");
40
+ const GeneralDataOperations_1 = require("./projectApi/operations/GeneralDataOperations");
41
+ const MarketingPlanOperations_1 = require("./projectApi/operations/MarketingPlanOperations");
42
+ const WebsiteAuditOperations_2 = require("./projectApi/operations/WebsiteAuditOperations");
43
+ const BacklinkCheckerOperations_1 = require("./projectApi/operations/BacklinkCheckerOperations");
44
+ const SearchVolumeOperations_1 = require("./projectApi/operations/SearchVolumeOperations");
17
45
  class SeRanking {
18
46
  constructor() {
19
47
  this.description = {
@@ -22,7 +50,7 @@ class SeRanking {
22
50
  icon: 'file:seranking.svg',
23
51
  group: ['transform'],
24
52
  version: 1,
25
- subtitle: '={{$parameter["resource"] + ": " + $parameter["operation"]}}',
53
+ subtitle: '={{$parameter["apiType"] === "projectApi" ? "Project" : "Data"}} — {{$parameter["resource"] + ": " + $parameter["operation"]}}',
26
54
  description: 'Interact with SE Ranking API for SEO data',
27
55
  defaults: {
28
56
  name: 'SE Ranking',
@@ -37,11 +65,33 @@ class SeRanking {
37
65
  },
38
66
  ],
39
67
  properties: [
68
+ {
69
+ displayName: 'API Type',
70
+ name: 'apiType',
71
+ type: 'options',
72
+ noDataExpression: true,
73
+ options: [
74
+ {
75
+ name: 'Data API',
76
+ value: 'dataApi',
77
+ description: 'SEO research data (domains, keywords, backlinks, etc.)',
78
+ },
79
+ {
80
+ name: 'Project API',
81
+ value: 'projectApi',
82
+ description: 'Project management, groups, and AI result tracking',
83
+ },
84
+ ],
85
+ default: 'dataApi',
86
+ },
40
87
  {
41
88
  displayName: 'Resource',
42
89
  name: 'resource',
43
90
  type: 'options',
44
91
  noDataExpression: true,
92
+ displayOptions: {
93
+ show: { apiType: ['dataApi'] },
94
+ },
45
95
  options: [
46
96
  {
47
97
  name: 'AI Search',
@@ -76,6 +126,85 @@ class SeRanking {
76
126
  ],
77
127
  default: 'domainAnalysis',
78
128
  },
129
+ {
130
+ displayName: 'Resource',
131
+ name: 'resource',
132
+ type: 'options',
133
+ noDataExpression: true,
134
+ options: [
135
+ {
136
+ name: 'Project Management',
137
+ value: 'projectManagement',
138
+ description: 'Manage projects and search engine configurations',
139
+ },
140
+ {
141
+ name: 'Project Groups',
142
+ value: 'projectGroups',
143
+ description: 'Manage project groups within the account',
144
+ },
145
+ {
146
+ name: 'AI Result Tracker',
147
+ value: 'aiResultTracker',
148
+ description: 'Track brand visibility across AI search engines',
149
+ },
150
+ {
151
+ name: 'Keyword Groups',
152
+ value: 'keywordGroups',
153
+ description: 'Manage keyword groups within a project',
154
+ },
155
+ {
156
+ name: 'Competitors',
157
+ value: 'competitors',
158
+ description: 'Manage competitors and retrieve ranking data',
159
+ },
160
+ {
161
+ name: 'URL Tags',
162
+ value: 'urlTags',
163
+ description: 'Manage landing page tags within a site',
164
+ },
165
+ {
166
+ name: 'Analytics Traffic',
167
+ value: 'analyticsTraffic',
168
+ description: 'Google Search Console data and SEO potential',
169
+ },
170
+ {
171
+ name: 'Account System',
172
+ value: 'accountSystem',
173
+ description: 'Account balance, profile, and subscription info',
174
+ },
175
+ {
176
+ name: 'Sub-Account Management',
177
+ value: 'subAccount',
178
+ description: 'Manage sub-accounts, sharing, and permissions',
179
+ },
180
+ {
181
+ name: 'General Data',
182
+ value: 'generalData',
183
+ description: 'System search engines, languages, regions, and keyword volume',
184
+ },
185
+ {
186
+ name: 'Marketing Plan',
187
+ value: 'marketingPlan',
188
+ description: 'Marketing plan checklists and tasks',
189
+ },
190
+ {
191
+ name: 'Website Audit',
192
+ value: 'websiteAuditProject',
193
+ description: 'Technical SEO audits lifecycle management',
194
+ },
195
+ {
196
+ name: 'Backlink Checker',
197
+ value: 'backlinkChecker',
198
+ description: 'Backlink monitoring, disavow, and groups',
199
+ },
200
+ {
201
+ name: 'Search Volume',
202
+ value: 'searchVolume',
203
+ description: 'Keyword search volume check requests',
204
+ },
205
+ ],
206
+ default: 'projectManagement',
207
+ },
79
208
  ...AiSearchDescription_1.aiSearchOperations,
80
209
  ...AiSearchDescription_1.aiSearchFields,
81
210
  ...BacklinksDescription_1.backlinksOperations,
@@ -88,6 +217,34 @@ class SeRanking {
88
217
  ...SerpClassicDescription_1.serpClassicFields,
89
218
  ...WebsiteAuditDescription_1.websiteAuditOperations,
90
219
  ...WebsiteAuditDescription_1.websiteAuditFields,
220
+ ...ProjectManagementDescription_1.projectManagementOperations,
221
+ ...ProjectManagementDescription_1.projectManagementFields,
222
+ ...ProjectGroupsDescription_1.projectGroupsOperations,
223
+ ...ProjectGroupsDescription_1.projectGroupsFields,
224
+ ...AiResultTrackerDescription_1.aiResultTrackerOperations,
225
+ ...AiResultTrackerDescription_1.aiResultTrackerFields,
226
+ ...KeywordGroupsDescription_1.keywordGroupsOperations,
227
+ ...KeywordGroupsDescription_1.keywordGroupsFields,
228
+ ...CompetitorsDescription_1.competitorsOperations,
229
+ ...CompetitorsDescription_1.competitorsFields,
230
+ ...UrlTagsDescription_1.urlTagsOperations,
231
+ ...UrlTagsDescription_1.urlTagsFields,
232
+ ...AnalyticsTrafficDescription_1.analyticsTrafficOperations,
233
+ ...AnalyticsTrafficDescription_1.analyticsTrafficFields,
234
+ ...AccountSystemDescription_1.accountSystemOperations,
235
+ ...AccountSystemDescription_1.accountSystemFields,
236
+ ...SubAccountDescription_1.subAccountOperations,
237
+ ...SubAccountDescription_1.subAccountFields,
238
+ ...GeneralDataDescription_1.generalDataOperations,
239
+ ...GeneralDataDescription_1.generalDataFields,
240
+ ...MarketingPlanDescription_1.marketingPlanOperations,
241
+ ...MarketingPlanDescription_1.marketingPlanFields,
242
+ ...WebsiteAuditDescription_2.websiteAuditOperations,
243
+ ...WebsiteAuditDescription_2.websiteAuditFields,
244
+ ...BacklinkCheckerDescription_1.backlinkCheckerOperations,
245
+ ...BacklinkCheckerDescription_1.backlinkCheckerFields,
246
+ ...SearchVolumeDescription_1.searchVolumeOperations,
247
+ ...SearchVolumeDescription_1.searchVolumeFields,
91
248
  ],
92
249
  };
93
250
  }
@@ -117,6 +274,48 @@ class SeRanking {
117
274
  case 'websiteAudit':
118
275
  responseData = await WebsiteAuditOperations_1.WebsiteAuditOperations.call(this, i);
119
276
  break;
277
+ case 'projectManagement':
278
+ responseData = await ProjectManagementOperations_1.ProjectManagementOperations.call(this, i);
279
+ break;
280
+ case 'projectGroups':
281
+ responseData = await ProjectGroupsOperations_1.ProjectGroupsOperations.call(this, i);
282
+ break;
283
+ case 'aiResultTracker':
284
+ responseData = await AiResultTrackerOperations_1.AiResultTrackerOperations.call(this, i);
285
+ break;
286
+ case 'keywordGroups':
287
+ responseData = await KeywordGroupsOperations_1.KeywordGroupsOperations.call(this, i);
288
+ break;
289
+ case 'competitors':
290
+ responseData = await CompetitorsOperations_1.CompetitorsOperations.call(this, i);
291
+ break;
292
+ case 'urlTags':
293
+ responseData = await UrlTagsOperations_1.UrlTagsOperations.call(this, i);
294
+ break;
295
+ case 'analyticsTraffic':
296
+ responseData = await AnalyticsTrafficOperations_1.AnalyticsTrafficOperations.call(this, i);
297
+ break;
298
+ case 'accountSystem':
299
+ responseData = await AccountSystemOperations_1.AccountSystemOperations.call(this, i);
300
+ break;
301
+ case 'subAccount':
302
+ responseData = await SubAccountOperations_1.SubAccountOperations.call(this, i);
303
+ break;
304
+ case 'generalData':
305
+ responseData = await GeneralDataOperations_1.GeneralDataOperations.call(this, i);
306
+ break;
307
+ case 'marketingPlan':
308
+ responseData = await MarketingPlanOperations_1.MarketingPlanOperations.call(this, i);
309
+ break;
310
+ case 'websiteAuditProject':
311
+ responseData = await WebsiteAuditOperations_2.WebsiteAuditOperations.call(this, i);
312
+ break;
313
+ case 'backlinkChecker':
314
+ responseData = await BacklinkCheckerOperations_1.BacklinkCheckerOperations.call(this, i);
315
+ break;
316
+ case 'searchVolume':
317
+ responseData = await SearchVolumeOperations_1.SearchVolumeOperations.call(this, i);
318
+ break;
120
319
  default:
121
320
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown resource: ${resource}`, { itemIndex: i });
122
321
  }
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const accountSystemOperations: INodeProperties[];
3
+ export declare const accountSystemFields: INodeProperties[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.accountSystemFields = exports.accountSystemOperations = void 0;
4
+ exports.accountSystemOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['accountSystem'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Get Account Balance',
18
+ value: 'getBalance',
19
+ description: 'Get the current balance and currency of the account',
20
+ action: 'Get account balance',
21
+ },
22
+ {
23
+ name: 'Get Subscription Data',
24
+ value: 'getSubscription',
25
+ description: 'Get subscription information of the account',
26
+ action: 'Get subscription data',
27
+ },
28
+ {
29
+ name: 'Get User Profile',
30
+ value: 'getProfile',
31
+ description: 'Get profile information of the account',
32
+ action: 'Get user profile',
33
+ },
34
+ ],
35
+ default: 'getBalance',
36
+ },
37
+ ];
38
+ exports.accountSystemFields = [];
@@ -0,0 +1,3 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const aiResultTrackerOperations: INodeProperties[];
3
+ export declare const aiResultTrackerFields: INodeProperties[];