@replyio/n8n-nodes-reply 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/nodes/Reply/ReplyTrigger.node.js +8 -26
- package/dist/nodes/Reply/ReplyTrigger.node.js.map +1 -1
- package/dist/nodes/Reply/actions/contact/create.operation.js +20 -3
- package/dist/nodes/Reply/actions/contact/create.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/contact/delete.operation.js +1 -11
- package/dist/nodes/Reply/actions/contact/delete.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/contact/get.operation.js +35 -0
- package/dist/nodes/Reply/actions/contact/get.operation.js.map +1 -0
- package/dist/nodes/Reply/actions/contact/index.d.ts +2 -4
- package/dist/nodes/Reply/actions/contact/index.js +91 -199
- package/dist/nodes/Reply/actions/contact/index.js.map +1 -1
- package/dist/nodes/Reply/actions/contact/update.operation.js +26 -64
- package/dist/nodes/Reply/actions/contact/update.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/contactStatus/clearStatus.operation.js +39 -0
- package/dist/nodes/Reply/actions/contactStatus/clearStatus.operation.js.map +1 -0
- package/dist/nodes/Reply/actions/contactStatus/index.d.ts +4 -20
- package/dist/nodes/Reply/actions/contactStatus/index.js +141 -102
- package/dist/nodes/Reply/actions/contactStatus/index.js.map +1 -1
- package/dist/nodes/Reply/actions/contactStatus/statusHelper.d.ts +1 -3
- package/dist/nodes/Reply/actions/contactStatus/statusHelper.js +3 -69
- package/dist/nodes/Reply/actions/contactStatus/statusHelper.js.map +1 -1
- package/dist/nodes/Reply/actions/contactStatus/updateStatus.operation.js +35 -0
- package/dist/nodes/Reply/actions/contactStatus/updateStatus.operation.js.map +1 -0
- package/dist/nodes/Reply/actions/sequence/addContact.operation.js +45 -25
- package/dist/nodes/Reply/actions/sequence/addContact.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/archive.operation.js +1 -11
- package/dist/nodes/Reply/actions/sequence/archive.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/get.operation.js +10 -0
- package/dist/nodes/Reply/actions/sequence/get.operation.js.map +1 -0
- package/dist/nodes/Reply/actions/sequence/getAll.operation.js +4 -0
- package/dist/nodes/Reply/actions/sequence/getAll.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/getContacts.operation.js +1 -11
- package/dist/nodes/Reply/actions/sequence/getContacts.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/index.d.ts +2 -2
- package/dist/nodes/Reply/actions/sequence/index.js +103 -100
- package/dist/nodes/Reply/actions/sequence/index.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/pause.operation.js +1 -11
- package/dist/nodes/Reply/actions/sequence/pause.operation.js.map +1 -1
- package/dist/nodes/Reply/actions/sequence/start.operation.js +1 -11
- package/dist/nodes/Reply/actions/sequence/start.operation.js.map +1 -1
- package/dist/nodes/Reply/utils/GenericFunctions.d.ts +8 -0
- package/dist/nodes/Reply/utils/GenericFunctions.js +76 -0
- package/dist/nodes/Reply/utils/GenericFunctions.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/nodes/Reply/actions/contact/getByEmail.operation.js +0 -23
- package/dist/nodes/Reply/actions/contact/getByEmail.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contact/getById.operation.js +0 -20
- package/dist/nodes/Reply/actions/contact/getById.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsActive.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsActive.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsBounced.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsBounced.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsCalled.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsCalled.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsCalled.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsFinished.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsFinished.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsFinished.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsMeetingBooked.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsMeetingBooked.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsMeetingBooked.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsOptedOut.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsOptedOut.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsOptedOut.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsOutOfOffice.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsOutOfOffice.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsOutOfOffice.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsPaused.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsPaused.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsPaused.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsReplied.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsReplied.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsReplied.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/contactStatus/markAsToCall.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/contactStatus/markAsToCall.operation.js +0 -8
- package/dist/nodes/Reply/actions/contactStatus/markAsToCall.operation.js.map +0 -1
- package/dist/nodes/Reply/actions/sequence/getById.operation.d.ts +0 -2
- package/dist/nodes/Reply/actions/sequence/getById.operation.js +0 -20
- package/dist/nodes/Reply/actions/sequence/getById.operation.js.map +0 -1
- /package/dist/nodes/Reply/actions/contact/{getByEmail.operation.d.ts → get.operation.d.ts} +0 -0
- /package/dist/nodes/Reply/actions/{contact/getById.operation.d.ts → contactStatus/clearStatus.operation.d.ts} +0 -0
- /package/dist/nodes/Reply/actions/contactStatus/{markAsActive.operation.d.ts → updateStatus.operation.d.ts} +0 -0
- /package/dist/nodes/Reply/actions/{contactStatus/markAsBounced.operation.d.ts → sequence/get.operation.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/sequence/pause.operation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pause.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/sequence/pause.operation.ts"],"names":[],"mappings":";;AAIA,0BAWC;AAbD,mEAAkF;AAE3E,KAAK,UAAU,OAAO,CAA0B,CAAS;IAC/D,MAAM,UAAU,GAAG,MAAM,oCAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,MAAM,kCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAU,QAAQ,CAAC,CAAC;IAC/F,OAAO;QACN;YACC,IAAI,EAAE,QAAQ;gBACb,CAAC,CAAE,QAAwB;gBAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE;SAC5D;KACD,CAAC;AACH,CAAC"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.execute = execute;
|
|
4
|
-
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
4
|
const GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
6
|
-
const validation_1 = require("../../utils/validation");
|
|
7
5
|
async function execute(i) {
|
|
8
|
-
const sequenceId =
|
|
9
|
-
try {
|
|
10
|
-
(0, validation_1.validateSequenceId)(sequenceId);
|
|
11
|
-
}
|
|
12
|
-
catch (validationError) {
|
|
13
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), validationError.message, {
|
|
14
|
-
itemIndex: i,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
6
|
+
const sequenceId = await GenericFunctions_1.resolveSequenceId.call(this, 'sequenceId', i);
|
|
17
7
|
const response = await GenericFunctions_1.replyApiRequest.call(this, 'POST', `/v3/sequences/${sequenceId}/start`);
|
|
18
8
|
return [
|
|
19
9
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/sequence/start.operation.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"start.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/sequence/start.operation.ts"],"names":[],"mappings":";;AAIA,0BAWC;AAbD,mEAAkF;AAE3E,KAAK,UAAU,OAAO,CAA0B,CAAS;IAC/D,MAAM,UAAU,GAAG,MAAM,oCAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,MAAM,kCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,UAAU,QAAQ,CAAC,CAAC;IAC/F,OAAO;QACN;YACC,IAAI,EAAE,QAAQ;gBACb,CAAC,CAAE,QAAwB;gBAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE;SAC7D;KACD,CAAC;AACH,CAAC"}
|
|
@@ -2,4 +2,12 @@ import type { IDataObject, IExecuteFunctions, IHookFunctions, ILoadOptionsFuncti
|
|
|
2
2
|
type ReplyApiContext = IExecuteFunctions | IWebhookFunctions | IHookFunctions | ILoadOptionsFunctions;
|
|
3
3
|
export declare function replyApiRequest<T = unknown>(this: ReplyApiContext, method: IHttpRequestMethods, endpoint: string, body?: IDataObject, qs?: IDataObject, headers?: IDataObject): Promise<T>;
|
|
4
4
|
export declare function replyWebhookApiRequest<T = unknown>(this: ReplyApiContext, method: IHttpRequestMethods, endpoint: string, body?: IDataObject): Promise<T>;
|
|
5
|
+
export declare function resolveSequenceId(this: IExecuteFunctions, parameterName: string, itemIndex: number): Promise<number>;
|
|
6
|
+
export interface ContactLookupResult {
|
|
7
|
+
found: boolean;
|
|
8
|
+
contactId?: number;
|
|
9
|
+
contact?: IDataObject;
|
|
10
|
+
}
|
|
11
|
+
export declare function lookupContactByEmailOrLinkedIn(ctx: IExecuteFunctions, i: number, email?: string, linkedIn?: string): Promise<ContactLookupResult>;
|
|
12
|
+
export declare function resolveContactId(ctx: IExecuteFunctions, i: number): Promise<number>;
|
|
5
13
|
export {};
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replyApiRequest = replyApiRequest;
|
|
4
4
|
exports.replyWebhookApiRequest = replyWebhookApiRequest;
|
|
5
|
+
exports.resolveSequenceId = resolveSequenceId;
|
|
6
|
+
exports.lookupContactByEmailOrLinkedIn = lookupContactByEmailOrLinkedIn;
|
|
7
|
+
exports.resolveContactId = resolveContactId;
|
|
5
8
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
9
|
const publicUrls_1 = require("../../../publicUrls");
|
|
7
10
|
async function makeRequest(options) {
|
|
@@ -60,6 +63,79 @@ async function replyWebhookApiRequest(method, endpoint, body) {
|
|
|
60
63
|
body,
|
|
61
64
|
});
|
|
62
65
|
}
|
|
66
|
+
async function resolveSequenceId(parameterName, itemIndex) {
|
|
67
|
+
const mode = this.getNodeParameter(`${parameterName}.mode`, itemIndex);
|
|
68
|
+
const value = this.getNodeParameter(parameterName, itemIndex, undefined, {
|
|
69
|
+
extractValue: true,
|
|
70
|
+
});
|
|
71
|
+
if (mode === 'list' || mode === 'id') {
|
|
72
|
+
return typeof value === 'string' ? parseInt(value, 10) : value;
|
|
73
|
+
}
|
|
74
|
+
if (mode === 'name') {
|
|
75
|
+
const response = (await replyApiRequest.call(this, 'GET', '/v3/sequences', undefined, {
|
|
76
|
+
name: value,
|
|
77
|
+
top: 1,
|
|
78
|
+
}));
|
|
79
|
+
const sequences = response.items || [];
|
|
80
|
+
if (sequences.length === 0) {
|
|
81
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
82
|
+
message: `Sequence with name "${value}" not found`,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return sequences[0].id;
|
|
86
|
+
}
|
|
87
|
+
return typeof value === 'string' ? parseInt(value, 10) : value;
|
|
88
|
+
}
|
|
89
|
+
async function lookupContactByEmailOrLinkedIn(ctx, i, email, linkedIn) {
|
|
90
|
+
if (!email && !linkedIn) {
|
|
91
|
+
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Either email or LinkedIn is required', {
|
|
92
|
+
itemIndex: i,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
const qs = {};
|
|
96
|
+
if (email)
|
|
97
|
+
qs.email = email;
|
|
98
|
+
else if (linkedIn)
|
|
99
|
+
qs.linkedIn = linkedIn;
|
|
100
|
+
const response = (await replyApiRequest.call(ctx, 'GET', '/v3/contacts', undefined, qs));
|
|
101
|
+
const contacts = response.items || [];
|
|
102
|
+
if (contacts.length === 0) {
|
|
103
|
+
return { found: false };
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
found: true,
|
|
107
|
+
contactId: contacts[0].id,
|
|
108
|
+
contact: contacts[0],
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
async function resolveContactId(ctx, i) {
|
|
112
|
+
const contactLocator = ctx.getNodeParameter('contactLocator', i, undefined, {
|
|
113
|
+
extractValue: true,
|
|
114
|
+
});
|
|
115
|
+
const locatorMode = ctx.getNodeParameter('contactLocator.mode', i);
|
|
116
|
+
if (locatorMode === 'id') {
|
|
117
|
+
const contactId = parseInt(contactLocator, 10);
|
|
118
|
+
if (isNaN(contactId) || contactId <= 0) {
|
|
119
|
+
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), 'Contact ID must be a positive number', {
|
|
120
|
+
itemIndex: i,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
return contactId;
|
|
124
|
+
}
|
|
125
|
+
const qs = {};
|
|
126
|
+
if (locatorMode === 'email') {
|
|
127
|
+
qs.email = contactLocator;
|
|
128
|
+
}
|
|
129
|
+
else if (locatorMode === 'linkedIn') {
|
|
130
|
+
qs.linkedIn = contactLocator;
|
|
131
|
+
}
|
|
132
|
+
const response = (await replyApiRequest.call(ctx, 'GET', '/v3/contacts', undefined, qs));
|
|
133
|
+
const contacts = response.items || [];
|
|
134
|
+
if (contacts.length === 0) {
|
|
135
|
+
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), `Contact with ${locatorMode} "${contactLocator}" not found`, { itemIndex: i });
|
|
136
|
+
}
|
|
137
|
+
return contacts[0].id;
|
|
138
|
+
}
|
|
63
139
|
function parseReplyApiError(error) {
|
|
64
140
|
var _a, _b;
|
|
65
141
|
const err = error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../../nodes/Reply/utils/GenericFunctions.ts"],"names":[],"mappings":";;AA6EA,0CAgBC;AAED,wDAYC;
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../../nodes/Reply/utils/GenericFunctions.ts"],"names":[],"mappings":"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"}
|