n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
757 lines • 37.6 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getKeywordsForSite = getKeywordsForSite;
exports.getRelatedKeywords = getRelatedKeywords;
exports.getKeywordSuggestions = getKeywordSuggestions;
exports.getKeywordIdeas = getKeywordIdeas;
exports.getKeywordDifficulty = getKeywordDifficulty;
exports.getSearchIntent = getSearchIntent;
exports.getKeywordOverview = getKeywordOverview;
exports.getHistoricalKeywordData = getHistoricalKeywordData;
exports.getCategoriesForDomain = getCategoriesForDomain;
exports.getCategoriesForKeywords = getCategoriesForKeywords;
exports.getKeywordsForCategories = getKeywordsForCategories;
exports.getDomainMetricsByCtaegories = getDomainMetricsByCtaegories;
exports.getTopSearches = getTopSearches;
exports.getSerpCompetitors = getSerpCompetitors;
exports.getRankedKeywords = getRankedKeywords;
exports.getCompetitorsDomain = getCompetitorsDomain;
exports.getDomainIntersection = getDomainIntersection;
exports.getSubdomains = getSubdomains;
exports.getRelevantPages = getRelevantPages;
exports.getDomainRankOverview = getDomainRankOverview;
exports.getHistoricalSerps = getHistoricalSerps;
exports.getHistoricalRankOverview = getHistoricalRankOverview;
exports.getPageIntersection = getPageIntersection;
exports.getBulkTrafficEstimation = getBulkTrafficEstimation;
exports.getHistoricalBulkTrafficEstimation = getHistoricalBulkTrafficEstimation;
const n8n_workflow_1 = require("n8n-workflow");
const generalFunctions_1 = require("../../../functions/generalFunctions");
const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest");
async function getKeywordsForSite(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/google/keywords_for_site/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name', i) || null,
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_subdomains: ef.getNodeParameter('include_subdomains', 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);
}
async function getRelatedKeywords(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/google/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),
include_seed_keyword: ef.getNodeParameter('include_seed_keyword', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
replace_with_core_keyword: ef.getNodeParameter('replace_with_core_keyword', 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 getKeywordSuggestions(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/google/keyword_suggestions/live',
body: [{
keyword: ef.getNodeParameter('keyword', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
include_seed_keyword: ef.getNodeParameter('include_seed_keyword', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
exact_match: ef.getNodeParameter('exact_match', 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 getKeywordIdeas(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 input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_200', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_200_json', i);
}
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', i) || null,
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_ideas', 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 getKeywordDifficulty(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_1000', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_1000_json', i);
}
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 getSearchIntent(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_1000', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_1000_json', i);
}
const params = {
url: '/dataforseo_labs/google/search_intent/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
language_name: ef.getNodeParameter('language_name_required', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getKeywordOverview(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_700', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_700_json', i);
}
const params = {
url: '/dataforseo_labs/google/keyword_overview/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getHistoricalKeywordData(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_700', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_700_json', i);
}
const params = {
url: '/dataforseo_labs/google/historical_keyword_data/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 getCategoriesForDomain(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/google/categories_for_domain/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
include_subcategories: ef.getNodeParameter('include_subcategories', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', 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
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getCategoriesForKeywords(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_1000', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_1000_json', i);
}
const params = {
url: '/dataforseo_labs/google/categories_for_keywords/live',
body: [{
keywords: parsedKeywords.length ? parsedKeywords : null,
language_name: ef.getNodeParameter('language_name_categories_for_keywords', i),
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getKeywordsForCategories(ef, i) {
const categories = ef.getNodeParameter('category_codes', i);
const parsedCategories = (0, generalFunctions_1.parseMultiOptionItems)(categories);
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/google/keywords_for_categories/live',
body: [{
category_codes: parsedCategories.length ? parsedCategories : null,
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
category_intersection: ef.getNodeParameter('category_intersection', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', 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 getDomainMetricsByCtaegories(ef, i) {
const categories = ef.getNodeParameter('category_codes_5', i);
const parsedCategories = (0, generalFunctions_1.parseMultiOptionItems)(categories);
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/google/domain_metrics_by_categories/live',
body: [{
category_codes: parsedCategories.length ? parsedCategories : null,
first_date: ef.getNodeParameter('first_date', i),
second_date: ef.getNodeParameter('second_date', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
item_types: itemTypes.length ? itemTypes : null,
top_categories_count: ef.getNodeParameter('top_categories_count', i) || null,
include_subdomains: ef.getNodeParameter('include_subdomains', i),
etv_min: ef.getNodeParameter('etv_min', i) || null,
etv_max: ef.getNodeParameter('etv_max', i) || null,
correlate: ef.getNodeParameter('correlate', 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 getTopSearches(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/google/top_searches/live',
body: [{
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
include_serp_info: ef.getNodeParameter('include_serp_info', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit_top_searches', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getSerpCompetitors(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedKeywords;
if (input_mode == 'manual') {
const keywords = ef.getNodeParameter('keywords_200', i);
parsedKeywords = (0, generalFunctions_1.parseMultiOptionItems)(keywords);
}
else {
parsedKeywords = ef.getNodeParameter('keywords_200_json', 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/google/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,
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 getRankedKeywords(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/google/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,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
item_types: itemTypes.length ? itemTypes : null,
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', 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 getCompetitorsDomain(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/google/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,
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
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),
intersecting_domains: parsedIntersectingDomains.length ? parsedIntersectingDomains : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getDomainIntersection(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/google/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),
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);
}
async function getSubdomains(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/google/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,
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
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);
}
async function getRelevantPages(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/google/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,
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i),
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);
}
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 getHistoricalSerps(ef, i) {
const params = {
url: '/dataforseo_labs/google/historical_serps/live',
body: [{
keyword: ef.getNodeParameter('keyword', i),
date_from: ef.getNodeParameter('date_from', i) || null,
date_to: ef.getNodeParameter('date_to', i) || 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 getHistoricalRankOverview(ef, i) {
const params = {
url: '/dataforseo_labs/google/historical_rank_overview/live',
body: [{
target: ef.getNodeParameter('target', i),
location_name: ef.getNodeParameter('location_name_required', i),
language_name: ef.getNodeParameter('language_name_required', i),
date_from: ef.getNodeParameter('date_from', i) || null,
date_to: ef.getNodeParameter('date_to', i) || null,
correlate: ef.getNodeParameter('correlate', i),
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getPageIntersection(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/google/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,
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),
include_clickstream_data: ef.getNodeParameter('include_clickstream_data', 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 getBulkTrafficEstimation(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedTargets;
if (input_mode == 'manual') {
const targets = ef.getNodeParameter('targets', i);
parsedTargets = (0, generalFunctions_1.parseMultiOptionItems)(targets);
}
else {
parsedTargets = ef.getNodeParameter('targets_json', i);
}
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', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
item_types: itemTypes.length ? itemTypes : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getHistoricalBulkTrafficEstimation(ef, i) {
const input_mode = ef.getNodeParameter('input_mode', i) || 'manual';
let parsedTargets;
if (input_mode == 'manual') {
const targets = ef.getNodeParameter('targets', i);
parsedTargets = (0, generalFunctions_1.parseMultiOptionItems)(targets);
}
else {
parsedTargets = ef.getNodeParameter('targets_json', i);
}
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', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
date_from: ef.getNodeParameter('date_from', i) || null,
dae_to: ef.getNodeParameter('date_to', i) || null,
item_types: itemTypes.length ? itemTypes : null,
ignore_synonyms: ef.getNodeParameter('ignore_synonyms', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
//# sourceMappingURL=google.js.map