@seranking/n8n-nodes-seranking 1.5.13 → 2.0.1
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 +60 -29
- package/dist/credentials/SeRankingApi.credentials.js +2 -2
- package/dist/nodes/SeRanking/SeRanking.node.js +3 -39
- package/dist/nodes/SeRanking/projectApi/descriptions/AiResultTrackerDescription.js +11 -0
- package/dist/nodes/SeRanking/projectApi/descriptions/BacklinkCheckerDescription.js +14 -0
- package/dist/nodes/SeRanking/projectApi/descriptions/ProjectManagementDescription.js +127 -0
- package/dist/nodes/SeRanking/projectApi/descriptions/WebsiteAuditDescription.js +107 -1
- package/dist/nodes/SeRanking/projectApi/operations/AccountSystemOperations.js +2 -2
- package/dist/nodes/SeRanking/projectApi/operations/AiResultTrackerOperations.js +20 -18
- package/dist/nodes/SeRanking/projectApi/operations/AirtGroupsOperations.js +9 -9
- package/dist/nodes/SeRanking/projectApi/operations/AnalyticsTrafficOperations.js +3 -3
- package/dist/nodes/SeRanking/projectApi/operations/BacklinkCheckerOperations.js +19 -20
- package/dist/nodes/SeRanking/projectApi/operations/CompetitorsOperations.js +11 -8
- package/dist/nodes/SeRanking/projectApi/operations/GeneralDataOperations.js +7 -8
- package/dist/nodes/SeRanking/projectApi/operations/KeywordGroupsOperations.js +7 -7
- package/dist/nodes/SeRanking/projectApi/operations/MarketingPlanOperations.js +5 -5
- package/dist/nodes/SeRanking/projectApi/operations/ProjectGroupsOperations.js +6 -6
- package/dist/nodes/SeRanking/projectApi/operations/ProjectManagementOperations.js +70 -32
- package/dist/nodes/SeRanking/projectApi/operations/SearchVolumeOperations.js +5 -22
- package/dist/nodes/SeRanking/projectApi/operations/SubAccountOperations.js +13 -8
- package/dist/nodes/SeRanking/projectApi/operations/UrlTagsOperations.js +4 -4
- package/dist/nodes/SeRanking/projectApi/operations/WebsiteAuditOperations.js +57 -16
- package/dist/nodes/SeRanking/utils/apiRequest.js +6 -30
- package/package.json +3 -4
- package/dist/credentials/SeRankingProjectApi.credentials.d.ts +0 -9
- package/dist/credentials/SeRankingProjectApi.credentials.js +0 -39
package/README.md
CHANGED
|
@@ -89,9 +89,10 @@ Open `http://localhost:5678` and add the SE Ranking node to your workflow.
|
|
|
89
89
|
### Step 4: Configure Credentials
|
|
90
90
|
|
|
91
91
|
1. Add SE Ranking node
|
|
92
|
-
2. Click "Create New Credential" for **SE Ranking API**
|
|
93
|
-
3.
|
|
94
|
-
|
|
92
|
+
2. Click "Create New Credential" for **SE Ranking API** — enter your API token
|
|
93
|
+
3. Save
|
|
94
|
+
|
|
95
|
+
> **v2.0.0 note:** SE Ranking unified its two APIs (Data API + Project API) onto a single host (`api.seranking.com`) with a single token in 2026-05. The node now uses one credential type for everything. If you're upgrading from v1.x, see the Migration section below.
|
|
95
96
|
|
|
96
97
|
### Docker Installation
|
|
97
98
|
|
|
@@ -156,19 +157,25 @@ Then restart n8n
|
|
|
156
157
|
|
|
157
158
|
To use this node, you need:
|
|
158
159
|
|
|
159
|
-
1. **SE Ranking Account**
|
|
160
|
-
2. **API Token**
|
|
160
|
+
1. **SE Ranking Account** — Sign up at [seranking.com](https://seranking.com/)
|
|
161
|
+
2. **API Token** — Generate from your [SE Ranking API Dashboard](https://online.seranking.com/admin.api.dashboard.html)
|
|
161
162
|
|
|
162
163
|
### Setting up credentials in n8n
|
|
163
164
|
|
|
164
165
|
1. Open any workflow and add the **SE Ranking** node
|
|
165
|
-
2. In the **SE Ranking API** credential slot, click "Create New Credential" and enter your
|
|
166
|
-
3.
|
|
167
|
-
|
|
166
|
+
2. In the **SE Ranking API** credential slot, click "Create New Credential" and enter your API token
|
|
167
|
+
3. Click **Save** — the credential is tested by hitting `GET /v1/account/subscription`
|
|
168
|
+
|
|
169
|
+
### Migrating from v1.x
|
|
170
|
+
|
|
171
|
+
v1.x used two separate credential types (`seRankingApi` for Data API and `seRankingProjectApi` for Project API) with two different base URLs and two different tokens. As of v2.0.0:
|
|
168
172
|
|
|
169
|
-
|
|
173
|
+
- One credential type covers everything: **SE Ranking API**
|
|
174
|
+
- One token works against all endpoints — get the unified token from the [API Dashboard](https://online.seranking.com/admin.api.dashboard.html)
|
|
175
|
+
- Old base URL `api4.seranking.com` is deprecated; everything now lives under `api.seranking.com/v1`
|
|
176
|
+
- Project API endpoints moved under `/v1/project-management/...` path prefix
|
|
170
177
|
|
|
171
|
-
|
|
178
|
+
If you're upgrading and have saved credentials of type `seRankingProjectApi`, you'll need to re-save them as `seRankingApi` on each affected node. The v1.5.13 release is preserved on npm for rollback (`npm install @seranking/n8n-nodes-seranking@1.5.13`).
|
|
172
179
|
|
|
173
180
|
---
|
|
174
181
|
|
|
@@ -176,11 +183,11 @@ Each credential is tested independently when saved. The node automatically route
|
|
|
176
183
|
|
|
177
184
|
- **n8n version**: 1.0.0 or higher
|
|
178
185
|
- **Node.js version**: 18.x or higher
|
|
179
|
-
- **SE Ranking API**:
|
|
186
|
+
- **SE Ranking API**: unified host `api.seranking.com/v1`
|
|
180
187
|
|
|
181
188
|
## Operations
|
|
182
189
|
|
|
183
|
-
This node provides access to **
|
|
190
|
+
This node provides access to **21 SE Ranking resources** with **190 total operations** on the unified API:
|
|
184
191
|
|
|
185
192
|
### Data API (6 resources, 65 operations)
|
|
186
193
|
|
|
@@ -696,33 +703,57 @@ return dominated;
|
|
|
696
703
|
|
|
697
704
|
## API Documentation
|
|
698
705
|
|
|
699
|
-
This node implements the
|
|
706
|
+
This node implements the SE Ranking unified API (`api.seranking.com/v1`):
|
|
700
707
|
|
|
701
|
-
**Data API
|
|
702
|
-
- [AI Search
|
|
703
|
-
- [Backlinks
|
|
704
|
-
- [Domain Analysis
|
|
705
|
-
- [Keyword Research
|
|
706
|
-
- [Website Audit
|
|
707
|
-
- [SERP API](https://seranking.com/api/data/serp/)
|
|
708
|
+
**Data API resources:**
|
|
709
|
+
- [AI Search](https://seranking.com/api/data/ai-search/)
|
|
710
|
+
- [Backlinks](https://seranking.com/api/data/backlinks/)
|
|
711
|
+
- [Domain Analysis](https://seranking.com/api/data/domain-analysis/)
|
|
712
|
+
- [Keyword Research](https://seranking.com/api/data/keyword-research/)
|
|
713
|
+
- [Website Audit](https://seranking.com/api/data/website-audit/)
|
|
708
714
|
|
|
709
|
-
**Project API** (
|
|
710
|
-
- [Project
|
|
715
|
+
**Project API resources** (under `/v1/project-management/`):
|
|
716
|
+
- [Project Management](https://seranking.com/api/project/project-management/)
|
|
717
|
+
- [AI Result Tracker](https://seranking.com/api/project/ai-result-tracker/)
|
|
718
|
+
- [Competitors](https://seranking.com/api/project/competitors/)
|
|
719
|
+
- [Backlink Checker](https://seranking.com/api/project/backlink-checker/)
|
|
720
|
+
- [Website Audit (Project)](https://seranking.com/api/project/audit/)
|
|
721
|
+
- [And more...](https://seranking.com/api/project/)
|
|
711
722
|
|
|
712
|
-
For detailed API specifications, visit [SE Ranking API Documentation](https://seranking.com/api
|
|
723
|
+
For detailed API specifications, visit [SE Ranking API Documentation](https://seranking.com/api/).
|
|
713
724
|
|
|
714
725
|
---
|
|
715
726
|
|
|
716
727
|
## Version History
|
|
717
728
|
|
|
718
|
-
###
|
|
729
|
+
### v2.0.1 (Current)
|
|
730
|
+
|
|
731
|
+
* 🐛 **FIX: Keyword Groups → Move Keywords** — was returning 400; API expects body key `keywords_ids` (plural), not `keyword_ids`
|
|
732
|
+
* 🐛 **FIX: Sub-Account → Share Projects** — `site_ids` must be a single integer per request; now loops one call per site so multiple IDs work
|
|
733
|
+
* 🐛 **FIX: Backlink Checker → Move to Group** — added missing Target Group ID field to the UI
|
|
734
|
+
|
|
735
|
+
### v2.0.0
|
|
736
|
+
|
|
737
|
+
* **BREAKING: API Unification** — single credential, single host (`api.seranking.com`). Old `seRankingProjectApi` credential type removed. Re-save affected nodes with unified `SE Ranking API` credential.
|
|
738
|
+
* ✅ **10 new operations** — List Check Dates, Get Ranking Trends, Audit Settings (get/update/reset), Audit Sitemaps (list/add/delete), Audit Source Pages (list/delete), AIRT Rankings group mode
|
|
739
|
+
* 🐛 **FIX: Update Audit Title** — was returning 400 since April 2026, now works
|
|
740
|
+
* 🐛 **FIX: Run Position Check** — /api/ prefix bug resolved by unification
|
|
741
|
+
* ⚠️ **Deprecated: Search Volume + Volume Regions** — 6 ops return 404 on unified host (friendly error with guidance)
|
|
742
|
+
* 📊 **Total: 190 operations across 21 resources**
|
|
743
|
+
|
|
744
|
+
### v1.5.13
|
|
745
|
+
|
|
746
|
+
* ✅ **NEW: AIRT Groups resource (8 operations)** — manage AI Result Tracker prompt groups
|
|
747
|
+
* ✅ **NEW: Dynamic Issue Code dropdown** — Get Pages by Issue auto-populates from audit report
|
|
748
|
+
* 🐛 **FIX: Run Position Check URL** — removed incorrect `/api/` prefix
|
|
749
|
+
|
|
750
|
+
### v1.5.8
|
|
719
751
|
|
|
720
|
-
* ✅ **NEW: Get Prompt Answer (AI Result Tracker)** - Returns full AI answer text, cited source URLs, detected brand mentions, and
|
|
721
|
-
* 📝 **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.
|
|
752
|
+
* ✅ **NEW: Get Prompt Answer (AI Result Tracker)** - Returns full AI answer text, cited source URLs, detected brand mentions, and organic URLs for a tracked prompt.
|
|
722
753
|
|
|
723
754
|
### v1.3.6
|
|
724
755
|
|
|
725
|
-
* 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function
|
|
756
|
+
* 🔧 **FIX: Rate limiting compatibility** - Replaced setTimeout with n8n-workflow sleep function
|
|
726
757
|
|
|
727
758
|
### v1.3.5
|
|
728
759
|
|
|
@@ -795,7 +826,7 @@ For detailed API specifications, visit [SE Ranking API Documentation](https://se
|
|
|
795
826
|
|
|
796
827
|
## Features
|
|
797
828
|
|
|
798
|
-
✅ **
|
|
829
|
+
✅ **190 Operations** - Comprehensive coverage across 21 resources (unified API)
|
|
799
830
|
|
|
800
831
|
✅ **Pingback Webhooks** - Event-driven notifications for SERP task completion
|
|
801
832
|
|
|
@@ -878,7 +909,7 @@ For more details, see [n8n's rate limiting documentation](https://docs.n8n.io/in
|
|
|
878
909
|
**Solution**:
|
|
879
910
|
|
|
880
911
|
1. Verify API token is correct (copy from SE Ranking dashboard)
|
|
881
|
-
2.
|
|
912
|
+
2. Ensure your SE Ranking API credential has the correct unified token
|
|
882
913
|
3. Check token hasn't expired
|
|
883
914
|
4. Regenerate token in SE Ranking dashboard if needed
|
|
884
915
|
5. Test credentials using the "Test" button in n8n
|
|
@@ -5,7 +5,7 @@ class SeRankingApi {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.name = 'seRankingApi';
|
|
7
7
|
this.displayName = 'SE Ranking API';
|
|
8
|
-
this.documentationUrl = 'https://seranking.com/api
|
|
8
|
+
this.documentationUrl = 'https://seranking.com/api/';
|
|
9
9
|
this.properties = [
|
|
10
10
|
{
|
|
11
11
|
displayName: 'API Token',
|
|
@@ -16,7 +16,7 @@ class SeRankingApi {
|
|
|
16
16
|
},
|
|
17
17
|
default: '',
|
|
18
18
|
required: true,
|
|
19
|
-
description: 'Your SE Ranking
|
|
19
|
+
description: 'Your SE Ranking API token from the API Dashboard. As of 2026-05 a single unified token authenticates both Data API and Project API endpoints.',
|
|
20
20
|
},
|
|
21
21
|
];
|
|
22
22
|
this.authenticate = {
|
|
@@ -64,43 +64,6 @@ class SeRanking {
|
|
|
64
64
|
{
|
|
65
65
|
name: 'seRankingApi',
|
|
66
66
|
required: true,
|
|
67
|
-
displayOptions: {
|
|
68
|
-
show: {
|
|
69
|
-
resource: [
|
|
70
|
-
'aiSearch',
|
|
71
|
-
'backlinks',
|
|
72
|
-
'domainAnalysis',
|
|
73
|
-
'keywordResearch',
|
|
74
|
-
'serpClassic',
|
|
75
|
-
'websiteAudit',
|
|
76
|
-
],
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: 'seRankingProjectApi',
|
|
82
|
-
required: true,
|
|
83
|
-
displayOptions: {
|
|
84
|
-
show: {
|
|
85
|
-
resource: [
|
|
86
|
-
'accountSystem',
|
|
87
|
-
'aiResultTracker',
|
|
88
|
-
'airtGroups',
|
|
89
|
-
'analyticsTraffic',
|
|
90
|
-
'backlinkChecker',
|
|
91
|
-
'competitors',
|
|
92
|
-
'generalData',
|
|
93
|
-
'keywordGroups',
|
|
94
|
-
'marketingPlan',
|
|
95
|
-
'projectGroups',
|
|
96
|
-
'projectManagement',
|
|
97
|
-
'searchVolume',
|
|
98
|
-
'subAccount',
|
|
99
|
-
'urlTags',
|
|
100
|
-
'websiteAuditProject',
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
67
|
},
|
|
105
68
|
],
|
|
106
69
|
properties: [
|
|
@@ -269,9 +232,10 @@ class SeRanking {
|
|
|
269
232
|
if (!auditId) {
|
|
270
233
|
return [];
|
|
271
234
|
}
|
|
272
|
-
const response = await this.helpers.httpRequestWithAuthentication.call(this, '
|
|
235
|
+
const response = await this.helpers.httpRequestWithAuthentication.call(this, 'seRankingApi', {
|
|
273
236
|
method: 'GET',
|
|
274
|
-
url:
|
|
237
|
+
url: 'https://api.seranking.com/v1/project-management/audits/report',
|
|
238
|
+
qs: { audit_id: auditId },
|
|
275
239
|
json: true,
|
|
276
240
|
});
|
|
277
241
|
const codes = new Set();
|
|
@@ -429,6 +429,17 @@ exports.aiResultTrackerFields = [
|
|
|
429
429
|
default: 0,
|
|
430
430
|
description: 'Offset from the beginning of the list',
|
|
431
431
|
},
|
|
432
|
+
{
|
|
433
|
+
displayName: 'Mode',
|
|
434
|
+
name: 'mode',
|
|
435
|
+
type: 'options',
|
|
436
|
+
options: [
|
|
437
|
+
{ name: 'Per Prompt (Default)', value: '' },
|
|
438
|
+
{ name: 'Aggregated by Group', value: 'groups' },
|
|
439
|
+
],
|
|
440
|
+
default: '',
|
|
441
|
+
description: 'Set to "groups" to get aggregated time-series per prompt group (mention_presence/link_presence as percentages) instead of per-prompt rankings',
|
|
442
|
+
},
|
|
432
443
|
],
|
|
433
444
|
},
|
|
434
445
|
{
|
|
@@ -510,6 +510,20 @@ exports.backlinkCheckerFields = [
|
|
|
510
510
|
default: '',
|
|
511
511
|
description: 'New name for the backlink group',
|
|
512
512
|
},
|
|
513
|
+
{
|
|
514
|
+
displayName: 'Target Group ID',
|
|
515
|
+
name: 'targetGroupId',
|
|
516
|
+
type: 'number',
|
|
517
|
+
required: true,
|
|
518
|
+
displayOptions: {
|
|
519
|
+
show: {
|
|
520
|
+
resource: ['backlinkChecker'],
|
|
521
|
+
operation: ['moveToGroup'],
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
default: 0,
|
|
525
|
+
description: 'Destination backlink group ID to move backlinks/groups into',
|
|
526
|
+
},
|
|
513
527
|
{
|
|
514
528
|
displayName: 'Backlink IDs',
|
|
515
529
|
name: 'backlinkIds',
|
|
@@ -187,6 +187,18 @@ exports.projectManagementOperations = [
|
|
|
187
187
|
description: 'Set a ranking position for a keyword on a date',
|
|
188
188
|
action: 'Set manual keyword position',
|
|
189
189
|
},
|
|
190
|
+
{
|
|
191
|
+
name: 'List Check Dates',
|
|
192
|
+
value: 'listCheckDates',
|
|
193
|
+
description: 'Get actual ranking check dates for a project',
|
|
194
|
+
action: 'List check dates',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'Get Ranking Trends',
|
|
198
|
+
value: 'getRankingTrends',
|
|
199
|
+
description: 'Get ranking trend time series (avg position, visibility, top10)',
|
|
200
|
+
action: 'Get ranking trends',
|
|
201
|
+
},
|
|
190
202
|
],
|
|
191
203
|
default: 'listProjects',
|
|
192
204
|
},
|
|
@@ -216,6 +228,8 @@ exports.projectManagementFields = [
|
|
|
216
228
|
'deleteKeywords',
|
|
217
229
|
'setManualPosition',
|
|
218
230
|
'runRecheck',
|
|
231
|
+
'listCheckDates',
|
|
232
|
+
'getRankingTrends',
|
|
219
233
|
],
|
|
220
234
|
},
|
|
221
235
|
},
|
|
@@ -807,4 +821,117 @@ exports.projectManagementFields = [
|
|
|
807
821
|
default: '[{"site_engine_id":1,"keyword_id":2}]',
|
|
808
822
|
description: 'JSON array of objects: { site_engine_id, keyword_id }',
|
|
809
823
|
},
|
|
824
|
+
{
|
|
825
|
+
displayName: 'Additional Fields',
|
|
826
|
+
name: 'additionalFields',
|
|
827
|
+
type: 'collection',
|
|
828
|
+
placeholder: 'Add Field',
|
|
829
|
+
default: {},
|
|
830
|
+
displayOptions: {
|
|
831
|
+
show: {
|
|
832
|
+
resource: ['projectManagement'],
|
|
833
|
+
operation: ['listCheckDates'],
|
|
834
|
+
},
|
|
835
|
+
},
|
|
836
|
+
options: [
|
|
837
|
+
{
|
|
838
|
+
displayName: 'Site Engine ID',
|
|
839
|
+
name: 'siteEngineId',
|
|
840
|
+
type: 'number',
|
|
841
|
+
default: 0,
|
|
842
|
+
description: 'Limit to a single search engine',
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
displayName: 'Date From',
|
|
846
|
+
name: 'dateFrom',
|
|
847
|
+
type: 'string',
|
|
848
|
+
default: '',
|
|
849
|
+
placeholder: '2026-01-01',
|
|
850
|
+
description: 'Start date (YYYY-MM-DD). Defaults to 7 days ago.',
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
displayName: 'Date To',
|
|
854
|
+
name: 'dateTo',
|
|
855
|
+
type: 'string',
|
|
856
|
+
default: '',
|
|
857
|
+
placeholder: '2026-01-31',
|
|
858
|
+
description: 'End date (YYYY-MM-DD). Defaults to today.',
|
|
859
|
+
},
|
|
860
|
+
],
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
displayName: 'Additional Fields',
|
|
864
|
+
name: 'additionalFields',
|
|
865
|
+
type: 'collection',
|
|
866
|
+
placeholder: 'Add Field',
|
|
867
|
+
default: {},
|
|
868
|
+
displayOptions: {
|
|
869
|
+
show: {
|
|
870
|
+
resource: ['projectManagement'],
|
|
871
|
+
operation: ['getRankingTrends'],
|
|
872
|
+
},
|
|
873
|
+
},
|
|
874
|
+
options: [
|
|
875
|
+
{
|
|
876
|
+
displayName: 'Site Engine ID',
|
|
877
|
+
name: 'siteEngineId',
|
|
878
|
+
type: 'number',
|
|
879
|
+
default: 0,
|
|
880
|
+
description: 'Limit to a single search engine (drops the cross-engine average row)',
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
displayName: 'Date From',
|
|
884
|
+
name: 'dateFrom',
|
|
885
|
+
type: 'string',
|
|
886
|
+
default: '',
|
|
887
|
+
placeholder: '2026-01-01',
|
|
888
|
+
description: 'Start date (YYYY-MM-DD). Defaults to 7 days ago.',
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
displayName: 'Date To',
|
|
892
|
+
name: 'dateTo',
|
|
893
|
+
type: 'string',
|
|
894
|
+
default: '',
|
|
895
|
+
placeholder: '2026-01-31',
|
|
896
|
+
description: 'End date (YYYY-MM-DD). Defaults to today.',
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
displayName: 'Metric Type',
|
|
900
|
+
name: 'metricType',
|
|
901
|
+
type: 'options',
|
|
902
|
+
options: [
|
|
903
|
+
{ name: 'Average Position', value: 'avg_pos' },
|
|
904
|
+
{ name: 'Visibility (Raw Score)', value: 'visibility' },
|
|
905
|
+
{ name: 'Visibility (%)', value: 'visibility_percent' },
|
|
906
|
+
{ name: 'Top 10 (Count)', value: 'top10' },
|
|
907
|
+
{ name: 'Top 10 (%)', value: 'top10_percent' },
|
|
908
|
+
],
|
|
909
|
+
default: 'avg_pos',
|
|
910
|
+
description: 'Which ranking metric to retrieve',
|
|
911
|
+
},
|
|
912
|
+
{
|
|
913
|
+
displayName: 'Group ID',
|
|
914
|
+
name: 'groupId',
|
|
915
|
+
type: 'number',
|
|
916
|
+
default: 0,
|
|
917
|
+
description: 'Filter to a keyword group',
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
displayName: 'Keyword IDs',
|
|
921
|
+
name: 'keywordsIds',
|
|
922
|
+
type: 'string',
|
|
923
|
+
default: '',
|
|
924
|
+
placeholder: '123,456,789',
|
|
925
|
+
description: 'Comma-separated keyword IDs to filter',
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
displayName: 'Tag IDs',
|
|
929
|
+
name: 'tagsIds',
|
|
930
|
+
type: 'string',
|
|
931
|
+
default: '',
|
|
932
|
+
placeholder: '1,2,3',
|
|
933
|
+
description: 'Comma-separated landing-page tag IDs to filter',
|
|
934
|
+
},
|
|
935
|
+
],
|
|
936
|
+
},
|
|
810
937
|
];
|
|
@@ -85,6 +85,54 @@ exports.websiteAuditOperations = [
|
|
|
85
85
|
description: 'Update the title of an audit',
|
|
86
86
|
action: 'Update audit title',
|
|
87
87
|
},
|
|
88
|
+
{
|
|
89
|
+
name: 'Get Audit Settings',
|
|
90
|
+
value: 'getAuditSettings',
|
|
91
|
+
description: 'Get the full configuration of an audit',
|
|
92
|
+
action: 'Get audit settings',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'Update Audit Settings',
|
|
96
|
+
value: 'updateAuditSettings',
|
|
97
|
+
description: 'Partially update audit configuration',
|
|
98
|
+
action: 'Update audit settings',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: 'Reset Audit Settings',
|
|
102
|
+
value: 'resetAuditSettings',
|
|
103
|
+
description: 'Restore all audit settings to defaults',
|
|
104
|
+
action: 'Reset audit settings',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: 'List Audit Sitemaps',
|
|
108
|
+
value: 'listAuditSitemaps',
|
|
109
|
+
description: 'List configured sitemaps for an audit',
|
|
110
|
+
action: 'List audit sitemaps',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'Add Audit Sitemap',
|
|
114
|
+
value: 'addAuditSitemap',
|
|
115
|
+
description: 'Register a sitemap URL as a crawl source',
|
|
116
|
+
action: 'Add audit sitemap',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: 'Delete Audit Sitemap',
|
|
120
|
+
value: 'deleteAuditSitemap',
|
|
121
|
+
description: 'Remove a sitemap from crawl sources',
|
|
122
|
+
action: 'Delete audit sitemap',
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: 'List Audit Source Pages',
|
|
126
|
+
value: 'listAuditSourcePages',
|
|
127
|
+
description: 'List uploaded custom page lists',
|
|
128
|
+
action: 'List audit source pages',
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
name: 'Delete Audit Source Pages',
|
|
132
|
+
value: 'deleteAuditSourcePages',
|
|
133
|
+
description: 'Remove an uploaded custom page list',
|
|
134
|
+
action: 'Delete audit source pages',
|
|
135
|
+
},
|
|
88
136
|
],
|
|
89
137
|
default: 'listAudits',
|
|
90
138
|
},
|
|
@@ -98,7 +146,7 @@ exports.websiteAuditFields = [
|
|
|
98
146
|
displayOptions: {
|
|
99
147
|
show: {
|
|
100
148
|
resource: ['websiteAuditProject'],
|
|
101
|
-
operation: ['getStatus', 'getReport', 'getPages', 'getPagesByIssue', 'getIssues', 'getLinks', 'getHistory', 'updateTitle', 'deleteAudit', 'recheckAudit'],
|
|
149
|
+
operation: ['getStatus', 'getReport', 'getPages', 'getPagesByIssue', 'getIssues', 'getLinks', 'getHistory', 'updateTitle', 'deleteAudit', 'recheckAudit', 'getAuditSettings', 'updateAuditSettings', 'resetAuditSettings', 'listAuditSitemaps', 'addAuditSitemap', 'deleteAuditSitemap', 'listAuditSourcePages', 'deleteAuditSourcePages'],
|
|
102
150
|
},
|
|
103
151
|
},
|
|
104
152
|
default: 0,
|
|
@@ -379,4 +427,62 @@ exports.websiteAuditFields = [
|
|
|
379
427
|
default: '',
|
|
380
428
|
description: 'New title for the audit report (max 300 characters)',
|
|
381
429
|
},
|
|
430
|
+
{
|
|
431
|
+
displayName: 'Settings JSON',
|
|
432
|
+
name: 'settingsJson',
|
|
433
|
+
type: 'string',
|
|
434
|
+
typeOptions: { rows: 5 },
|
|
435
|
+
required: true,
|
|
436
|
+
displayOptions: {
|
|
437
|
+
show: {
|
|
438
|
+
resource: ['websiteAuditProject'],
|
|
439
|
+
operation: ['updateAuditSettings'],
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
default: '{}',
|
|
443
|
+
description: 'JSON object of settings to update (partial update — only send changed fields). E.g. {"max_pages": 5000, "schedule_type": "week"}',
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
displayName: 'Sitemap URL',
|
|
447
|
+
name: 'sitemapUrl',
|
|
448
|
+
type: 'string',
|
|
449
|
+
required: true,
|
|
450
|
+
displayOptions: {
|
|
451
|
+
show: {
|
|
452
|
+
resource: ['websiteAuditProject'],
|
|
453
|
+
operation: ['addAuditSitemap'],
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
default: '',
|
|
457
|
+
placeholder: 'https://example.com/sitemap.xml',
|
|
458
|
+
description: 'Absolute URL of the sitemap to register as a crawl source',
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
displayName: 'Sitemap ID',
|
|
462
|
+
name: 'sitemapId',
|
|
463
|
+
type: 'number',
|
|
464
|
+
required: true,
|
|
465
|
+
displayOptions: {
|
|
466
|
+
show: {
|
|
467
|
+
resource: ['websiteAuditProject'],
|
|
468
|
+
operation: ['deleteAuditSitemap'],
|
|
469
|
+
},
|
|
470
|
+
},
|
|
471
|
+
default: 0,
|
|
472
|
+
description: 'ID of the sitemap to remove (from List Audit Sitemaps)',
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
displayName: 'Source Pages List ID',
|
|
476
|
+
name: 'sourcePagesListId',
|
|
477
|
+
type: 'string',
|
|
478
|
+
required: true,
|
|
479
|
+
displayOptions: {
|
|
480
|
+
show: {
|
|
481
|
+
resource: ['websiteAuditProject'],
|
|
482
|
+
operation: ['deleteAuditSourcePages'],
|
|
483
|
+
},
|
|
484
|
+
},
|
|
485
|
+
default: '',
|
|
486
|
+
description: 'ID of the uploaded page list to remove (from List Audit Source Pages)',
|
|
487
|
+
},
|
|
382
488
|
];
|
|
@@ -6,10 +6,10 @@ async function AccountSystemOperations(index) {
|
|
|
6
6
|
const operation = this.getNodeParameter('operation', index);
|
|
7
7
|
switch (operation) {
|
|
8
8
|
case 'getBalance': {
|
|
9
|
-
return await apiRequest_1.apiRequest.call(this, 'GET', '/account/
|
|
9
|
+
return await apiRequest_1.apiRequest.call(this, 'GET', '/account/subscription', {}, {}, index);
|
|
10
10
|
}
|
|
11
11
|
case 'getProfile': {
|
|
12
|
-
return await apiRequest_1.apiRequest.call(this, 'GET', '/
|
|
12
|
+
return await apiRequest_1.apiRequest.call(this, 'GET', '/project-management/users/me', {}, {}, index);
|
|
13
13
|
}
|
|
14
14
|
case 'getSubscription': {
|
|
15
15
|
return await apiRequest_1.apiRequest.call(this, 'GET', '/account/subscription', {}, {}, index);
|