@replyio/n8n-nodes-reply 0.4.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/index.js +93 -198
- 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 +111 -104
- 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 +48 -14
- package/dist/nodes/Reply/actions/sequence/addContact.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/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 +82 -118
- package/dist/nodes/Reply/actions/sequence/index.js.map +1 -1
- package/dist/nodes/Reply/utils/GenericFunctions.d.ts +7 -0
- package/dist/nodes/Reply/utils/GenericFunctions.js +52 -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/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.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/contactStatus/{markAsActive.operation.d.ts → clearStatus.operation.d.ts} +0 -0
- /package/dist/nodes/Reply/actions/contactStatus/{markAsBounced.operation.d.ts → updateStatus.operation.d.ts} +0 -0
- /package/dist/nodes/Reply/actions/{contactStatus/markAsCalled.operation.d.ts → sequence/get.operation.d.ts} +0 -0
|
@@ -5,35 +5,26 @@ const n8n_workflow_1 = require("n8n-workflow");
|
|
|
5
5
|
const GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
6
6
|
const validation_1 = require("../../utils/validation");
|
|
7
7
|
async function execute(i) {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
catch (validationError) {
|
|
30
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), validationError.message, {
|
|
31
|
-
itemIndex: i,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
const email = this.getNodeParameter('email', i);
|
|
8
|
+
const contactId = await (0, GenericFunctions_1.resolveContactId)(this, i);
|
|
9
|
+
const firstName = this.getNodeParameter('firstName', i, '');
|
|
10
|
+
const lastName = this.getNodeParameter('lastName', i, '');
|
|
11
|
+
const email = this.getNodeParameter('updateEmail', i, '');
|
|
12
|
+
const linkedInProfile = this.getNodeParameter('updateLinkedInProfile', i, '');
|
|
13
|
+
const phone = this.getNodeParameter('phone', i, '');
|
|
14
|
+
const company = this.getNodeParameter('company', i, '');
|
|
15
|
+
const additionalFields = this.getNodeParameter('additionalFields', i, {});
|
|
16
|
+
const updateFields = { ...additionalFields };
|
|
17
|
+
if (firstName)
|
|
18
|
+
updateFields.firstName = firstName;
|
|
19
|
+
if (lastName)
|
|
20
|
+
updateFields.lastName = lastName;
|
|
21
|
+
if (phone)
|
|
22
|
+
updateFields.phone = phone;
|
|
23
|
+
if (company)
|
|
24
|
+
updateFields.company = company;
|
|
25
|
+
if (linkedInProfile)
|
|
26
|
+
updateFields.linkedInProfile = linkedInProfile;
|
|
27
|
+
if (email) {
|
|
37
28
|
try {
|
|
38
29
|
(0, validation_1.validateEmail)(email);
|
|
39
30
|
}
|
|
@@ -42,43 +33,14 @@ async function execute(i) {
|
|
|
42
33
|
itemIndex: i,
|
|
43
34
|
});
|
|
44
35
|
}
|
|
45
|
-
|
|
46
|
-
if (!contacts || contacts.length === 0) {
|
|
47
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Contact with email "${email}" not found`, { itemIndex: i });
|
|
48
|
-
}
|
|
49
|
-
contactId = contacts[0].id;
|
|
36
|
+
updateFields.email = email;
|
|
50
37
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
'addingDate',
|
|
56
|
-
'firstName',
|
|
57
|
-
'lastName',
|
|
58
|
-
'phone',
|
|
59
|
-
'title',
|
|
60
|
-
'company',
|
|
61
|
-
'companySize',
|
|
62
|
-
'industry',
|
|
63
|
-
'linkedInProfile',
|
|
64
|
-
'linkedInSalesNavigator',
|
|
65
|
-
'linkedInRecruiter',
|
|
66
|
-
'city',
|
|
67
|
-
'state',
|
|
68
|
-
'country',
|
|
69
|
-
'timeZone',
|
|
70
|
-
'phoneStatus',
|
|
71
|
-
'notes',
|
|
72
|
-
'customFields',
|
|
73
|
-
];
|
|
74
|
-
const filteredContact = {};
|
|
75
|
-
for (const field of allowedFields) {
|
|
76
|
-
if (existingContact[field] !== undefined) {
|
|
77
|
-
filteredContact[field] = existingContact[field];
|
|
78
|
-
}
|
|
38
|
+
if (Object.keys(updateFields).length === 0) {
|
|
39
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'At least one field is required to update', {
|
|
40
|
+
itemIndex: i,
|
|
41
|
+
});
|
|
79
42
|
}
|
|
80
|
-
const
|
|
81
|
-
const response = await GenericFunctions_1.replyApiRequest.call(this, 'PATCH', `/v3/contacts/${contactId}`, mergedContact);
|
|
43
|
+
const response = await GenericFunctions_1.replyApiRequest.call(this, 'PATCH', `/v3/contacts/${contactId}`, updateFields);
|
|
82
44
|
return [{ json: response }];
|
|
83
45
|
}
|
|
84
46
|
//# sourceMappingURL=update.operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contact/update.operation.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"update.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contact/update.operation.ts"],"names":[],"mappings":";;AAMA,0BA4CC;AAjDD,+CAAkD;AAElD,mEAAiF;AACjF,uDAAuD;AAEhD,KAAK,UAAU,OAAO,CAA0B,CAAS;IAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IACpE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IACxF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;IAClE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAgB,CAAC;IAEzF,MAAM,YAAY,GAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE1D,IAAI,SAAS;QAAE,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IAClD,IAAI,QAAQ;QAAE,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC/C,IAAI,KAAK;QAAE,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IACtC,IAAI,OAAO;QAAE,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;IAC5C,IAAI,eAAe;QAAE,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;IAEpE,IAAI,KAAK,EAAE,CAAC;QACX,IAAI,CAAC;YACJ,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAG,eAAyB,CAAC,OAAO,EAAE;gBAChF,SAAS,EAAE,CAAC;aACZ,CAAC,CAAC;QACJ,CAAC;QACD,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,0CAA0C,EAAE;YACxF,SAAS,EAAE,CAAC;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,kCAAe,CAAC,IAAI,CAC1C,IAAI,EACJ,OAAO,EACP,gBAAgB,SAAS,EAAE,EAC3B,YAAY,CACZ,CAAC;IAEF,OAAO,CAAC,EAAE,IAAI,EAAE,QAAuB,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.execute = execute;
|
|
4
|
+
const GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
5
|
+
const statusHelper_1 = require("./statusHelper");
|
|
6
|
+
async function execute(i) {
|
|
7
|
+
const contactId = await (0, statusHelper_1.resolveContactId)(this, i);
|
|
8
|
+
const statuses = this.getNodeParameter('statuses', i, []);
|
|
9
|
+
const additionalFields = this.getNodeParameter('additionalFields', i, {});
|
|
10
|
+
const sequenceId = additionalFields.sequenceId
|
|
11
|
+
? await GenericFunctions_1.resolveSequenceId.call(this, 'additionalFields.sequenceId', i)
|
|
12
|
+
: undefined;
|
|
13
|
+
const body = {
|
|
14
|
+
contactIds: [contactId],
|
|
15
|
+
};
|
|
16
|
+
if (statuses.length > 0) {
|
|
17
|
+
body.statuses = statuses;
|
|
18
|
+
}
|
|
19
|
+
if (sequenceId) {
|
|
20
|
+
body.sequenceId = sequenceId;
|
|
21
|
+
}
|
|
22
|
+
const response = await GenericFunctions_1.replyApiRequest.call(this, 'PATCH', '/v3/contacts/status/clear', body);
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
json: response
|
|
26
|
+
? response
|
|
27
|
+
: {
|
|
28
|
+
success: true,
|
|
29
|
+
contactId,
|
|
30
|
+
...(sequenceId && { sequenceId }),
|
|
31
|
+
...(statuses.length > 0 ? { clearedStatuses: statuses } : { clearedAll: true }),
|
|
32
|
+
message: statuses.length > 0
|
|
33
|
+
? `Cleared statuses: ${statuses.join(', ')}`
|
|
34
|
+
: 'Cleared all statuses',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=clearStatus.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearStatus.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/clearStatus.operation.ts"],"names":[],"mappings":";;AAKA,0BAuCC;AA1CD,mEAAkF;AAClF,iDAAkD;AAE3C,KAAK,UAAU,OAAO,CAA0B,CAAS;IAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAa,CAAC;IAEtE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAgB,CAAC;IACzF,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU;QAC7C,CAAC,CAAC,MAAM,oCAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,IAAI,GAAgB;QACzB,UAAU,EAAE,CAAC,SAAS,CAAC;KACvB,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,kCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;IAE9F,OAAO;QACN;YACC,IAAI,EAAE,QAAQ;gBACb,CAAC,CAAE,QAAwB;gBAC3B,CAAC,CAAC;oBACA,OAAO,EAAE,IAAI;oBACb,SAAS;oBACT,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;oBACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;oBAC/E,OAAO,EACN,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAClB,CAAC,CAAC,qBAAqB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC5C,CAAC,CAAC,sBAAsB;iBAC1B;SACH;KACD,CAAC;AACH,CAAC"}
|
|
@@ -1,24 +1,8 @@
|
|
|
1
1
|
import type { INodeProperties } from 'n8n-workflow';
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
4
|
-
import * as markAsCalled from './markAsCalled.operation';
|
|
5
|
-
import * as markAsFinished from './markAsFinished.operation';
|
|
6
|
-
import * as markAsMeetingBooked from './markAsMeetingBooked.operation';
|
|
7
|
-
import * as markAsOptedOut from './markAsOptedOut.operation';
|
|
8
|
-
import * as markAsOutOfOffice from './markAsOutOfOffice.operation';
|
|
9
|
-
import * as markAsPaused from './markAsPaused.operation';
|
|
10
|
-
import * as markAsReplied from './markAsReplied.operation';
|
|
11
|
-
import * as markAsToCall from './markAsToCall.operation';
|
|
2
|
+
import * as clearStatus from './clearStatus.operation';
|
|
3
|
+
import * as updateStatus from './updateStatus.operation';
|
|
12
4
|
export declare const operations: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
markAsCalled: typeof markAsCalled;
|
|
16
|
-
markAsFinished: typeof markAsFinished;
|
|
17
|
-
markAsMeetingBooked: typeof markAsMeetingBooked;
|
|
18
|
-
markAsOptedOut: typeof markAsOptedOut;
|
|
19
|
-
markAsOutOfOffice: typeof markAsOutOfOffice;
|
|
20
|
-
markAsPaused: typeof markAsPaused;
|
|
21
|
-
markAsReplied: typeof markAsReplied;
|
|
22
|
-
markAsToCall: typeof markAsToCall;
|
|
5
|
+
clearStatus: typeof clearStatus;
|
|
6
|
+
updateStatus: typeof updateStatus;
|
|
23
7
|
};
|
|
24
8
|
export declare const description: INodeProperties[];
|
|
@@ -34,41 +34,63 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.description = exports.operations = void 0;
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const markAsCalled = __importStar(require("./markAsCalled.operation"));
|
|
40
|
-
const markAsFinished = __importStar(require("./markAsFinished.operation"));
|
|
41
|
-
const markAsMeetingBooked = __importStar(require("./markAsMeetingBooked.operation"));
|
|
42
|
-
const markAsOptedOut = __importStar(require("./markAsOptedOut.operation"));
|
|
43
|
-
const markAsOutOfOffice = __importStar(require("./markAsOutOfOffice.operation"));
|
|
44
|
-
const markAsPaused = __importStar(require("./markAsPaused.operation"));
|
|
45
|
-
const markAsReplied = __importStar(require("./markAsReplied.operation"));
|
|
46
|
-
const markAsToCall = __importStar(require("./markAsToCall.operation"));
|
|
37
|
+
const clearStatus = __importStar(require("./clearStatus.operation"));
|
|
38
|
+
const updateStatus = __importStar(require("./updateStatus.operation"));
|
|
47
39
|
exports.operations = {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
markAsCalled,
|
|
51
|
-
markAsFinished,
|
|
52
|
-
markAsMeetingBooked,
|
|
53
|
-
markAsOptedOut,
|
|
54
|
-
markAsOutOfOffice,
|
|
55
|
-
markAsPaused,
|
|
56
|
-
markAsReplied,
|
|
57
|
-
markAsToCall,
|
|
40
|
+
clearStatus,
|
|
41
|
+
updateStatus,
|
|
58
42
|
};
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
43
|
+
const STATUS_OPTIONS = [
|
|
44
|
+
{
|
|
45
|
+
name: 'Active',
|
|
46
|
+
value: 'Active',
|
|
47
|
+
description: 'Restore a contact to active status',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'Bounced',
|
|
51
|
+
value: 'Bounced',
|
|
52
|
+
description: 'Mark contact as bounced',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'Called',
|
|
56
|
+
value: 'Called',
|
|
57
|
+
description: 'Mark contact as called',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Finished',
|
|
61
|
+
value: 'Finished',
|
|
62
|
+
description: 'Mark contact as finished in sequence',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Meeting Booked',
|
|
66
|
+
value: 'MeetingBooked',
|
|
67
|
+
description: 'Mark contact as meeting booked',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'Opted Out',
|
|
71
|
+
value: 'OptedOut',
|
|
72
|
+
description: 'Opt out contact globally',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Out Of Office',
|
|
76
|
+
value: 'OutOfOffice',
|
|
77
|
+
description: 'Mark contact as out of office',
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'Paused',
|
|
81
|
+
value: 'Paused',
|
|
82
|
+
description: 'Pause contact in sequence',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'Replied',
|
|
86
|
+
value: 'Replied',
|
|
87
|
+
description: 'Mark contact as replied',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'To Call',
|
|
91
|
+
value: 'ToCall',
|
|
92
|
+
description: 'Mark contact as to-call',
|
|
93
|
+
},
|
|
72
94
|
];
|
|
73
95
|
exports.description = [
|
|
74
96
|
{
|
|
@@ -83,81 +105,81 @@ exports.description = [
|
|
|
83
105
|
},
|
|
84
106
|
options: [
|
|
85
107
|
{
|
|
86
|
-
name: '
|
|
87
|
-
value: '
|
|
88
|
-
description: '
|
|
89
|
-
action: '
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
name: 'Mark As Bounced',
|
|
93
|
-
value: 'markAsBounced',
|
|
94
|
-
description: 'Mark a contact as bounced in a sequence',
|
|
95
|
-
action: 'Mark contact as bounced',
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
name: 'Mark As Called',
|
|
99
|
-
value: 'markAsCalled',
|
|
100
|
-
description: 'Mark a contact as called',
|
|
101
|
-
action: 'Mark contact as called',
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
name: 'Mark As Finished',
|
|
105
|
-
value: 'markAsFinished',
|
|
106
|
-
description: 'Mark a contact as finished in a sequence',
|
|
107
|
-
action: 'Mark contact as finished',
|
|
108
|
+
name: 'Clear Status',
|
|
109
|
+
value: 'clearStatus',
|
|
110
|
+
description: 'Clear statuses from a contact',
|
|
111
|
+
action: 'Clear contact status',
|
|
108
112
|
},
|
|
109
113
|
{
|
|
110
|
-
name: '
|
|
111
|
-
value: '
|
|
112
|
-
description: '
|
|
113
|
-
action: '
|
|
114
|
+
name: 'Update Status',
|
|
115
|
+
value: 'updateStatus',
|
|
116
|
+
description: 'Update the status of a contact',
|
|
117
|
+
action: 'Update contact status',
|
|
114
118
|
},
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
119
|
+
],
|
|
120
|
+
default: 'updateStatus',
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
displayName: 'Contact',
|
|
124
|
+
name: 'contactLocator',
|
|
125
|
+
type: 'resourceLocator',
|
|
126
|
+
default: { mode: 'id', value: '' },
|
|
127
|
+
required: true,
|
|
128
|
+
description: 'The contact to update',
|
|
129
|
+
displayOptions: {
|
|
130
|
+
show: {
|
|
131
|
+
resource: ['contactStatus'],
|
|
126
132
|
},
|
|
133
|
+
},
|
|
134
|
+
modes: [
|
|
127
135
|
{
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
136
|
+
displayName: 'By ID',
|
|
137
|
+
name: 'id',
|
|
138
|
+
type: 'string',
|
|
139
|
+
placeholder: 'e.g. 12345',
|
|
132
140
|
},
|
|
133
141
|
{
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
142
|
+
displayName: 'By Email',
|
|
143
|
+
name: 'email',
|
|
144
|
+
type: 'string',
|
|
145
|
+
placeholder: 'e.g. name@email.com',
|
|
138
146
|
},
|
|
139
147
|
{
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
148
|
+
displayName: 'By LinkedIn',
|
|
149
|
+
name: 'linkedIn',
|
|
150
|
+
type: 'string',
|
|
151
|
+
placeholder: 'e.g. https://linkedin.com/in/username',
|
|
144
152
|
},
|
|
145
153
|
],
|
|
146
|
-
default: 'markAsActive',
|
|
147
154
|
},
|
|
148
155
|
{
|
|
149
|
-
displayName: '
|
|
150
|
-
name: '
|
|
151
|
-
type: '
|
|
156
|
+
displayName: 'Status',
|
|
157
|
+
name: 'status',
|
|
158
|
+
type: 'options',
|
|
152
159
|
required: true,
|
|
153
|
-
default:
|
|
154
|
-
description: 'The
|
|
160
|
+
default: 'Active',
|
|
161
|
+
description: 'The status to set on the contact',
|
|
155
162
|
displayOptions: {
|
|
156
163
|
show: {
|
|
157
164
|
resource: ['contactStatus'],
|
|
158
|
-
operation:
|
|
165
|
+
operation: ['updateStatus'],
|
|
159
166
|
},
|
|
160
167
|
},
|
|
168
|
+
options: STATUS_OPTIONS,
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
displayName: 'Statuses',
|
|
172
|
+
name: 'statuses',
|
|
173
|
+
type: 'multiOptions',
|
|
174
|
+
default: [],
|
|
175
|
+
description: 'The statuses to clear. Leave empty to clear all statuses.',
|
|
176
|
+
displayOptions: {
|
|
177
|
+
show: {
|
|
178
|
+
resource: ['contactStatus'],
|
|
179
|
+
operation: ['clearStatus'],
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
options: STATUS_OPTIONS,
|
|
161
183
|
},
|
|
162
184
|
{
|
|
163
185
|
displayName: 'Additional Fields',
|
|
@@ -168,7 +190,6 @@ exports.description = [
|
|
|
168
190
|
displayOptions: {
|
|
169
191
|
show: {
|
|
170
192
|
resource: ['contactStatus'],
|
|
171
|
-
operation: statusOpsWithSequence,
|
|
172
193
|
},
|
|
173
194
|
},
|
|
174
195
|
options: [
|
|
@@ -204,19 +225,5 @@ exports.description = [
|
|
|
204
225
|
},
|
|
205
226
|
],
|
|
206
227
|
},
|
|
207
|
-
{
|
|
208
|
-
displayName: 'Contact ID',
|
|
209
|
-
name: 'contactId',
|
|
210
|
-
type: 'number',
|
|
211
|
-
required: true,
|
|
212
|
-
default: 0,
|
|
213
|
-
description: 'The ID of the contact to update status',
|
|
214
|
-
displayOptions: {
|
|
215
|
-
show: {
|
|
216
|
-
resource: ['contactStatus'],
|
|
217
|
-
operation: statusOpsWithoutSequence,
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
228
|
];
|
|
222
229
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uEAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function executeStatusWithSequence(ctx: IExecuteFunctions, i: number, status: string): Promise<INodeExecutionData[]>;
|
|
3
|
-
export declare function executeStatusWithoutSequence(ctx: IExecuteFunctions, i: number, status: string): Promise<INodeExecutionData[]>;
|
|
1
|
+
export { resolveContactId } from '../../utils/GenericFunctions';
|
|
@@ -1,72 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
7
|
-
const validation_1 = require("../../utils/validation");
|
|
8
|
-
async function executeStatusWithSequence(ctx, i, status) {
|
|
9
|
-
const contactId = ctx.getNodeParameter('contactId', i);
|
|
10
|
-
const additionalFields = ctx.getNodeParameter('additionalFields', i, {});
|
|
11
|
-
const sequenceId = additionalFields.sequenceId
|
|
12
|
-
? await GenericFunctions_1.resolveSequenceId.call(ctx, 'additionalFields.sequenceId', i)
|
|
13
|
-
: undefined;
|
|
14
|
-
try {
|
|
15
|
-
(0, validation_1.validateContactId)(contactId);
|
|
16
|
-
}
|
|
17
|
-
catch (validationError) {
|
|
18
|
-
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), validationError.message, {
|
|
19
|
-
itemIndex: i,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
const body = {
|
|
23
|
-
contactIds: [contactId],
|
|
24
|
-
status,
|
|
25
|
-
};
|
|
26
|
-
if (sequenceId) {
|
|
27
|
-
body.sequenceId = sequenceId;
|
|
28
|
-
}
|
|
29
|
-
const response = await GenericFunctions_1.replyApiRequest.call(ctx, 'POST', '/v3/contacts/status', body);
|
|
30
|
-
return [
|
|
31
|
-
{
|
|
32
|
-
json: response
|
|
33
|
-
? response
|
|
34
|
-
: {
|
|
35
|
-
success: true,
|
|
36
|
-
contactId,
|
|
37
|
-
...(sequenceId && { sequenceId }),
|
|
38
|
-
status,
|
|
39
|
-
message: `Contact marked as ${status.toLowerCase()}`,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
async function executeStatusWithoutSequence(ctx, i, status) {
|
|
45
|
-
const contactId = ctx.getNodeParameter('contactId', i);
|
|
46
|
-
try {
|
|
47
|
-
(0, validation_1.validateContactId)(contactId);
|
|
48
|
-
}
|
|
49
|
-
catch (validationError) {
|
|
50
|
-
throw new n8n_workflow_1.NodeOperationError(ctx.getNode(), validationError.message, {
|
|
51
|
-
itemIndex: i,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
const body = {
|
|
55
|
-
contactIds: [contactId],
|
|
56
|
-
status,
|
|
57
|
-
};
|
|
58
|
-
const response = await GenericFunctions_1.replyApiRequest.call(ctx, 'POST', '/v3/contacts/status', body);
|
|
59
|
-
return [
|
|
60
|
-
{
|
|
61
|
-
json: response
|
|
62
|
-
? response
|
|
63
|
-
: {
|
|
64
|
-
success: true,
|
|
65
|
-
contactId,
|
|
66
|
-
status,
|
|
67
|
-
message: `Contact marked as ${status.toLowerCase()}`,
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
];
|
|
71
|
-
}
|
|
3
|
+
exports.resolveContactId = void 0;
|
|
4
|
+
var GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
5
|
+
Object.defineProperty(exports, "resolveContactId", { enumerable: true, get: function () { return GenericFunctions_1.resolveContactId; } });
|
|
72
6
|
//# sourceMappingURL=statusHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusHelper.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/statusHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"statusHelper.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/statusHelper.ts"],"names":[],"mappings":";;;AAAA,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.execute = execute;
|
|
4
|
+
const GenericFunctions_1 = require("../../utils/GenericFunctions");
|
|
5
|
+
const statusHelper_1 = require("./statusHelper");
|
|
6
|
+
async function execute(i) {
|
|
7
|
+
const contactId = await (0, statusHelper_1.resolveContactId)(this, i);
|
|
8
|
+
const status = this.getNodeParameter('status', i);
|
|
9
|
+
const additionalFields = this.getNodeParameter('additionalFields', i, {});
|
|
10
|
+
const sequenceId = additionalFields.sequenceId
|
|
11
|
+
? await GenericFunctions_1.resolveSequenceId.call(this, 'additionalFields.sequenceId', i)
|
|
12
|
+
: undefined;
|
|
13
|
+
const body = {
|
|
14
|
+
contactIds: [contactId],
|
|
15
|
+
status,
|
|
16
|
+
};
|
|
17
|
+
if (sequenceId) {
|
|
18
|
+
body.sequenceId = sequenceId;
|
|
19
|
+
}
|
|
20
|
+
const response = await GenericFunctions_1.replyApiRequest.call(this, 'PATCH', '/v3/contacts/status', body);
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
json: response
|
|
24
|
+
? response
|
|
25
|
+
: {
|
|
26
|
+
success: true,
|
|
27
|
+
contactId,
|
|
28
|
+
...(sequenceId && { sequenceId }),
|
|
29
|
+
status,
|
|
30
|
+
message: `Contact status updated: ${status}`,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=updateStatus.operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateStatus.operation.js","sourceRoot":"","sources":["../../../../../nodes/Reply/actions/contactStatus/updateStatus.operation.ts"],"names":[],"mappings":";;AAKA,0BAiCC;AApCD,mEAAkF;AAClF,iDAAkD;AAE3C,KAAK,UAAU,OAAO,CAA0B,CAAS;IAC/D,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAgB,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;IAE5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAgB,CAAC;IACzF,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU;QAC7C,CAAC,CAAC,MAAM,oCAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,IAAI,GAAgB;QACzB,UAAU,EAAE,CAAC,SAAS,CAAC;QACvB,MAAM;KACN,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,kCAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAExF,OAAO;QACN;YACC,IAAI,EAAE,QAAQ;gBACb,CAAC,CAAE,QAAwB;gBAC3B,CAAC,CAAC;oBACA,OAAO,EAAE,IAAI;oBACb,SAAS;oBACT,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;oBACjC,MAAM;oBACN,OAAO,EAAE,2BAA2B,MAAM,EAAE;iBAC5C;SACH;KACD,CAAC;AACH,CAAC"}
|