n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
163 lines • 8.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDomainRankOverview = getDomainRankOverview;
exports.getKeywordSuggestions = getKeywordSuggestions;
exports.getRankedKeywords = getRankedKeywords;
exports.getKeywordDifficulty = getKeywordDifficulty;
exports.getOrganicTrafficStats = getOrganicTrafficStats;
exports.getHistorycalTrafficStats = getHistorycalTrafficStats;
exports.getKeywordIdeas = getKeywordIdeas;
const n8n_workflow_1 = require("n8n-workflow");
const generalFunctions_1 = require("../../../functions/generalFunctions");
const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest");
async function getDomainRankOverview(ef, i) {
const params = {
url: '/dataforseo_labs/google/domain_rank_overview/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getKeywordSuggestions(ef, i) {
const orderBy = ef.getNodeParameter('order_by', i);
if (orderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const params = {
url: '/dataforseo_labs/google/keyword_suggestions/live',
body: [{
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
keyword: ef.getNodeParameter('keyword', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
order_by: orderBy.length ? orderBy : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
include_serp_info: ef.getNodeParameter('include_serp_info', i),
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getRankedKeywords(ef, i) {
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const itemTypes = ef.getNodeParameter('item_types', i);
const orderBy = ef.getNodeParameter('order_by_ranked', i);
if (orderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const params = {
url: '/dataforseo_labs/google/ranked_keywords/live',
body: [{
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
target: ef.getNodeParameter('target', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
item_types: itemTypes.length ? itemTypes : null,
order_by: orderBy.length ? orderBy : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getKeywordDifficulty(ef, i) {
const keywords = ef.getNodeParameter('keywords', i);
const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
const params = {
url: '/dataforseo_labs/google/bulk_keyword_difficulty/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getOrganicTrafficStats(ef, i) {
const targets = ef.getNodeParameter('targets', i);
const parsedTargets = (0, generalFunctions_1.parseMultiOptionItems)(targets);
const itemTypes = ef.getNodeParameter('item_types', i);
const params = {
url: '/dataforseo_labs/google/bulk_traffic_estimation/live',
body: [{
targets: parsedTargets.length ? parsedTargets : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
item_types: itemTypes.length ? itemTypes : null,
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getHistorycalTrafficStats(ef, i) {
const targets = ef.getNodeParameter('targets', i);
const parsedTargets = (0, generalFunctions_1.parseMultiOptionItems)(targets);
const itemTypes = ef.getNodeParameter('item_types', i);
const params = {
url: '/dataforseo_labs/google/historical_bulk_traffic_estimation/live',
body: [{
targets: parsedTargets.length ? parsedTargets : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
item_types: itemTypes.length ? itemTypes : null,
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getKeywordIdeas(ef, i) {
const keywords = ef.getNodeParameter('keywords_ideas', i);
const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const orderBy = ef.getNodeParameter('order_by_string', i);
const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy);
if (parsedOrderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const params = {
url: '/dataforseo_labs/google/keyword_ideas/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
closely_variants: ef.getNodeParameter('closely_variants', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
//# sourceMappingURL=labs.js.map