n8n-nodes-genisys-whatsapp 0.1.0 → 0.1.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.
@@ -0,0 +1,488 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WhatsAppSender = void 0;
4
+ class WhatsAppSender {
5
+ constructor() {
6
+ this.description = {
7
+ displayName: 'WhatsApp Sender',
8
+ name: 'whatsappSender',
9
+ icon: 'file:whatsapp.svg',
10
+ group: ['transform'],
11
+ version: 1,
12
+ subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
13
+ description: 'Send messages via WhatsApp API',
14
+ defaults: {
15
+ name: 'WhatsApp Sender',
16
+ },
17
+ inputs: ['main'],
18
+ outputs: ['main'],
19
+ credentials: [
20
+ {
21
+ name: 'whatsappApiCredentials',
22
+ required: true,
23
+ },
24
+ ],
25
+ properties: [
26
+ {
27
+ displayName: 'Action',
28
+ name: 'action',
29
+ type: 'options',
30
+ options: [
31
+ {
32
+ name: 'Send Message',
33
+ value: 'sendMessage',
34
+ },
35
+ {
36
+ name: 'Get Status',
37
+ value: 'getStatus',
38
+ },
39
+ {
40
+ name: 'Health Check',
41
+ value: 'getSystemHealth',
42
+ },
43
+ {
44
+ name: 'Create Session',
45
+ value: 'createSession',
46
+ },
47
+ {
48
+ name: 'Start Session',
49
+ value: 'startSession',
50
+ },
51
+ {
52
+ name: 'Pause Session',
53
+ value: 'pauseSession',
54
+ },
55
+ {
56
+ name: 'Resume Session',
57
+ value: 'resumeSession',
58
+ },
59
+ {
60
+ name: 'Delete Session',
61
+ value: 'deleteSession',
62
+ },
63
+ {
64
+ name: 'List Sessions',
65
+ value: 'listSessions',
66
+ },
67
+ {
68
+ name: 'Get QR Code',
69
+ value: 'getQrCode',
70
+ },
71
+ {
72
+ name: 'Get Contact Profile Picture',
73
+ value: 'getProfilePic',
74
+ },
75
+ ],
76
+ default: 'sendMessage',
77
+ noDataExpression: true,
78
+ },
79
+ {
80
+ displayName: 'Session ID',
81
+ name: 'session',
82
+ type: 'string',
83
+ default: 'Genisys',
84
+ description: 'The session ID of the WhatsApp instance.',
85
+ required: true,
86
+ displayOptions: {
87
+ show: {
88
+ action: [
89
+ 'sendMessage',
90
+ 'getStatus',
91
+ 'createSession',
92
+ 'startSession',
93
+ 'pauseSession',
94
+ 'resumeSession',
95
+ 'deleteSession',
96
+ 'getQrCode',
97
+ ],
98
+ },
99
+ },
100
+ },
101
+ {
102
+ displayName: 'Phone Number',
103
+ name: 'phone',
104
+ type: 'string',
105
+ default: '',
106
+ placeholder: '5511999999999',
107
+ description: 'The destination phone number with DDI and DDD.',
108
+ required: true,
109
+ displayOptions: {
110
+ show: {
111
+ action: [
112
+ 'sendMessage',
113
+ 'getProfilePic',
114
+ ],
115
+ },
116
+ },
117
+ },
118
+ {
119
+ displayName: 'Message Type',
120
+ name: 'messageType',
121
+ type: 'options',
122
+ options: [
123
+ {
124
+ name: 'Text',
125
+ value: 'text',
126
+ },
127
+ {
128
+ name: 'Image',
129
+ value: 'image',
130
+ },
131
+ {
132
+ name: 'Video',
133
+ value: 'video',
134
+ },
135
+ {
136
+ name: 'Audio',
137
+ value: 'audio',
138
+ },
139
+ {
140
+ name: 'PTT (Voice Note)',
141
+ value: 'ptt',
142
+ },
143
+ {
144
+ name: 'Document',
145
+ value: 'document',
146
+ },
147
+ {
148
+ name: 'Location',
149
+ value: 'location',
150
+ },
151
+ ],
152
+ default: 'text',
153
+ description: 'The type of message to send.',
154
+ displayOptions: {
155
+ show: {
156
+ action: [
157
+ 'sendMessage',
158
+ ],
159
+ },
160
+ },
161
+ },
162
+ {
163
+ displayName: 'Message',
164
+ name: 'message',
165
+ type: 'string',
166
+ typeOptions: {
167
+ rows: 4,
168
+ },
169
+ default: '',
170
+ description: 'The text message to send.',
171
+ displayOptions: {
172
+ show: {
173
+ action: [
174
+ 'sendMessage',
175
+ ],
176
+ messageType: [
177
+ 'text',
178
+ ],
179
+ },
180
+ },
181
+ },
182
+ {
183
+ displayName: 'Media URL',
184
+ name: 'mediaUrl',
185
+ type: 'string',
186
+ default: '',
187
+ description: 'URL of the media file.',
188
+ displayOptions: {
189
+ show: {
190
+ action: [
191
+ 'sendMessage',
192
+ ],
193
+ messageType: [
194
+ 'image',
195
+ 'video',
196
+ 'audio',
197
+ 'ptt',
198
+ 'document',
199
+ ],
200
+ },
201
+ },
202
+ },
203
+ {
204
+ displayName: 'Caption',
205
+ name: 'caption',
206
+ type: 'string',
207
+ default: '',
208
+ description: 'Caption for the media.',
209
+ displayOptions: {
210
+ show: {
211
+ action: [
212
+ 'sendMessage',
213
+ ],
214
+ messageType: [
215
+ 'image',
216
+ 'video',
217
+ 'document',
218
+ ],
219
+ },
220
+ },
221
+ },
222
+ {
223
+ displayName: 'Latitude',
224
+ name: 'latitude',
225
+ type: 'string',
226
+ default: '',
227
+ displayOptions: {
228
+ show: {
229
+ action: [
230
+ 'sendMessage',
231
+ ],
232
+ messageType: [
233
+ 'location',
234
+ ],
235
+ },
236
+ },
237
+ },
238
+ {
239
+ displayName: 'Longitude',
240
+ name: 'longitude',
241
+ type: 'string',
242
+ default: '',
243
+ displayOptions: {
244
+ show: {
245
+ action: [
246
+ 'sendMessage',
247
+ ],
248
+ messageType: [
249
+ 'location',
250
+ ],
251
+ },
252
+ },
253
+ },
254
+ {
255
+ displayName: 'Title',
256
+ name: 'title',
257
+ type: 'string',
258
+ default: '',
259
+ displayOptions: {
260
+ show: {
261
+ action: [
262
+ 'sendMessage',
263
+ ],
264
+ messageType: [
265
+ 'location',
266
+ ],
267
+ },
268
+ },
269
+ },
270
+ {
271
+ displayName: 'Description',
272
+ name: 'description',
273
+ type: 'string',
274
+ default: '',
275
+ displayOptions: {
276
+ show: {
277
+ action: [
278
+ 'sendMessage',
279
+ ],
280
+ messageType: [
281
+ 'location',
282
+ ],
283
+ },
284
+ },
285
+ },
286
+ ],
287
+ };
288
+ }
289
+ async execute() {
290
+ const items = this.getInputData();
291
+ const returnData = [];
292
+ const length = items.length;
293
+ const qs = {};
294
+ let responseData;
295
+ const credentials = await this.getCredentials('whatsappApiCredentials');
296
+ let baseUrl = credentials.baseUrl.replace(/\/$/, '');
297
+ baseUrl = baseUrl.replace(/\/api\/send$/, '');
298
+ const apiToken = credentials.apiToken;
299
+ for (let i = 0; i < length; i++) {
300
+ try {
301
+ const action = this.getNodeParameter('action', i);
302
+ const session = this.getNodeParameter('session', i);
303
+ const phone = this.getNodeParameter('phone', i);
304
+ const messageType = this.getNodeParameter('messageType', i);
305
+ if (action === 'sendMessage') {
306
+ const body = {
307
+ sessionId: session,
308
+ phone: phone,
309
+ type: messageType,
310
+ };
311
+ if (messageType === 'text') {
312
+ body.message = this.getNodeParameter('message', i);
313
+ }
314
+ else if (['image', 'video', 'document'].includes(messageType)) {
315
+ body.mediaUrl = this.getNodeParameter('mediaUrl', i);
316
+ body.message = this.getNodeParameter('caption', i);
317
+ }
318
+ else if (messageType === 'audio') {
319
+ body.mediaUrl = this.getNodeParameter('mediaUrl', i);
320
+ }
321
+ else if (messageType === 'ptt') {
322
+ body.mediaUrl = this.getNodeParameter('mediaUrl', i);
323
+ body.ptt = true;
324
+ }
325
+ else if (messageType === 'location') {
326
+ body.latitude = this.getNodeParameter('latitude', i);
327
+ body.longitude = this.getNodeParameter('longitude', i);
328
+ body.title = this.getNodeParameter('title', i);
329
+ body.description = this.getNodeParameter('description', i);
330
+ }
331
+ const options = {
332
+ headers: {
333
+ 'Authorization': `Bearer ${apiToken}`,
334
+ 'Content-Type': 'application/json',
335
+ },
336
+ method: 'POST',
337
+ body: body,
338
+ uri: `${baseUrl}/api/send`,
339
+ json: true,
340
+ };
341
+ responseData = await this.helpers.request(options);
342
+ }
343
+ else if (action === 'getStatus') {
344
+ const options = {
345
+ headers: {
346
+ 'Authorization': `Bearer ${apiToken}`,
347
+ 'Content-Type': 'application/json',
348
+ },
349
+ method: 'GET',
350
+ uri: `${baseUrl}/api/sessions/${session}/status`,
351
+ json: true,
352
+ };
353
+ responseData = await this.helpers.request(options);
354
+ }
355
+ else if (action === 'getSystemHealth') {
356
+ const options = {
357
+ headers: {
358
+ 'Authorization': `Bearer ${apiToken}`,
359
+ 'Content-Type': 'application/json',
360
+ },
361
+ method: 'GET',
362
+ uri: `${baseUrl}/api/system/health`,
363
+ json: true,
364
+ };
365
+ responseData = await this.helpers.request(options);
366
+ }
367
+ else if (action === 'createSession') {
368
+ const options = {
369
+ headers: {
370
+ 'Authorization': `Bearer ${apiToken}`,
371
+ 'Content-Type': 'application/json',
372
+ },
373
+ method: 'POST',
374
+ body: {
375
+ sessionId: session,
376
+ },
377
+ uri: `${baseUrl}/api/sessions/create`,
378
+ json: true,
379
+ };
380
+ responseData = await this.helpers.request(options);
381
+ }
382
+ else if (action === 'startSession') {
383
+ const options = {
384
+ headers: {
385
+ 'Authorization': `Bearer ${apiToken}`,
386
+ 'Content-Type': 'application/json',
387
+ },
388
+ method: 'POST',
389
+ body: {
390
+ sessionId: session,
391
+ },
392
+ uri: `${baseUrl}/api/sessions/start`,
393
+ json: true,
394
+ };
395
+ responseData = await this.helpers.request(options);
396
+ }
397
+ else if (action === 'pauseSession') {
398
+ const options = {
399
+ headers: {
400
+ 'Authorization': `Bearer ${apiToken}`,
401
+ 'Content-Type': 'application/json',
402
+ },
403
+ method: 'POST',
404
+ uri: `${baseUrl}/api/sessions/${session}/pause`,
405
+ json: true,
406
+ };
407
+ responseData = await this.helpers.request(options);
408
+ }
409
+ else if (action === 'resumeSession') {
410
+ const options = {
411
+ headers: {
412
+ 'Authorization': `Bearer ${apiToken}`,
413
+ 'Content-Type': 'application/json',
414
+ },
415
+ method: 'POST',
416
+ uri: `${baseUrl}/api/sessions/${session}/resume`,
417
+ json: true,
418
+ };
419
+ responseData = await this.helpers.request(options);
420
+ }
421
+ else if (action === 'deleteSession') {
422
+ const options = {
423
+ headers: {
424
+ 'Authorization': `Bearer ${apiToken}`,
425
+ 'Content-Type': 'application/json',
426
+ },
427
+ method: 'DELETE',
428
+ uri: `${baseUrl}/api/sessions/${session}`,
429
+ json: true,
430
+ };
431
+ responseData = await this.helpers.request(options);
432
+ }
433
+ else if (action === 'listSessions') {
434
+ const options = {
435
+ headers: {
436
+ 'Authorization': `Bearer ${apiToken}`,
437
+ 'Content-Type': 'application/json',
438
+ },
439
+ method: 'GET',
440
+ uri: `${baseUrl}/api/sessions`,
441
+ json: true,
442
+ };
443
+ responseData = await this.helpers.request(options);
444
+ }
445
+ else if (action === 'getQrCode') {
446
+ const options = {
447
+ headers: {
448
+ 'Authorization': `Bearer ${apiToken}`,
449
+ 'Content-Type': 'application/json',
450
+ },
451
+ method: 'GET',
452
+ uri: `${baseUrl}/api/sessions/${session}/qr`,
453
+ json: true,
454
+ };
455
+ responseData = await this.helpers.request(options);
456
+ }
457
+ else if (action === 'getProfilePic') {
458
+ const options = {
459
+ headers: {
460
+ 'Authorization': `Bearer ${apiToken}`,
461
+ 'Content-Type': 'application/json',
462
+ },
463
+ method: 'GET',
464
+ uri: `${baseUrl}/api/contacts/${phone}/profile-pic`,
465
+ json: true,
466
+ };
467
+ responseData = await this.helpers.request(options);
468
+ }
469
+ if (Array.isArray(responseData)) {
470
+ returnData.push.apply(returnData, responseData);
471
+ }
472
+ else if (responseData !== undefined) {
473
+ returnData.push({ json: responseData });
474
+ }
475
+ }
476
+ catch (error) {
477
+ if (this.continueOnFail()) {
478
+ returnData.push({ json: { error: error.message } });
479
+ continue;
480
+ }
481
+ throw error;
482
+ }
483
+ }
484
+ return [returnData];
485
+ }
486
+ }
487
+ exports.WhatsAppSender = WhatsAppSender;
488
+ //# sourceMappingURL=WhatsAppSender.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhatsAppSender.node.js","sourceRoot":"","sources":["../../../nodes/WhatsAppSender/WhatsAppSender.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="none">
2
+ <path fill="#25D366" d="M16 2.001c-7.732 0-14 6.268-14 14 0 2.483.649 4.814 1.782 6.862L2 29.999l7.352-1.928A13.914 13.914 0 0 0 16 30.001c7.732 0 14-6.268 14-14s-6.268-14-14-14zm0 25.564c-2.31 0-4.502-.693-6.353-1.884l-.454-.296-4.661 1.222 1.246-4.545-.286-.467A11.516 11.516 0 0 1 4.436 16.001c0-6.388 5.183-11.564 11.564-11.564 6.382 0 11.564 5.176 11.564 11.564 0 6.388-5.182 11.564-11.564 11.564z"/>
3
+ </svg>
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WhatsAppTrigger = void 0;
4
+ class WhatsAppTrigger {
5
+ constructor() {
6
+ this.description = {
7
+ displayName: 'WhatsApp Trigger',
8
+ name: 'whatsappTrigger',
9
+ icon: 'file:whatsapp.svg',
10
+ group: ['trigger'],
11
+ version: 1,
12
+ description: 'Starts the workflow when a WhatsApp message is received',
13
+ defaults: {
14
+ name: 'WhatsApp Trigger',
15
+ },
16
+ inputs: [],
17
+ outputs: ['main'],
18
+ credentials: [],
19
+ webhooks: [
20
+ {
21
+ name: 'default',
22
+ httpMethod: 'POST',
23
+ responseMode: 'onReceived',
24
+ path: 'whatsapp-webhook',
25
+ },
26
+ ],
27
+ properties: [
28
+ {
29
+ displayName: 'Events',
30
+ name: 'events',
31
+ type: 'options',
32
+ options: [
33
+ {
34
+ name: 'On Message Received',
35
+ value: 'onMessageReceived',
36
+ },
37
+ ],
38
+ default: 'onMessageReceived',
39
+ description: 'The event to listen to.',
40
+ },
41
+ {
42
+ displayName: 'Filter by Type',
43
+ name: 'filterByType',
44
+ type: 'multiOptions',
45
+ options: [
46
+ {
47
+ name: 'Text',
48
+ value: 'text',
49
+ },
50
+ {
51
+ name: 'Audio',
52
+ value: 'audio',
53
+ },
54
+ {
55
+ name: 'Image',
56
+ value: 'image',
57
+ },
58
+ {
59
+ name: 'Video',
60
+ value: 'video',
61
+ },
62
+ {
63
+ name: 'Document',
64
+ value: 'document',
65
+ },
66
+ {
67
+ name: 'Location',
68
+ value: 'location',
69
+ },
70
+ {
71
+ name: 'Sticker',
72
+ value: 'sticker',
73
+ },
74
+ {
75
+ name: 'Call',
76
+ value: 'call',
77
+ },
78
+ ],
79
+ default: [],
80
+ description: 'Select the message types to trigger on. If empty, all types will trigger.',
81
+ },
82
+ {
83
+ displayName: 'Filter by Source',
84
+ name: 'filterBySource',
85
+ type: 'options',
86
+ options: [
87
+ {
88
+ name: 'All',
89
+ value: 'all',
90
+ },
91
+ {
92
+ name: 'Private Chats Only',
93
+ value: 'private',
94
+ },
95
+ {
96
+ name: 'Groups Only',
97
+ value: 'group',
98
+ },
99
+ ],
100
+ default: 'all',
101
+ description: 'Filter messages from private chats or groups.',
102
+ },
103
+ {
104
+ displayName: 'Ignore My Own Messages',
105
+ name: 'ignoreOwnMessages',
106
+ type: 'boolean',
107
+ default: true,
108
+ description: 'Whether to ignore messages sent by you.',
109
+ },
110
+ ],
111
+ };
112
+ }
113
+ async webhook() {
114
+ const bodyData = this.getBodyData();
115
+ const filterByType = this.getNodeParameter('filterByType');
116
+ const filterBySource = this.getNodeParameter('filterBySource');
117
+ const ignoreOwnMessages = this.getNodeParameter('ignoreOwnMessages');
118
+ const message = bodyData.message;
119
+ const chat = bodyData.chat;
120
+ if (!message) {
121
+ return {};
122
+ }
123
+ if (filterByType.length > 0) {
124
+ const type = message.type;
125
+ let checkType = type;
126
+ if (checkType === 'ptt')
127
+ checkType = 'audio';
128
+ if (!filterByType.includes(checkType) && !filterByType.includes(type)) {
129
+ return {};
130
+ }
131
+ }
132
+ const isGroup = chat && chat.isGroup === true;
133
+ if (filterBySource === 'private' && isGroup) {
134
+ return {};
135
+ }
136
+ if (filterBySource === 'group' && !isGroup) {
137
+ return {};
138
+ }
139
+ if (ignoreOwnMessages && message.fromMe === true) {
140
+ return {};
141
+ }
142
+ return {
143
+ workflowData: [
144
+ this.helpers.returnJsonArray(bodyData),
145
+ ],
146
+ };
147
+ }
148
+ }
149
+ exports.WhatsAppTrigger = WhatsAppTrigger;
150
+ //# sourceMappingURL=WhatsAppTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WhatsAppTrigger.node.js","sourceRoot":"","sources":["../../../nodes/WhatsAppTrigger/WhatsAppTrigger.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32" fill="none">
2
+ <path fill="#25D366" d="M16 2.001c-7.732 0-14 6.268-14 14 0 2.483.649 4.814 1.782 6.862L2 29.999l7.352-1.928A13.914 13.914 0 0 0 16 30.001c7.732 0 14-6.268 14-14s-6.268-14-14-14zm0 25.564c-2.31 0-4.502-.693-6.353-1.884l-.454-.296-4.661 1.222 1.246-4.545-.286-.467A11.516 11.516 0 0 1 4.436 16.001c0-6.388 5.183-11.564 11.564-11.564 6.382 0 11.564 5.176 11.564 11.564 0 6.388-5.182 11.564-11.564 11.564z"/>
3
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-genisys-whatsapp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Custom n8n node for WhatsApp API",
5
5
  "keywords": [
6
6
  "n8n-community-node-package"
@@ -22,7 +22,8 @@
22
22
  ],
23
23
  "n8n": {
24
24
  "nodes": [
25
- "dist/nodes/WhatsAppApi/WhatsAppApi.node.js"
25
+ "dist/nodes/WhatsAppSender/WhatsAppSender.node.js",
26
+ "dist/nodes/WhatsAppTrigger/WhatsAppTrigger.node.js"
26
27
  ],
27
28
  "credentials": [
28
29
  "dist/credentials/WhatsAppApiCredentials.credentials.js"