@serpstat/serpstat-mcp-server 1.0.8 → 1.1.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/CHANGELOG.md +36 -1
- package/README.md +32 -0
- package/dist/handlers/site_audit_tools.d.ts +107 -0
- package/dist/handlers/site_audit_tools.d.ts.map +1 -0
- package/dist/handlers/site_audit_tools.js +767 -0
- package/dist/handlers/site_audit_tools.js.map +1 -0
- package/dist/handlers/url_tools.d.ts +35 -0
- package/dist/handlers/url_tools.d.ts.map +1 -0
- package/dist/handlers/url_tools.js +361 -0
- package/dist/handlers/url_tools.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +20 -1
- package/dist/server.js.map +1 -1
- package/dist/services/site_audit.d.ts +19 -0
- package/dist/services/site_audit.d.ts.map +1 -0
- package/dist/services/site_audit.js +254 -0
- package/dist/services/site_audit.js.map +1 -0
- package/dist/services/url_tools.d.ts +10 -0
- package/dist/services/url_tools.d.ts.map +1 -0
- package/dist/services/url_tools.js +81 -0
- package/dist/services/url_tools.js.map +1 -0
- package/dist/types/serpstat.d.ts +221 -0
- package/dist/types/serpstat.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +30 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +54 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/validation.d.ts +870 -100
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +194 -1
- package/dist/utils/validation.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SiteAuditService = void 0;
|
|
4
|
+
const base_js_1 = require("./base.js");
|
|
5
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
6
|
+
class SiteAuditService extends base_js_1.BaseService {
|
|
7
|
+
async getSettings(params) {
|
|
8
|
+
logger_js_1.logger.info('Getting site audit settings', { projectId: params.projectId });
|
|
9
|
+
const request = {
|
|
10
|
+
id: `get_site_audit_settings_${Date.now()}`,
|
|
11
|
+
method: 'AuditSite.getSettings',
|
|
12
|
+
params,
|
|
13
|
+
};
|
|
14
|
+
const response = await this.makeRequest(request);
|
|
15
|
+
if (!response.result) {
|
|
16
|
+
throw new Error('No result data received from Serpstat API');
|
|
17
|
+
}
|
|
18
|
+
logger_js_1.logger.info('Successfully retrieved site audit settings', {
|
|
19
|
+
projectId: params.projectId,
|
|
20
|
+
domain: response.result.mainSettings.domain
|
|
21
|
+
});
|
|
22
|
+
return response.result;
|
|
23
|
+
}
|
|
24
|
+
async setSettings(params) {
|
|
25
|
+
logger_js_1.logger.info('Setting site audit settings', {
|
|
26
|
+
projectId: params.projectId,
|
|
27
|
+
domain: params.mainSettings.domain
|
|
28
|
+
});
|
|
29
|
+
const request = {
|
|
30
|
+
id: `set_site_audit_settings_${Date.now()}`,
|
|
31
|
+
method: 'AuditSite.setSettings',
|
|
32
|
+
params,
|
|
33
|
+
};
|
|
34
|
+
const response = await this.makeRequest(request);
|
|
35
|
+
logger_js_1.logger.info('Successfully set site audit settings', { projectId: params.projectId });
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
async start(params) {
|
|
39
|
+
logger_js_1.logger.info('Starting site audit', { projectId: params.projectId });
|
|
40
|
+
const request = {
|
|
41
|
+
id: `start_site_audit_${Date.now()}`,
|
|
42
|
+
method: 'AuditSite.start',
|
|
43
|
+
params,
|
|
44
|
+
};
|
|
45
|
+
const response = await this.makeRequest(request);
|
|
46
|
+
if (!response.result) {
|
|
47
|
+
throw new Error('No result data received from Serpstat API');
|
|
48
|
+
}
|
|
49
|
+
logger_js_1.logger.info('Successfully started site audit', {
|
|
50
|
+
projectId: params.projectId,
|
|
51
|
+
reportId: response.result.reportId
|
|
52
|
+
});
|
|
53
|
+
return response.result;
|
|
54
|
+
}
|
|
55
|
+
async stop(params) {
|
|
56
|
+
logger_js_1.logger.info('Stopping site audit', { projectId: params.projectId });
|
|
57
|
+
const request = {
|
|
58
|
+
id: `stop_site_audit_${Date.now()}`,
|
|
59
|
+
method: 'AuditSite.stop',
|
|
60
|
+
params,
|
|
61
|
+
};
|
|
62
|
+
const response = await this.makeRequest(request);
|
|
63
|
+
if (response.result === undefined || response.result === null) {
|
|
64
|
+
throw new Error('No result data received from Serpstat API');
|
|
65
|
+
}
|
|
66
|
+
logger_js_1.logger.info('Successfully stopped site audit', {
|
|
67
|
+
projectId: params.projectId,
|
|
68
|
+
result: response.result.result
|
|
69
|
+
});
|
|
70
|
+
return response.result.result;
|
|
71
|
+
}
|
|
72
|
+
async getCategoriesStatistic(params) {
|
|
73
|
+
logger_js_1.logger.info('Getting categories statistic', { reportId: params.reportId });
|
|
74
|
+
const request = {
|
|
75
|
+
id: `get_categories_statistic_${Date.now()}`,
|
|
76
|
+
method: 'AuditSite.getCategoriesStatistic',
|
|
77
|
+
params,
|
|
78
|
+
};
|
|
79
|
+
const response = await this.makeRequest(request);
|
|
80
|
+
if (!response.result) {
|
|
81
|
+
throw new Error('No result data received from Serpstat API');
|
|
82
|
+
}
|
|
83
|
+
logger_js_1.logger.info('Successfully retrieved categories statistic', {
|
|
84
|
+
reportId: params.reportId,
|
|
85
|
+
categoriesCount: response.result.length
|
|
86
|
+
});
|
|
87
|
+
return response.result;
|
|
88
|
+
}
|
|
89
|
+
async getHistoryByCountError(params) {
|
|
90
|
+
logger_js_1.logger.info('Getting history by count error', {
|
|
91
|
+
projectId: params.projectId,
|
|
92
|
+
errorName: params.errorName,
|
|
93
|
+
limit: params.limit,
|
|
94
|
+
offset: params.offset
|
|
95
|
+
});
|
|
96
|
+
const request = {
|
|
97
|
+
id: `get_history_by_count_error_${Date.now()}`,
|
|
98
|
+
method: 'AuditSite.getHistoryByCountError',
|
|
99
|
+
params,
|
|
100
|
+
};
|
|
101
|
+
const response = await this.makeRequest(request);
|
|
102
|
+
if (!response.result) {
|
|
103
|
+
throw new Error('No result data received from Serpstat API');
|
|
104
|
+
}
|
|
105
|
+
logger_js_1.logger.info('Successfully retrieved history by count error', {
|
|
106
|
+
projectId: params.projectId,
|
|
107
|
+
errorName: params.errorName,
|
|
108
|
+
historyCount: response.result.errorCounts.length
|
|
109
|
+
});
|
|
110
|
+
return response.result;
|
|
111
|
+
}
|
|
112
|
+
async getSiteAuditsList(params) {
|
|
113
|
+
logger_js_1.logger.info('Getting site audits list', {
|
|
114
|
+
projectId: params.projectId,
|
|
115
|
+
limit: params.limit,
|
|
116
|
+
offset: params.offset
|
|
117
|
+
});
|
|
118
|
+
const request = {
|
|
119
|
+
id: `get_site_audits_list_${Date.now()}`,
|
|
120
|
+
method: 'AuditSite.getList',
|
|
121
|
+
params,
|
|
122
|
+
};
|
|
123
|
+
const response = await this.makeRequest(request);
|
|
124
|
+
if (!response.result) {
|
|
125
|
+
throw new Error('No result data received from Serpstat API');
|
|
126
|
+
}
|
|
127
|
+
logger_js_1.logger.info('Successfully retrieved site audits list', {
|
|
128
|
+
projectId: params.projectId,
|
|
129
|
+
auditsCount: response.result.length
|
|
130
|
+
});
|
|
131
|
+
return response.result;
|
|
132
|
+
}
|
|
133
|
+
async getScanUserUrlList(params) {
|
|
134
|
+
logger_js_1.logger.info('Getting scan user URL list', { projectId: params.projectId });
|
|
135
|
+
const request = {
|
|
136
|
+
id: `get_scan_user_url_list_${Date.now()}`,
|
|
137
|
+
method: 'AuditSite.getScanUserUrlList',
|
|
138
|
+
params,
|
|
139
|
+
};
|
|
140
|
+
const response = await this.makeRequest(request);
|
|
141
|
+
if (!response.result) {
|
|
142
|
+
throw new Error('No result data received from Serpstat API');
|
|
143
|
+
}
|
|
144
|
+
logger_js_1.logger.info('Successfully retrieved scan user URL list', {
|
|
145
|
+
projectId: params.projectId,
|
|
146
|
+
urlsCount: response.result.urls.length,
|
|
147
|
+
scanType: response.result.scanType
|
|
148
|
+
});
|
|
149
|
+
return response.result;
|
|
150
|
+
}
|
|
151
|
+
async getDefaultSettings(params) {
|
|
152
|
+
logger_js_1.logger.info('Getting default settings');
|
|
153
|
+
const request = {
|
|
154
|
+
id: `get_default_settings_${Date.now()}`,
|
|
155
|
+
method: 'AuditSite.getDefaultSettings',
|
|
156
|
+
params,
|
|
157
|
+
};
|
|
158
|
+
const response = await this.makeRequest(request);
|
|
159
|
+
if (!response.result) {
|
|
160
|
+
throw new Error('No result data received from Serpstat API');
|
|
161
|
+
}
|
|
162
|
+
logger_js_1.logger.info('Successfully retrieved default settings');
|
|
163
|
+
return response.result;
|
|
164
|
+
}
|
|
165
|
+
async getBasicInfo(params) {
|
|
166
|
+
logger_js_1.logger.info('Getting basic audit info', { reportId: params.reportId });
|
|
167
|
+
const request = {
|
|
168
|
+
id: `get_basic_info_${Date.now()}`,
|
|
169
|
+
method: 'AuditSite.getBasicInfo',
|
|
170
|
+
params,
|
|
171
|
+
};
|
|
172
|
+
const response = await this.makeRequest(request);
|
|
173
|
+
if (!response.result) {
|
|
174
|
+
throw new Error('No result data received from Serpstat API');
|
|
175
|
+
}
|
|
176
|
+
logger_js_1.logger.info('Successfully retrieved basic audit info', {
|
|
177
|
+
reportId: params.reportId,
|
|
178
|
+
sdo: response.result.sdo,
|
|
179
|
+
progress: response.result.progress
|
|
180
|
+
});
|
|
181
|
+
return response.result;
|
|
182
|
+
}
|
|
183
|
+
async getReportWithoutDetails(params) {
|
|
184
|
+
logger_js_1.logger.info('Getting report without details', {
|
|
185
|
+
reportId: params.reportId,
|
|
186
|
+
compareReportId: params.compareReportId
|
|
187
|
+
});
|
|
188
|
+
const request = {
|
|
189
|
+
id: `get_report_without_details_${Date.now()}`,
|
|
190
|
+
method: 'AuditSite.getReportWithoutDetails',
|
|
191
|
+
params,
|
|
192
|
+
};
|
|
193
|
+
const response = await this.makeRequest(request);
|
|
194
|
+
if (!response.result) {
|
|
195
|
+
throw new Error('No result data received from Serpstat API');
|
|
196
|
+
}
|
|
197
|
+
logger_js_1.logger.info('Successfully retrieved report without details', {
|
|
198
|
+
reportId: params.reportId,
|
|
199
|
+
categoriesCount: response.result.categories.length
|
|
200
|
+
});
|
|
201
|
+
return response.result;
|
|
202
|
+
}
|
|
203
|
+
async getErrorElements(params) {
|
|
204
|
+
logger_js_1.logger.info('Getting error elements', {
|
|
205
|
+
reportId: params.reportId,
|
|
206
|
+
errorName: params.errorName,
|
|
207
|
+
mode: params.mode,
|
|
208
|
+
limit: params.limit,
|
|
209
|
+
offset: params.offset
|
|
210
|
+
});
|
|
211
|
+
const request = {
|
|
212
|
+
id: `get_error_elements_${Date.now()}`,
|
|
213
|
+
method: 'AuditSite.getErrorElements',
|
|
214
|
+
params,
|
|
215
|
+
};
|
|
216
|
+
const response = await this.makeRequest(request);
|
|
217
|
+
if (!response.result) {
|
|
218
|
+
throw new Error('No result data received from Serpstat API');
|
|
219
|
+
}
|
|
220
|
+
logger_js_1.logger.info('Successfully retrieved error elements', {
|
|
221
|
+
reportId: params.reportId,
|
|
222
|
+
errorName: params.errorName,
|
|
223
|
+
totalCount: response.result.totalCount
|
|
224
|
+
});
|
|
225
|
+
return response.result;
|
|
226
|
+
}
|
|
227
|
+
async getSubElementsByCrc(params) {
|
|
228
|
+
logger_js_1.logger.info('Getting sub-elements by CRC', {
|
|
229
|
+
reportId: params.reportId,
|
|
230
|
+
errorName: params.errorName,
|
|
231
|
+
crc: params.crc,
|
|
232
|
+
mode: params.mode,
|
|
233
|
+
limit: params.limit,
|
|
234
|
+
offset: params.offset
|
|
235
|
+
});
|
|
236
|
+
const request = {
|
|
237
|
+
id: `get_sub_elements_by_crc_${Date.now()}`,
|
|
238
|
+
method: 'AuditSite.getSubElementsByCrc',
|
|
239
|
+
params,
|
|
240
|
+
};
|
|
241
|
+
const response = await this.makeRequest(request);
|
|
242
|
+
if (!response.result) {
|
|
243
|
+
throw new Error('No result data received from Serpstat API');
|
|
244
|
+
}
|
|
245
|
+
logger_js_1.logger.info('Successfully retrieved sub-elements by CRC', {
|
|
246
|
+
reportId: params.reportId,
|
|
247
|
+
crc: params.crc,
|
|
248
|
+
totalCount: response.result.totalCount
|
|
249
|
+
});
|
|
250
|
+
return response.result;
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
exports.SiteAuditService = SiteAuditService;
|
|
254
|
+
//# sourceMappingURL=site_audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site_audit.js","sourceRoot":"","sources":["../../src/services/site_audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseService } from './base.js';
|
|
2
|
+
import { UrlSummaryTrafficParams, UrlCompetitorsParams, UrlKeywordsParams, UrlMissingKeywordsParams } from '../utils/validation.js';
|
|
3
|
+
import { UrlSummaryTrafficResponse, UrlCompetitorsResponse, UrlKeywordsResponse, UrlMissingKeywordsResponse } from '../types/serpstat.js';
|
|
4
|
+
export declare class UrlService extends BaseService {
|
|
5
|
+
getUrlSummaryTraffic(params: UrlSummaryTrafficParams): Promise<UrlSummaryTrafficResponse>;
|
|
6
|
+
getUrlCompetitors(params: UrlCompetitorsParams): Promise<UrlCompetitorsResponse>;
|
|
7
|
+
getUrlKeywords(params: UrlKeywordsParams): Promise<UrlKeywordsResponse>;
|
|
8
|
+
getUrlMissingKeywords(params: UrlMissingKeywordsParams): Promise<UrlMissingKeywordsResponse>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=url_tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url_tools.d.ts","sourceRoot":"","sources":["../../src/services/url_tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpI,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,0BAA0B,EAAmB,MAAM,sBAAsB,CAAC;AAG3J,qBAAa,UAAW,SAAQ,WAAW;IACjC,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAoBzF,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBhF,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmBvE,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAiBrG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UrlService = void 0;
|
|
4
|
+
const base_js_1 = require("./base.js");
|
|
5
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
6
|
+
class UrlService extends base_js_1.BaseService {
|
|
7
|
+
async getUrlSummaryTraffic(params) {
|
|
8
|
+
logger_js_1.logger.info('Getting URL summary traffic', { domain: params.domain, urlContains: params.urlContains, se: params.se });
|
|
9
|
+
const request = {
|
|
10
|
+
id: `get_url_summary_traffic_${Date.now()}`,
|
|
11
|
+
method: 'SerpstatUrlProcedure.getSummaryTraffic',
|
|
12
|
+
params,
|
|
13
|
+
};
|
|
14
|
+
const response = await this.makeRequest(request);
|
|
15
|
+
if (!response.result) {
|
|
16
|
+
throw new Error('No result data received from Serpstat API');
|
|
17
|
+
}
|
|
18
|
+
logger_js_1.logger.info('Successfully retrieved URL summary traffic', {
|
|
19
|
+
urls: response.result.urls,
|
|
20
|
+
traffic: response.result.traffic,
|
|
21
|
+
keywords: response.result.keywords,
|
|
22
|
+
leftLines: response.result.summary_info.left_lines
|
|
23
|
+
});
|
|
24
|
+
return response.result;
|
|
25
|
+
}
|
|
26
|
+
async getUrlCompetitors(params) {
|
|
27
|
+
logger_js_1.logger.info('Getting URL competitors', { url: params.url, se: params.se });
|
|
28
|
+
const request = {
|
|
29
|
+
id: `get_url_competitors_${Date.now()}`,
|
|
30
|
+
method: 'SerpstatUrlProcedure.getUrlCompetitors',
|
|
31
|
+
params,
|
|
32
|
+
};
|
|
33
|
+
const response = await this.makeRequest(request);
|
|
34
|
+
if (!response.result) {
|
|
35
|
+
throw new Error('No result data received from Serpstat API');
|
|
36
|
+
}
|
|
37
|
+
logger_js_1.logger.info('Successfully retrieved URL competitors', {
|
|
38
|
+
competitorsCount: response.result.data.length,
|
|
39
|
+
total: response.result.summary_info.total,
|
|
40
|
+
leftLines: response.result.summary_info.left_lines
|
|
41
|
+
});
|
|
42
|
+
return response.result;
|
|
43
|
+
}
|
|
44
|
+
async getUrlKeywords(params) {
|
|
45
|
+
logger_js_1.logger.info('Getting URL keywords', { url: params.url, se: params.se, withIntents: params.withIntents });
|
|
46
|
+
const request = {
|
|
47
|
+
id: `get_url_keywords_${Date.now()}`,
|
|
48
|
+
method: 'SerpstatUrlProcedure.getUrlKeywords',
|
|
49
|
+
params,
|
|
50
|
+
};
|
|
51
|
+
const response = await this.makeRequest(request);
|
|
52
|
+
if (!response.result) {
|
|
53
|
+
throw new Error('No result data received from Serpstat API');
|
|
54
|
+
}
|
|
55
|
+
logger_js_1.logger.info('Successfully retrieved URL keywords', {
|
|
56
|
+
keywordsCount: response.result.data.length,
|
|
57
|
+
total: response.result.summary_info.total,
|
|
58
|
+
leftLines: response.result.summary_info.left_lines
|
|
59
|
+
});
|
|
60
|
+
return response.result;
|
|
61
|
+
}
|
|
62
|
+
async getUrlMissingKeywords(params) {
|
|
63
|
+
logger_js_1.logger.info('Getting URL missing keywords', { url: params.url, se: params.se });
|
|
64
|
+
const request = {
|
|
65
|
+
id: `get_url_missing_keywords_${Date.now()}`,
|
|
66
|
+
method: 'SerpstatUrlProcedure.getUrlMissingKeywords',
|
|
67
|
+
params,
|
|
68
|
+
};
|
|
69
|
+
const response = await this.makeRequest(request);
|
|
70
|
+
if (!response.result) {
|
|
71
|
+
throw new Error('No result data received from Serpstat API');
|
|
72
|
+
}
|
|
73
|
+
logger_js_1.logger.info('Successfully retrieved URL missing keywords', {
|
|
74
|
+
keywordsCount: response.result.data.length,
|
|
75
|
+
leftLines: response.result.summary_info.left_lines
|
|
76
|
+
});
|
|
77
|
+
return response.result;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.UrlService = UrlService;
|
|
81
|
+
//# sourceMappingURL=url_tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url_tools.js","sourceRoot":"","sources":["../../src/services/url_tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types/serpstat.d.ts
CHANGED
|
@@ -631,4 +631,225 @@ export interface GetRtProjectUrlSerpHistoryResponse {
|
|
|
631
631
|
summary_info: RtProjectsSummaryInfo;
|
|
632
632
|
spent_limits: number;
|
|
633
633
|
}
|
|
634
|
+
export interface UrlSummaryTrafficResponse {
|
|
635
|
+
urls: number;
|
|
636
|
+
traffic?: number;
|
|
637
|
+
keywords?: number;
|
|
638
|
+
summary_info: {
|
|
639
|
+
left_lines: number;
|
|
640
|
+
};
|
|
641
|
+
}
|
|
642
|
+
export interface UrlCompetitorData {
|
|
643
|
+
domain: string;
|
|
644
|
+
url: string;
|
|
645
|
+
cnt: number;
|
|
646
|
+
}
|
|
647
|
+
export interface UrlCompetitorsResponse {
|
|
648
|
+
data: UrlCompetitorData[];
|
|
649
|
+
summary_info: {
|
|
650
|
+
page: number;
|
|
651
|
+
total: number;
|
|
652
|
+
left_lines: number;
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
export interface UrlKeywordData {
|
|
656
|
+
domain: string;
|
|
657
|
+
subdomain: string;
|
|
658
|
+
keyword: string;
|
|
659
|
+
keyword_length: number;
|
|
660
|
+
url: string;
|
|
661
|
+
position: number;
|
|
662
|
+
types: string[];
|
|
663
|
+
found_results: number;
|
|
664
|
+
cost: number;
|
|
665
|
+
concurrency: number;
|
|
666
|
+
region_queries_count: number;
|
|
667
|
+
region_queries_count_wide: number | null;
|
|
668
|
+
geo_names: string[];
|
|
669
|
+
traff: number;
|
|
670
|
+
difficulty: number;
|
|
671
|
+
dynamic: number;
|
|
672
|
+
intents: string[];
|
|
673
|
+
first_position?: string;
|
|
674
|
+
first_url?: string;
|
|
675
|
+
}
|
|
676
|
+
export interface UrlKeywordsResponse {
|
|
677
|
+
data: UrlKeywordData[];
|
|
678
|
+
summary_info: {
|
|
679
|
+
page: number;
|
|
680
|
+
total: number;
|
|
681
|
+
left_lines: number;
|
|
682
|
+
};
|
|
683
|
+
}
|
|
684
|
+
export interface UrlMissingKeywordData {
|
|
685
|
+
geo_names: string[];
|
|
686
|
+
region_queries_count: number;
|
|
687
|
+
types: string[];
|
|
688
|
+
cost: number;
|
|
689
|
+
region_queries_count_wide: number;
|
|
690
|
+
keyword: string;
|
|
691
|
+
concurrency: number;
|
|
692
|
+
weight: number;
|
|
693
|
+
}
|
|
694
|
+
export interface UrlMissingKeywordsResponse {
|
|
695
|
+
data: UrlMissingKeywordData[];
|
|
696
|
+
summary_info: {
|
|
697
|
+
page: number;
|
|
698
|
+
left_lines: number;
|
|
699
|
+
};
|
|
700
|
+
}
|
|
701
|
+
export interface SiteAuditMainSettings {
|
|
702
|
+
domain: string;
|
|
703
|
+
name: string;
|
|
704
|
+
subdomainsCheck: boolean;
|
|
705
|
+
pagesLimit: number;
|
|
706
|
+
scanSpeed: number;
|
|
707
|
+
autoSpeed: boolean;
|
|
708
|
+
scanNoIndex: boolean;
|
|
709
|
+
autoUserAgent: boolean;
|
|
710
|
+
scanWrongCanonical: boolean;
|
|
711
|
+
scanDuration: number;
|
|
712
|
+
folderDepth: number;
|
|
713
|
+
urlDepth: number;
|
|
714
|
+
userAgent: number;
|
|
715
|
+
robotsTxt: boolean;
|
|
716
|
+
withImages: boolean;
|
|
717
|
+
}
|
|
718
|
+
export interface SiteAuditKeywordsBlock {
|
|
719
|
+
checked: boolean;
|
|
720
|
+
keywords: string;
|
|
721
|
+
}
|
|
722
|
+
export interface SiteAuditBaseAuthBlock {
|
|
723
|
+
login: string;
|
|
724
|
+
password: string;
|
|
725
|
+
}
|
|
726
|
+
export interface SiteAuditMailTriggerSettings {
|
|
727
|
+
emails: string[];
|
|
728
|
+
interval: number;
|
|
729
|
+
enabled: boolean;
|
|
730
|
+
enableExportAfterFinish?: boolean;
|
|
731
|
+
}
|
|
732
|
+
export interface SiteAuditScheduleSettings {
|
|
733
|
+
scheduleRepeatOption: number;
|
|
734
|
+
}
|
|
735
|
+
export interface SiteAuditScanSetting {
|
|
736
|
+
type: number;
|
|
737
|
+
list: string[];
|
|
738
|
+
}
|
|
739
|
+
export interface SiteAuditErrorsSettings {
|
|
740
|
+
tiny_title: number;
|
|
741
|
+
long_title: number;
|
|
742
|
+
tiny_desc: number;
|
|
743
|
+
long_desc: number;
|
|
744
|
+
long_url: number;
|
|
745
|
+
large_image_size: number;
|
|
746
|
+
large_page_size: number;
|
|
747
|
+
many_external_links: number;
|
|
748
|
+
}
|
|
749
|
+
export interface SiteAuditSettings {
|
|
750
|
+
mainSettings: SiteAuditMainSettings;
|
|
751
|
+
dontScanKeywordsBlock: SiteAuditKeywordsBlock;
|
|
752
|
+
onlyScanKeywordsBlock: SiteAuditKeywordsBlock;
|
|
753
|
+
baseAuthBlock: SiteAuditBaseAuthBlock;
|
|
754
|
+
mailTriggerSettings: SiteAuditMailTriggerSettings;
|
|
755
|
+
scheduleSettings: SiteAuditScheduleSettings;
|
|
756
|
+
scanSetting: SiteAuditScanSetting;
|
|
757
|
+
errorsSettings: SiteAuditErrorsSettings;
|
|
758
|
+
}
|
|
759
|
+
export interface GetSiteAuditSettingsResponse extends SiteAuditSettings {
|
|
760
|
+
}
|
|
761
|
+
export interface SetSiteAuditSettingsResponse {
|
|
762
|
+
result: null;
|
|
763
|
+
}
|
|
764
|
+
export interface StartSiteAuditResponse {
|
|
765
|
+
reportId: number;
|
|
766
|
+
}
|
|
767
|
+
export interface StopSiteAuditResponse {
|
|
768
|
+
result: boolean;
|
|
769
|
+
}
|
|
770
|
+
export interface CategoryStatistic {
|
|
771
|
+
category: string;
|
|
772
|
+
highCount: number;
|
|
773
|
+
mediumCount: number;
|
|
774
|
+
lowCount: number;
|
|
775
|
+
informationCount: number;
|
|
776
|
+
}
|
|
777
|
+
export type GetCategoriesStatisticResponse = CategoryStatistic[];
|
|
778
|
+
export interface ErrorCountHistory {
|
|
779
|
+
reportId: number;
|
|
780
|
+
date: string;
|
|
781
|
+
count: string;
|
|
782
|
+
}
|
|
783
|
+
export interface GetHistoryByCountErrorResponse {
|
|
784
|
+
errorCounts: ErrorCountHistory[];
|
|
785
|
+
}
|
|
786
|
+
export interface AuditReportSummary {
|
|
787
|
+
reportId: number;
|
|
788
|
+
date: string;
|
|
789
|
+
sdo: number;
|
|
790
|
+
pagesLimit: number;
|
|
791
|
+
pagesScanned: number;
|
|
792
|
+
criticalCount: number;
|
|
793
|
+
nonCriticalCount: number;
|
|
794
|
+
virusesCount: number;
|
|
795
|
+
progress: number;
|
|
796
|
+
stoped: boolean;
|
|
797
|
+
hasDetailData: boolean;
|
|
798
|
+
}
|
|
799
|
+
export type GetSiteAuditsListResponse = AuditReportSummary[];
|
|
800
|
+
export interface GetScanUserUrlListResponse {
|
|
801
|
+
urls: string[];
|
|
802
|
+
scanType: number;
|
|
803
|
+
isImported: boolean;
|
|
804
|
+
}
|
|
805
|
+
export interface GetDefaultSettingsResponse extends SiteAuditSettings {
|
|
806
|
+
}
|
|
807
|
+
export interface GetBasicInfoResponse {
|
|
808
|
+
reportId: number;
|
|
809
|
+
date: string;
|
|
810
|
+
sdo: number;
|
|
811
|
+
highCount: number;
|
|
812
|
+
mediumCount: number;
|
|
813
|
+
lowCount: number;
|
|
814
|
+
informationCount: number;
|
|
815
|
+
virusesCount: number;
|
|
816
|
+
progress: number;
|
|
817
|
+
stoped: number;
|
|
818
|
+
specialStopReason: number;
|
|
819
|
+
checkedPageCount: number;
|
|
820
|
+
totalCheckedPageCount: number;
|
|
821
|
+
redirectCount: number;
|
|
822
|
+
captchaDetected: boolean;
|
|
823
|
+
hasDetailData: boolean;
|
|
824
|
+
}
|
|
825
|
+
export interface AuditError {
|
|
826
|
+
key: string;
|
|
827
|
+
priority: string;
|
|
828
|
+
countAll: number;
|
|
829
|
+
countNew: number;
|
|
830
|
+
countFixed: number;
|
|
831
|
+
}
|
|
832
|
+
export interface AuditCategory {
|
|
833
|
+
key: string;
|
|
834
|
+
errors: AuditError[];
|
|
835
|
+
}
|
|
836
|
+
export interface GetReportWithoutDetailsResponse {
|
|
837
|
+
categories: AuditCategory[];
|
|
838
|
+
}
|
|
839
|
+
export interface ErrorElement {
|
|
840
|
+
startUrl: string;
|
|
841
|
+
code: number;
|
|
842
|
+
finishUrl: string;
|
|
843
|
+
count: number;
|
|
844
|
+
startUrlCrc: number;
|
|
845
|
+
}
|
|
846
|
+
export interface GetErrorElementsResponse {
|
|
847
|
+
data: ErrorElement[];
|
|
848
|
+
totalCount: number;
|
|
849
|
+
mode: string;
|
|
850
|
+
}
|
|
851
|
+
export interface GetSubElementsByCrcResponse {
|
|
852
|
+
data: string[];
|
|
853
|
+
totalCount: number;
|
|
854
|
+
}
|
|
634
855
|
//# sourceMappingURL=serpstat.d.ts.map
|