n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
341 lines • 17.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getBingBulkKeywordDifficulty = getBingBulkKeywordDifficulty;
exports.getBingBulkTrafficEstimation = getBingBulkTrafficEstimation;
exports.getBingCompetitorsDomain = getBingCompetitorsDomain;
exports.getBingDomainIntersection = getBingDomainIntersection;
exports.getBingDomainRankOverview = getBingDomainRankOverview;
exports.getBingPageIntersection = getBingPageIntersection;
exports.getBingRankedKeywords = getBingRankedKeywords;
exports.getBingRelatedKeywords = getBingRelatedKeywords;
exports.getBingRelevantPages = getBingRelevantPages;
exports.getBingSerpCompetitors = getBingSerpCompetitors;
exports.getBingSubdomains = getBingSubdomains;
const n8n_workflow_1 = require("n8n-workflow");
const generalFunctions_1 = require("../../../functions/generalFunctions");
const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest");
async function getBingBulkKeywordDifficulty(ef, i) {
const keywords = ef.getNodeParameter('keywords', i);
const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
const params = {
url: '/dataforseo_labs/bing/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 getBingBulkTrafficEstimation(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/bing/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,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingCompetitorsDomain(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 intersectingDomains = ef.getNodeParameter('intersecting_domains', i);
const parsedIntersectingDomains = (0, generalFunctions_1.parseMultiOptionItems)(intersectingDomains);
const itemTypes = ef.getNodeParameter('item_types', i);
const params = {
url: '/dataforseo_labs/bing/competitors_domain/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
item_types: itemTypes.length ? itemTypes : null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
max_rank_group: ef.getNodeParameter('max_rank_group', i) || null,
exclude_top_domains: ef.getNodeParameter('exclude_top_domains', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
intersecting_domains: parsedIntersectingDomains.length ? parsedIntersectingDomains : null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingDomainIntersection(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 params = {
url: '/dataforseo_labs/bing/domain_intersection/live',
body: [{
target1: ef.getNodeParameter('target1', i),
target2: ef.getNodeParameter('target2', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
intersections: ef.getNodeParameter('intersections', i),
item_types: itemTypes.length ? itemTypes : null,
include_serp_info: ef.getNodeParameter('include_serp_info', 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);
}
async function getBingDomainRankOverview(ef, i) {
const params = {
url: '/dataforseo_labs/bing/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,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingPageIntersection(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 excludePages = ef.getNodeParameter('exclude_pages', i);
const parsedExcludePages = (0, generalFunctions_1.parseMultiOptionItems)(excludePages);
const pages = ef.getNodeParameter('pages', i);
const values = pages.values;
let parsedPages = {};
let index;
for (const key in values) {
index = parseInt(key) + 1;
Object.defineProperty(parsedPages, index.toString(), {
value: values[key]['value'],
writable: true,
enumerable: true,
configurable: true
});
}
const itemTypes = ef.getNodeParameter('item_types', i);
const params = {
url: '/dataforseo_labs/bing/page_intersection/live',
body: [{
pages: parsedPages,
exclude_pages: parsedExcludePages.length ? parsedExcludePages : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
item_types: itemTypes.length ? itemTypes : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
include_subdomains: ef.getNodeParameter('include_subdomains', i),
intersection_mode: ef.getNodeParameter('intersection_mode', i) || null,
include_serp_info: ef.getNodeParameter('include_serp_info', i),
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingRankedKeywords(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 params = {
url: '/dataforseo_labs/bing/ranked_keywords/live',
body: [{
target: ef.getNodeParameter('target_any', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
item_types: itemTypes.length ? itemTypes : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
load_rank_absolute: ef.getNodeParameter('load_rank_absolute', i),
historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i) || null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingRelatedKeywords(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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/bing/related_keywords/live',
body: [{
keyword: ef.getNodeParameter('keyword', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
depth: ef.getNodeParameter('depth', i) || null,
include_seed_keyword: ef.getNodeParameter('include_seed_keyword', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
replace_with_core_keyword: ef.getNodeParameter('replace_with_core_keyword', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingRelevantPages(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 params = {
url: '/dataforseo_labs/bing/relevant_pages/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
item_types: itemTypes.length ? itemTypes : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null,
historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getBingSerpCompetitors(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 keywords = ef.getNodeParameter('keywords_200', i);
const parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
const itemTypes = ef.getNodeParameter('item_types', i);
const params = {
url: '/dataforseo_labs/bing/serp_competitors/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
include_subdomains: ef.getNodeParameter('include_subdomains', i),
item_types: itemTypes.length ? itemTypes : null,
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);
}
async function getBingSubdomains(ef, i) {
const orderBy = ef.getNodeParameter('order_by', 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 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 params = {
url: '/dataforseo_labs/bing/subdomains/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
item_types: itemTypes.length ? itemTypes : null,
historical_serp_mode: ef.getNodeParameter('historical_serp_mode', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
//# sourceMappingURL=bing.js.map