UNPKG

n8n-nodes-apolloio

Version:

n8n node for Apollo.io - Search, Enrich, and Prospect People & Organizations via API

192 lines 9.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enrichOrganization = enrichOrganization; exports.bulkEnrichOrganizations = bulkEnrichOrganizations; exports.searchOrganizations = searchOrganizations; const n8n_workflow_1 = require("n8n-workflow"); const transport_1 = require("../transport"); const utils_1 = require("../utils"); async function enrichOrganization() { const items = this.getInputData(); const returnData = []; for (let i = 0; i < items.length; i++) { try { const domain = this.getNodeParameter('organizationDomain', i); const orgId = this.getNodeParameter('organizationId', i); if (!domain) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Organization domain is required', { itemIndex: i, }); } const qs = { domain }; if (orgId) qs.id = orgId; const response = await transport_1.apiRequest.call(this, 'GET', '/organizations/enrich', {}, qs); returnData.push({ json: response.organization }); } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return returnData; } async function bulkEnrichOrganizations() { const domainsJson = this.getNodeParameter('organizationDomainsJson', 0); let domainsArray; try { domainsArray = JSON.parse(domainsJson); } catch { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid JSON for organization domains'); } if (!Array.isArray(domainsArray) || domainsArray.length < 1 || domainsArray.length > 10) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Organization domains array must contain between 1 and 10 items'); } if (!domainsArray.every((domain) => typeof domain === 'string')) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Organization domains array must contain only strings'); } const response = await transport_1.apiRequest.call(this, 'POST', '/organizations/bulk_enrich', { domains: domainsArray, }); return this.helpers.returnJsonArray(response.organizations); } async function searchOrganizations() { const items = this.getInputData(); const returnData = []; for (let i = 0; i < items.length; i++) { try { const organizationNumEmployeesRanges = this.getNodeParameter('organizationNumEmployeesRanges', i); const organizationLocations = this.getNodeParameter('organizationLocations', i); const organizationNotLocations = this.getNodeParameter('organizationNotLocations', i); const revenueRangeMin = this.getNodeParameter('revenueRangeMin', i); const revenueRangeMax = this.getNodeParameter('revenueRangeMax', i); const qOrganizationKeywordTags = this.getNodeParameter('qOrganizationKeywordTags', i); const currentlyUsingAnyOfTechnologyUids = this.getNodeParameter('currentlyUsingAnyOfTechnologyUids', i); const qOrganizationName = this.getNodeParameter('qOrganizationName', i); const organizationIds = this.getNodeParameter('organizationIds', i); const latestFundingAmountRangeMin = this.getNodeParameter('latestFundingAmountRangeMin', i); const latestFundingAmountRangeMax = this.getNodeParameter('latestFundingAmountRangeMax', i); const totalFundingRangeMin = this.getNodeParameter('totalFundingRangeMin', i); const totalFundingRangeMax = this.getNodeParameter('totalFundingRangeMax', i); const latestFundingDateRangeMin = this.getNodeParameter('latestFundingDateRangeMin', i); const latestFundingDateRangeMax = this.getNodeParameter('latestFundingDateRangeMax', i); const qOrganizationJobTitles = this.getNodeParameter('qOrganizationJobTitles', i); const organizationJobLocations = this.getNodeParameter('organizationJobLocations', i); const organizationNumJobsRangeMin = this.getNodeParameter('organizationNumJobsRangeMin', i); const organizationNumJobsRangeMax = this.getNodeParameter('organizationNumJobsRangeMax', i); const organizationJobPostedAtRangeMin = this.getNodeParameter('organizationJobPostedAtRangeMin', i); const organizationJobPostedAtRangeMax = this.getNodeParameter('organizationJobPostedAtRangeMax', i); const page = this.getNodeParameter('page', i); const perPage = this.getNodeParameter('perPage', i); const body = { page, per_page: perPage, }; if (organizationNumEmployeesRanges) { body.organization_num_employees_ranges = (0, utils_1.splitAndTrim)(organizationNumEmployeesRanges); } if (organizationLocations) { body.organization_locations = (0, utils_1.splitAndTrim)(organizationLocations); } if (organizationNotLocations) { body.organization_not_locations = (0, utils_1.splitAndTrim)(organizationNotLocations); } if (revenueRangeMin) { body.revenue_range = { ...body.revenue_range, min: revenueRangeMin }; } if (revenueRangeMax) { body.revenue_range = { ...body.revenue_range, max: revenueRangeMax }; } if (qOrganizationKeywordTags) { body.q_organization_keyword_tags = (0, utils_1.splitAndTrim)(qOrganizationKeywordTags); } if (currentlyUsingAnyOfTechnologyUids) { body.currently_using_any_of_technology_uids = (0, utils_1.splitAndTrim)(currentlyUsingAnyOfTechnologyUids); } if (qOrganizationName) { body.q_organization_name = qOrganizationName; } if (organizationIds) { body.organization_ids = (0, utils_1.splitAndTrim)(organizationIds); } if (latestFundingAmountRangeMin) { body.latest_funding_amount_range = { ...body.latest_funding_amount_range, min: latestFundingAmountRangeMin, }; } if (latestFundingAmountRangeMax) { body.latest_funding_amount_range = { ...body.latest_funding_amount_range, max: latestFundingAmountRangeMax, }; } if (totalFundingRangeMin) { body.total_funding_range = { ...body.total_funding_range, min: totalFundingRangeMin }; } if (totalFundingRangeMax) { body.total_funding_range = { ...body.total_funding_range, max: totalFundingRangeMax }; } if (latestFundingDateRangeMin) { body.latest_funding_date_range = { ...body.latest_funding_date_range, min: latestFundingDateRangeMin, }; } if (latestFundingDateRangeMax) { body.latest_funding_date_range = { ...body.latest_funding_date_range, max: latestFundingDateRangeMax, }; } if (qOrganizationJobTitles) { body.q_organization_job_titles = (0, utils_1.splitAndTrim)(qOrganizationJobTitles); } if (organizationJobLocations) { body.organization_job_locations = (0, utils_1.splitAndTrim)(organizationJobLocations); } if (organizationNumJobsRangeMin) { body.organization_num_jobs_range = { ...body.organization_num_jobs_range, min: organizationNumJobsRangeMin, }; } if (organizationNumJobsRangeMax) { body.organization_num_jobs_range = { ...body.organization_num_jobs_range, max: organizationNumJobsRangeMax, }; } if (organizationJobPostedAtRangeMin) { body.organization_job_posted_at_range = { ...body.organization_job_posted_at_range, min: organizationJobPostedAtRangeMin, }; } if (organizationJobPostedAtRangeMax) { body.organization_job_posted_at_range = { ...body.organization_job_posted_at_range, max: organizationJobPostedAtRangeMax, }; } const response = await transport_1.apiRequest.call(this, 'POST', '/mixed_companies/search', body); const organizations = (response === null || response === void 0 ? void 0 : response.organizations) || (response === null || response === void 0 ? void 0 : response.accounts) || []; for (const org of organizations) { returnData.push({ json: org }); } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return returnData; } //# sourceMappingURL=Organization.js.map