@bedrijfsdatanl/n8n-nodes-prospectpro
Version:
n8n node for ProspectPro - Identify Dutch B2B ProspectPro in rapid time
95 lines • 4.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.apiRequest = apiRequest;
exports.getProspectProTags = getProspectProTags;
exports.getProspectProAudiences = getProspectProAudiences;
exports.getProspectProOwners = getProspectProOwners;
const n8n_workflow_1 = require("n8n-workflow");
async function apiRequest(method, endpoint, body = {}, query) {
query = query || {};
query.front = 30;
const options = {
method,
body,
qs: query,
uri: `https://api.prospectpro.nl/v1.2/${endpoint.startsWith('/') ? endpoint.substring(1) : endpoint}`,
json: true,
};
if (method === 'GET') {
delete options.body;
}
return await this.helpers.requestWithAuthentication.call(this, 'prospectproApi', options);
}
async function getProspectProTags() {
try {
const response = await apiRequest.call(this, 'GET', 'prospects', {}, {
taglist: 'map',
});
if ((response === null || response === void 0 ? void 0 : response.tags) && response.status === 'ok' && Object.keys(response.tags).length > 0) {
return Object.entries(response.tags).map(([key, count]) => ({
name: `${key} (${count})`,
value: key,
}));
}
else {
const errorMessage = (response === null || response === void 0 ? void 0 : response.message) || 'Unexpected API response from /prospects endpoint (for tags)';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to fetch tags: ${errorMessage}. Response: ${JSON.stringify(response)}`);
}
}
catch (error) {
if (error instanceof n8n_workflow_1.NodeOperationError) {
throw error;
}
const message = error.message || 'Unknown error during API request for tags';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Error fetching tags: ${message}`);
}
}
async function getProspectProAudiences() {
var _a;
try {
const response = await apiRequest.call(this, 'GET', 'audiences', {}, {
add_stats: 0,
});
if (response.status === 'ok' && ((_a = response === null || response === void 0 ? void 0 : response.audiences) === null || _a === void 0 ? void 0 : _a.length) > 0) {
return response.audiences.map(audience => ({
name: audience.name,
value: audience.qid,
}));
}
else {
const errorMessage = (response === null || response === void 0 ? void 0 : response.message) || 'Unexpected API response from /audiences endpoint';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to fetch audiences: ${errorMessage}. Response: ${JSON.stringify(response)}`);
}
}
catch (error) {
if (error instanceof n8n_workflow_1.NodeOperationError) {
throw error;
}
const message = error.message || 'Unknown error during API request for audiences';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Error fetching audiences: ${message}`);
}
}
async function getProspectProOwners() {
var _a;
try {
const response = await apiRequest.call(this, 'GET', 'user', {}, {});
if (response.status === 'ok' && ((_a = response === null || response === void 0 ? void 0 : response.users) === null || _a === void 0 ? void 0 : _a.length) > 0) {
return response.users.map(user => ({
name: user.email || user.name || user.uid,
value: user.uid,
}));
}
else {
const errorMessage = (response === null || response === void 0 ? void 0 : response.message) || 'Unexpected API response from /user endpoint (for owners)';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to fetch owners: ${errorMessage}. Response: ${JSON.stringify(response)}`);
}
}
catch (error) {
if (error instanceof n8n_workflow_1.NodeOperationError) {
throw error;
}
const message = error.message || 'Unknown error during API request for owners';
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Error fetching owners: ${message}`);
}
}
//# sourceMappingURL=GenericFunctions.js.map