n8n-nodes-apolloio
Version:
n8n node for Apollo.io - Search, Enrich, and Prospect People & Organizations via API
62 lines • 2.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.searchSequences = searchSequences;
exports.addContactsToSequence = addContactsToSequence;
const n8n_workflow_1 = require("n8n-workflow");
const transport_1 = require("../transport");
async function searchSequences() {
const sequenceName = this.getNodeParameter('sequenceName', 0);
const page = this.getNodeParameter('page', 0);
const perPage = this.getNodeParameter('perPage', 0);
const body = {};
if (sequenceName) {
body.q_campaign_name = sequenceName;
}
const response = await transport_1.apiRequest.call(this, 'POST', '/emailer_campaigns/search', body, {
page,
per_page: perPage,
});
return this.helpers.returnJsonArray(response.emailer_campaigns);
}
async function addContactsToSequence() {
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
try {
const sequenceId = this.getNodeParameter('sequenceId', i);
const contactIdsStr = this.getNodeParameter('contactIds', i);
let contactIds;
try {
const parsed = JSON.parse(contactIdsStr);
if (Array.isArray(parsed)) {
contactIds = parsed.map((id) => String(id).trim());
}
else {
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Not an array', { itemIndex: i });
}
}
catch {
contactIds = contactIdsStr
.split(',')
.map((id) => id.trim())
.filter((id) => id);
}
if (!contactIds.length) {
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'No valid contact IDs provided', {
itemIndex: i,
});
}
const response = await transport_1.apiRequest.call(this, 'POST', `/emailer_campaigns/${sequenceId}/add_contact_ids`, { contact_ids: contactIds });
returnData.push({ json: response });
}
catch (error) {
if (this.continueOnFail()) {
returnData.push({ json: { error: error.message } });
continue;
}
throw error;
}
}
return returnData;
}
//# sourceMappingURL=Sequence.js.map