n8n-nodes-novinmarketing 0.3.1 → 0.3.2

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.
@@ -1,4 +1,5 @@
1
- import { INodeType, INodeTypeDescription } from 'n8n-workflow';
1
+ import { INodeType, INodeTypeDescription, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
2
  export declare class SendEmail implements INodeType {
3
3
  description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
4
5
  }
@@ -8,7 +8,7 @@ class SendEmail {
8
8
  name: 'sendEmail',
9
9
  icon: 'file:SendEmail.svg',
10
10
  group: ['transform'],
11
- version: [2, 3, 4],
11
+ version: [1, 2, 3],
12
12
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
13
13
  description: 'Node to Send Email',
14
14
  defaults: {
@@ -31,60 +31,14 @@ class SendEmail {
31
31
  },
32
32
  properties: [
33
33
  {
34
- displayName: 'Resource',
35
- name: 'resource',
36
- type: 'options',
37
- noDataExpression: true,
38
- options: [
39
- {
40
- name: 'Send Email',
41
- value: 'NovinSendEmail',
42
- },
43
- ],
44
- default: 'NovinSendEmail',
45
- },
46
- {
47
- displayName: 'Operation',
48
- name: 'operation',
49
- type: 'options',
50
- noDataExpression: true,
51
- displayOptions: {
52
- show: {
53
- resource: [
54
- 'NovinSendEmail',
55
- ],
56
- },
57
- },
58
- options: [
59
- {
60
- name: 'Post',
61
- value: 'post',
62
- action: 'Send email',
63
- description: 'Send Email',
64
- routing: {
65
- request: {
66
- method: 'POST',
67
- url: '/users/sendEmail2',
68
- },
69
- },
70
- },
71
- ],
72
- default: 'post',
73
- },
74
- {
75
- displayName: 'User ID',
76
- displayOptions: {
77
- show: {
78
- '@version': [4],
79
- },
80
- },
81
- name: 'userId',
34
+ displayName: 'Users',
35
+ name: 'users',
82
36
  type: 'string',
83
- default: '',
84
- placeholder: 'user _id',
37
+ default: '{{ $(previousNodename).all() }}',
38
+ placeholder: 'users List',
85
39
  routing: {
86
40
  send: {
87
- property: 'userId',
41
+ property: 'users',
88
42
  type: 'body',
89
43
  },
90
44
  },
@@ -106,7 +60,7 @@ class SendEmail {
106
60
  displayName: 'Sender Name',
107
61
  name: 'senderName',
108
62
  type: 'string',
109
- default: '',
63
+ default: '{{ $(previousNodename).item.json.firstName.value }}',
110
64
  placeholder: 'Enter Sender Name',
111
65
  description: 'Sender Name of the email',
112
66
  routing: {
@@ -120,7 +74,7 @@ class SendEmail {
120
74
  displayName: 'Subject',
121
75
  name: 'subject',
122
76
  type: 'string',
123
- default: '',
77
+ default: '{{ $(previousNodename).item.json.firstName.value }}',
124
78
  placeholder: 'Enter Subject',
125
79
  description: 'Subject of the email',
126
80
  routing: {
@@ -134,7 +88,7 @@ class SendEmail {
134
88
  displayName: 'Preview',
135
89
  name: 'preview',
136
90
  type: 'string',
137
- default: '',
91
+ default: '{{ $(previousNodename).item.json.firstName.value }}',
138
92
  placeholder: 'Enter Preview',
139
93
  description: 'Preview of the email',
140
94
  routing: {
@@ -148,7 +102,7 @@ class SendEmail {
148
102
  displayName: 'Email Content',
149
103
  name: 'content',
150
104
  type: 'string',
151
- default: '',
105
+ default: '{{ $(previousNodename).item.json.firstName.value }}',
152
106
  placeholder: 'Enter Email content',
153
107
  description: 'Content to send',
154
108
  routing: {
@@ -171,9 +125,138 @@ class SendEmail {
171
125
  },
172
126
  },
173
127
  },
128
+ {
129
+ displayName: 'Dont Disturb',
130
+ name: 'dontDisturb',
131
+ type: 'boolean',
132
+ default: true,
133
+ },
134
+ {
135
+ displayName: 'Batch Size',
136
+ name: 'batchSize',
137
+ type: 'number',
138
+ default: 100,
139
+ description: 'Number of messages to accumulate before sending a batch',
140
+ },
174
141
  ],
175
142
  };
176
143
  }
144
+ async execute() {
145
+ const users = this.getNodeParameter('users', 0);
146
+ const dontDisturb = this.getNodeParameter('dontDisturb', 0);
147
+ const oncePerEmail = this.getNodeParameter('oncePerEmail', 0);
148
+ const parameters = this.getNode().parameters;
149
+ let textTemplate = parameters.content;
150
+ if (textTemplate.startsWith('=')) {
151
+ textTemplate = textTemplate.substring(1);
152
+ }
153
+ let preview = parameters.preview;
154
+ if (preview.startsWith('=')) {
155
+ preview = preview.substring(1);
156
+ }
157
+ let subject = parameters.subject;
158
+ if (subject.startsWith('=')) {
159
+ subject = subject.substring(1);
160
+ }
161
+ const senderName = this.getNodeParameter('senderName', 0);
162
+ const emailName = this.getNodeParameter('emailName', 0);
163
+ const batchSize = this.getNodeParameter('batchSize', 0);
164
+ if (dontDisturb) {
165
+ const currentTime = new Date();
166
+ const currentHour = currentTime.getHours();
167
+ if (currentHour >= 22 || currentHour < 9) {
168
+ let waitTime = 0;
169
+ if (currentHour >= 22) {
170
+ waitTime = (24 - currentHour + 9) * 60 * 60 * 1000 - currentTime.getMinutes() * 60 * 1000 - currentTime.getSeconds() * 1000 - currentTime.getMilliseconds();
171
+ }
172
+ else {
173
+ waitTime = (9 - currentHour) * 60 * 60 * 1000 - currentTime.getMinutes() * 60 * 1000 - currentTime.getSeconds() * 1000 - currentTime.getMilliseconds();
174
+ }
175
+ await new Promise(resolve => setTimeout(resolve, waitTime));
176
+ }
177
+ }
178
+ const apiUrl = 'https://cdp.novin.marketing/api/users/sendEmailBatch';
179
+ const responseData = [];
180
+ const regex = /{{\s*.*?\s*}}/g;
181
+ const subjectExpressions = [];
182
+ const previewExpressions = [];
183
+ const textExpressions = [];
184
+ let textMatch;
185
+ while ((textMatch = regex.exec(textTemplate)) !== null) {
186
+ textExpressions.push(textMatch[0].trim());
187
+ }
188
+ let subjectMatch;
189
+ while ((subjectMatch = regex.exec(subject)) !== null) {
190
+ subjectExpressions.push(subjectMatch[0].trim());
191
+ }
192
+ let previewMatch;
193
+ while ((previewMatch = regex.exec(preview)) !== null) {
194
+ previewExpressions.push(previewMatch[0].trim());
195
+ }
196
+ let j = 0;
197
+ for (let i = 0; i < users.length; i += batchSize) {
198
+ const batchUsers = users.slice(i, i + batchSize);
199
+ let usersAndText = [];
200
+ for (const user of batchUsers) {
201
+ let replacements = [];
202
+ let personalizedSubject = subject;
203
+ let personalizedPreview = preview;
204
+ textExpressions.forEach(expression => {
205
+ let expressionValue = this.evaluateExpression(expression, j);
206
+ if (!expressionValue)
207
+ expressionValue = "";
208
+ replacements.push({ expression, expressionValue });
209
+ });
210
+ subjectExpressions.forEach(expression => {
211
+ let expressionValue = this.evaluateExpression(expression, j);
212
+ if (!expressionValue)
213
+ expressionValue = "";
214
+ personalizedSubject = personalizedSubject.replace(expression, expressionValue);
215
+ });
216
+ previewExpressions.forEach(expression => {
217
+ let expressionValue = this.evaluateExpression(expression, j);
218
+ if (!expressionValue)
219
+ expressionValue = "";
220
+ personalizedPreview = personalizedPreview.replace(expression, expressionValue);
221
+ });
222
+ j++;
223
+ if ('_id' in user.json) {
224
+ usersAndText.push({ "userId": user.json._id, "replacements": replacements, subject: personalizedSubject, preview: personalizedPreview });
225
+ }
226
+ else if ('body' in user.json && '_id' in user.json.body) {
227
+ usersAndText.push({ "userId": user.json.body._id, "replacements": replacements, subject: personalizedSubject, preview: personalizedPreview });
228
+ }
229
+ else {
230
+ console.log('Invalid user format');
231
+ }
232
+ }
233
+ const requestBody = {
234
+ usersAndText: usersAndText,
235
+ template: textTemplate,
236
+ emailName: emailName,
237
+ senderName: senderName,
238
+ once: oncePerEmail
239
+ };
240
+ const options = {
241
+ method: 'POST',
242
+ url: apiUrl,
243
+ body: requestBody,
244
+ headers: {
245
+ 'Accept': 'application/json',
246
+ 'Content-Type': 'application/json',
247
+ },
248
+ json: true,
249
+ };
250
+ const response = await this.helpers.httpRequestWithAuthentication.call(this, 'novinMarketingApi', options);
251
+ if (Array.isArray(response)) {
252
+ responseData.push(...response);
253
+ }
254
+ else {
255
+ responseData.push(response);
256
+ }
257
+ }
258
+ return [this.helpers.returnJsonArray(responseData)];
259
+ }
177
260
  }
178
261
  exports.SendEmail = SendEmail;
179
262
  //# sourceMappingURL=SendEmail.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendEmail.node.js","sourceRoot":"","sources":["../../../nodes/SendEmail/SendEmail.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SendEmail.node.js","sourceRoot":"","sources":["../../../nodes/SendEmail/SendEmail.node.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "node": "n8n-nodes-base.SendEmail",
3
- "nodeVersion": "4",
4
- "codexVersion": "4",
3
+ "nodeVersion": "3",
4
+ "codexVersion": "3",
5
5
  "categories": [
6
6
  "Miscellaneous"
7
7
  ],
@@ -1,42 +1,33 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
3
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
- <svg fill="#000000" height="800px" width="800px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
5
- viewBox="0 0 345.834 345.834" xml:space="preserve">
6
- <g>
7
- <path d="M339.798,260.429c0.13-0.026,0.257-0.061,0.385-0.094c0.109-0.028,0.219-0.051,0.326-0.084
8
- c0.125-0.038,0.247-0.085,0.369-0.129c0.108-0.039,0.217-0.074,0.324-0.119c0.115-0.048,0.226-0.104,0.338-0.157
9
- c0.109-0.052,0.22-0.1,0.327-0.158c0.107-0.057,0.208-0.122,0.312-0.184c0.107-0.064,0.215-0.124,0.319-0.194
10
- c0.111-0.074,0.214-0.156,0.321-0.236c0.09-0.067,0.182-0.13,0.27-0.202c0.162-0.133,0.316-0.275,0.466-0.421
11
- c0.027-0.026,0.056-0.048,0.083-0.075c0.028-0.028,0.052-0.059,0.079-0.088c0.144-0.148,0.284-0.3,0.416-0.46
12
- c0.077-0.094,0.144-0.192,0.216-0.289c0.074-0.1,0.152-0.197,0.221-0.301c0.074-0.111,0.139-0.226,0.207-0.34
13
- c0.057-0.096,0.118-0.19,0.171-0.289c0.062-0.115,0.114-0.234,0.169-0.351c0.049-0.104,0.101-0.207,0.146-0.314
14
- c0.048-0.115,0.086-0.232,0.128-0.349c0.041-0.114,0.085-0.227,0.12-0.343c0.036-0.118,0.062-0.238,0.092-0.358
15
- c0.029-0.118,0.063-0.234,0.086-0.353c0.028-0.141,0.045-0.283,0.065-0.425c0.014-0.1,0.033-0.199,0.043-0.3
16
- c0.025-0.249,0.038-0.498,0.038-0.748V92.76c0-4.143-3.357-7.5-7.5-7.5h-236.25c-0.066,0-0.13,0.008-0.196,0.01
17
- c-0.143,0.004-0.285,0.01-0.427,0.022c-0.113,0.009-0.225,0.022-0.337,0.037c-0.128,0.016-0.255,0.035-0.382,0.058
18
- c-0.119,0.021-0.237,0.046-0.354,0.073c-0.119,0.028-0.238,0.058-0.356,0.092c-0.117,0.033-0.232,0.069-0.346,0.107
19
- c-0.117,0.04-0.234,0.082-0.349,0.128c-0.109,0.043-0.216,0.087-0.322,0.135c-0.118,0.053-0.235,0.11-0.351,0.169
20
- c-0.099,0.051-0.196,0.103-0.292,0.158c-0.116,0.066-0.23,0.136-0.343,0.208c-0.093,0.06-0.184,0.122-0.274,0.185
21
- c-0.106,0.075-0.211,0.153-0.314,0.235c-0.094,0.075-0.186,0.152-0.277,0.231c-0.09,0.079-0.179,0.158-0.266,0.242
22
- c-0.099,0.095-0.194,0.194-0.288,0.294c-0.047,0.05-0.097,0.094-0.142,0.145c-0.027,0.03-0.048,0.063-0.074,0.093
23
- c-0.094,0.109-0.182,0.223-0.27,0.338c-0.064,0.084-0.13,0.168-0.19,0.254c-0.078,0.112-0.15,0.227-0.222,0.343
24
- c-0.059,0.095-0.12,0.189-0.174,0.286c-0.063,0.112-0.118,0.227-0.175,0.342c-0.052,0.105-0.106,0.21-0.153,0.317
25
- c-0.049,0.113-0.092,0.23-0.135,0.345c-0.043,0.113-0.087,0.225-0.124,0.339c-0.037,0.115-0.067,0.232-0.099,0.349
26
- c-0.032,0.12-0.066,0.239-0.093,0.36c-0.025,0.113-0.042,0.228-0.062,0.342c-0.022,0.13-0.044,0.26-0.06,0.39
27
- c-0.013,0.108-0.019,0.218-0.027,0.328c-0.01,0.14-0.019,0.28-0.021,0.421c-0.001,0.041-0.006,0.081-0.006,0.122v46.252
28
- c0,4.143,3.357,7.5,7.5,7.5s7.5-3.357,7.5-7.5v-29.595l66.681,59.037c-0.348,0.245-0.683,0.516-0.995,0.827l-65.687,65.687v-49.288
29
- c0-4.143-3.357-7.5-7.5-7.5s-7.5,3.357-7.5,7.5v9.164h-38.75c-4.143,0-7.5,3.357-7.5,7.5s3.357,7.5,7.5,7.5h38.75v43.231
30
- c0,4.143,3.357,7.5,7.5,7.5h236.25c0.247,0,0.494-0.013,0.74-0.037c0.115-0.011,0.226-0.033,0.339-0.049
31
- C339.542,260.469,339.67,260.454,339.798,260.429z M330.834,234.967l-65.688-65.687c-0.042-0.042-0.087-0.077-0.13-0.117
32
- l49.383-41.897c3.158-2.68,3.546-7.412,0.866-10.571c-2.678-3.157-7.41-3.547-10.571-0.866l-84.381,71.59l-98.444-87.158h208.965
33
- V234.967z M185.878,179.888c0.535-0.535,0.969-1.131,1.308-1.765l28.051,24.835c1.418,1.255,3.194,1.885,4.972,1.885
34
- c1.726,0,3.451-0.593,4.853-1.781l28.587-24.254c0.26,0.38,0.553,0.743,0.89,1.08l65.687,65.687H120.191L185.878,179.888z"/>
35
- <path d="M7.5,170.676h126.667c4.143,0,7.5-3.357,7.5-7.5s-3.357-7.5-7.5-7.5H7.5c-4.143,0-7.5,3.357-7.5,7.5
36
- S3.357,170.676,7.5,170.676z"/>
37
- <path d="M20.625,129.345H77.5c4.143,0,7.5-3.357,7.5-7.5s-3.357-7.5-7.5-7.5H20.625c-4.143,0-7.5,3.357-7.5,7.5
38
- S16.482,129.345,20.625,129.345z"/>
39
- <path d="M62.5,226.51h-55c-4.143,0-7.5,3.357-7.5,7.5s3.357,7.5,7.5,7.5h55c4.143,0,7.5-3.357,7.5-7.5S66.643,226.51,62.5,226.51z"
40
- />
41
- </g>
42
- </svg>
1
+ <?xml version="1.0" ?>
2
+
3
+ <svg width="800px" height="800px" viewBox="0 0 512 512" id="Layer_1" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
4
+
5
+ .st0{fill:#00B4D8;}
6
+ </style>
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
@@ -1,4 +1,5 @@
1
- import { INodeType, INodeTypeDescription } from 'n8n-workflow';
1
+ import { INodeType, INodeTypeDescription, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
2
2
  export declare class SendSms implements INodeType {
3
3
  description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
4
5
  }
@@ -8,9 +8,9 @@ class SendSms {
8
8
  name: 'sendSms',
9
9
  icon: 'file:SendSms.svg',
10
10
  group: ['transform'],
11
- version: [2, 3, 4, 5, 6],
11
+ version: [1, 2],
12
12
  subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
13
- description: 'Node to Send Sms',
13
+ description: 'Node to Send Sms In batch',
14
14
  defaults: {
15
15
  name: 'Novin Send Sms',
16
16
  },
@@ -31,19 +31,14 @@ class SendSms {
31
31
  },
32
32
  properties: [
33
33
  {
34
- displayName: 'User ID',
35
- displayOptions: {
36
- show: {
37
- '@version': [5, 6],
38
- },
39
- },
40
- name: 'userId',
34
+ displayName: 'Users',
35
+ name: 'users',
41
36
  type: 'string',
42
- default: '',
43
- placeholder: 'user _id',
37
+ default: '{{ $(previousNodename).all() }}',
38
+ placeholder: 'users _id',
44
39
  routing: {
45
40
  send: {
46
- property: 'userId',
41
+ property: 'users',
47
42
  type: 'body',
48
43
  },
49
44
  },
@@ -65,7 +60,7 @@ class SendSms {
65
60
  displayName: 'Sms Message',
66
61
  name: 'text',
67
62
  type: 'string',
68
- default: '',
63
+ default: '{{ $(previousNodename).item.json.firstName.value }}',
69
64
  placeholder: 'Enter Sms text',
70
65
  routing: {
71
66
  send: {
@@ -88,29 +83,139 @@ class SendSms {
88
83
  },
89
84
  },
90
85
  {
91
- displayName: 'Operation',
92
- name: 'operation',
93
- type: 'options',
94
- noDataExpression: true,
95
- options: [
96
- {
97
- name: 'Post',
98
- value: 'post',
99
- action: 'Send sms',
100
- description: 'Send Sms',
101
- routing: {
102
- request: {
103
- method: 'POST',
104
- url: '/users/sendSMS2',
105
- },
106
- },
107
- },
108
- ],
109
- default: 'post',
86
+ displayName: 'Dont Disturb',
87
+ name: 'dontDisturb',
88
+ type: 'boolean',
89
+ default: true,
90
+ },
91
+ {
92
+ displayName: 'Batch Size',
93
+ name: 'batchSize',
94
+ type: 'number',
95
+ default: 100,
96
+ description: 'Number of messages to accumulate before sending a batch',
110
97
  },
111
98
  ],
112
99
  };
113
100
  }
101
+ async execute() {
102
+ const users = this.getNodeParameter('users', 0);
103
+ const dontDisturb = this.getNodeParameter('dontDisturb', 0);
104
+ const oncePerMobileNumber = this.getNodeParameter('oncePerMobileNumber', 0);
105
+ const parameters = this.getNode().parameters;
106
+ let textTemplate = parameters.text;
107
+ if (textTemplate.startsWith('=')) {
108
+ textTemplate = textTemplate.substring(1);
109
+ }
110
+ const smsName = this.getNodeParameter('smsName', 0);
111
+ const batchSize = this.getNodeParameter('batchSize', 0);
112
+ if (dontDisturb) {
113
+ const currentTime = new Date();
114
+ const currentHour = currentTime.getHours();
115
+ if (currentHour >= 22 || currentHour < 9) {
116
+ let waitTime = 0;
117
+ if (currentHour >= 22) {
118
+ waitTime = (24 - currentHour + 9) * 60 * 60 * 1000 - currentTime.getMinutes() * 60 * 1000 - currentTime.getSeconds() * 1000 - currentTime.getMilliseconds();
119
+ }
120
+ else {
121
+ waitTime = (9 - currentHour) * 60 * 60 * 1000 - currentTime.getMinutes() * 60 * 1000 - currentTime.getSeconds() * 1000 - currentTime.getMilliseconds();
122
+ }
123
+ await new Promise(resolve => setTimeout(resolve, waitTime));
124
+ }
125
+ }
126
+ const apiUrl = 'https://cdp.novin.marketing/api/users/sendSMSBatch';
127
+ const responseData = [];
128
+ const regex = /{{\s*\$\(.*?\)\.item\.json\.(.*?)\s*}}/g;
129
+ const expressions = [];
130
+ let match;
131
+ while ((match = regex.exec(textTemplate)) !== null) {
132
+ expressions.push(match[0].trim());
133
+ }
134
+ let usersAndText = [];
135
+ let requestBody;
136
+ if (typeof users == 'string') {
137
+ let pText = textTemplate;
138
+ expressions.forEach(expression => {
139
+ let expressionValue = this.evaluateExpression(expression, 0);
140
+ if (!expressionValue)
141
+ expressionValue = "";
142
+ pText = pText.replace(expression, expressionValue);
143
+ });
144
+ requestBody = {
145
+ usersAndText: users,
146
+ text: pText,
147
+ smsName: smsName,
148
+ once: oncePerMobileNumber
149
+ };
150
+ const options = {
151
+ method: 'POST',
152
+ url: apiUrl,
153
+ body: requestBody,
154
+ headers: {
155
+ 'Accept': 'application/json',
156
+ 'Content-Type': 'application/json',
157
+ },
158
+ json: true,
159
+ };
160
+ const response = await this.helpers.httpRequestWithAuthentication.call(this, 'novinMarketingApi', options);
161
+ if (Array.isArray(response)) {
162
+ responseData.push(...response);
163
+ }
164
+ else {
165
+ responseData.push(response);
166
+ }
167
+ return [this.helpers.returnJsonArray(responseData)];
168
+ }
169
+ else {
170
+ let j = 0;
171
+ for (let i = 0; i < users.length; i += batchSize) {
172
+ const batchUsers = users.slice(i, i + batchSize);
173
+ usersAndText = [];
174
+ for (const user of batchUsers) {
175
+ let personalizedText = textTemplate;
176
+ expressions.forEach(expression => {
177
+ let expressionValue = this.evaluateExpression(expression, j);
178
+ if (!expressionValue)
179
+ expressionValue = "";
180
+ personalizedText = personalizedText.replace(expression, expressionValue);
181
+ });
182
+ j++;
183
+ if ('_id' in user.json) {
184
+ usersAndText.push({ "userId": user.json._id, "text": personalizedText });
185
+ }
186
+ else if ('body' in user.json && '_id' in user.json.body) {
187
+ usersAndText.push({ "userId": user.json.body._id, "text": personalizedText });
188
+ }
189
+ else {
190
+ console.log('Invalid user format');
191
+ }
192
+ }
193
+ requestBody = {
194
+ usersAndText: usersAndText,
195
+ smsName: smsName,
196
+ once: oncePerMobileNumber
197
+ };
198
+ const options = {
199
+ method: 'POST',
200
+ url: apiUrl,
201
+ body: requestBody,
202
+ headers: {
203
+ 'Accept': 'application/json',
204
+ 'Content-Type': 'application/json',
205
+ },
206
+ json: true,
207
+ };
208
+ const response = await this.helpers.httpRequestWithAuthentication.call(this, 'novinMarketingApi', options);
209
+ if (Array.isArray(response)) {
210
+ responseData.push(...response);
211
+ }
212
+ else {
213
+ responseData.push(response);
214
+ }
215
+ }
216
+ return [this.helpers.returnJsonArray(responseData)];
217
+ }
218
+ }
114
219
  }
115
220
  exports.SendSms = SendSms;
116
221
  //# sourceMappingURL=SendSms.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendSms.node.js","sourceRoot":"","sources":["../../../nodes/SendSms/SendSms.node.ts"],"names":[],"mappings":";;;AAKA,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxB,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE;gBACT,IAAI,EAAE,gBAAgB;aACtB;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,iCAAiC;gBAE1C,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBAGX;oBACC,WAAW,EAAE,SAAS;oBACtB,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;yBAClB;qBACD;oBACD,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,UAAU;oBACvB,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,QAAQ;4BAClB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,0BAA0B;oBACvC,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,gBAAgB;oBAC7B,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,aAAa;yBACpB;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;4BACb,MAAM,EAAE,UAAU;4BAClB,WAAW,EAAE,UAAU;4BACvB,OAAO,EAAE;gCACR,OAAO,EAAE;oCACR,MAAM,EAAE,MAAM;oCACd,GAAG,EAAE,iBAAiB;iCACtB;6BACD;yBACD;qBACD;oBACD,OAAO,EAAE,MAAM;iBACf;aAED;SACD,CAAC;IAGH,CAAC;CAAA;AAlHD,0BAkHC"}
1
+ {"version":3,"file":"SendSms.node.js","sourceRoot":"","sources":["../../../nodes/SendSms/SendSms.node.ts"],"names":[],"mappings":";;;AASA,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;YACd,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE;gBACT,IAAI,EAAE,gBAAgB;aACtB;YACD,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,mBAAmB;oBACzB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,iCAAiC;gBAE1C,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,iCAAiC;oBAC1C,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,0BAA0B;oBACvC,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,aAAa;oBAC1B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qDAAqD;oBAC9D,WAAW,EAAE,gBAAgB;oBAC7B,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE,MAAM;yBACZ;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE;wBACR,IAAI,EAAE;4BACL,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,aAAa;yBACpB;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;iBACb;gBACD;oBACC,WAAW,EAAE,YAAY;oBACzB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,yDAAyD;iBACtE;aACD;SACD,CAAC;IAgIH,CAAC;IA9HA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwE,CAAC;QACvH,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAY,CAAC;QACvE,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAY,CAAC;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;QAC7C,IAAI,YAAY,GAAG,UAAU,CAAC,IAAc,CAAC;QAC7C,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACjC,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SACzC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAW,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;QAClE,IAAI,WAAW,EAAE;YAChB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;YAE3C,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,GAAG,CAAC,EAAE;gBACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,WAAW,IAAI,EAAE,EAAE;oBACtB,QAAQ,GAAG,CAAC,EAAE,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;iBAC5J;qBAAM;oBACN,QAAQ,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC;iBACvJ;gBACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;aAC5D;SACD;QACD,MAAM,MAAM,GAAG,oDAAoD,CAAC;QAGpE,MAAM,YAAY,GAAkB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,yCAAyC,CAAC;QACxD,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE;YAGnD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAClC;QACD,IAAI,YAAY,GAAuC,EAAE,CAAC;QAC1D,IAAI,WAAW,CAAC;QAChB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC7B,IAAI,KAAK,GAAG,YAAY,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBAChC,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;gBACvE,IAAI,CAAC,eAAe;oBACnB,eAAe,GAAG,EAAE,CAAC;gBACtB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,WAAW,GAAG;gBACb,YAAY,EAAE,KAAK;gBACnB,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,mBAAmB;aACzB,CAAC;YACF,MAAM,OAAO,GAAwB;gBACpC,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACR,QAAQ,EAAE,kBAAkB;oBAC5B,cAAc,EAAE,kBAAkB;iBAClC;gBACD,IAAI,EAAE,IAAI;aACV,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;YAC3G,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;aAC/B;iBAAM;gBACN,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5B;YAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;SACpD;aACI;YACJ,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;gBACjD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBACjD,YAAY,GAAG,EAAE,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;oBAC9B,IAAI,gBAAgB,GAAG,YAAY,CAAC;oBACpC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAChC,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;wBACvE,IAAI,CAAC,eAAe;4BACnB,eAAe,GAAG,EAAE,CAAC;wBACtB,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC;oBACH,CAAC,EAAE,CAAC;oBAEJ,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE;wBACvB,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;qBACzE;yBAAM,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAC1D,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;qBAC9E;yBAAM;wBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;qBACnC;iBACD;gBAED,WAAW,GAAG;oBACb,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,mBAAmB;iBACzB,CAAC;gBAEF,MAAM,OAAO,GAAwB;oBACpC,MAAM,EAAE,MAAM;oBACd,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACR,QAAQ,EAAE,kBAAkB;wBAC5B,cAAc,EAAE,kBAAkB;qBAClC;oBACD,IAAI,EAAE,IAAI;iBACV,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBAC3G,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;iBAC/B;qBAAM;oBACN,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC5B;aACD;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;SACpD;IACF,CAAC;CAED;AA/ND,0BA+NC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "node": "n8n-nodes-base.SendSms",
3
- "nodeVersion": "6",
4
- "codexVersion": "6",
3
+ "nodeVersion": "2",
4
+ "codexVersion": "2",
5
5
  "categories": [
6
6
  "Miscellaneous"
7
7
  ],