n8n-nodes-ycloud 0.2.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.
Files changed (31) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/dist/credentials/YCloudApi.credentials.d.ts +22 -0
  4. package/dist/credentials/YCloudApi.credentials.js +48 -0
  5. package/dist/credentials/YCloudApi.credentials.js.map +1 -0
  6. package/dist/index.d.ts +4 -0
  7. package/dist/index.js +8 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/nodes/YCloud/YCloud.node.d.ts +10 -0
  10. package/dist/nodes/YCloud/YCloud.node.js +427 -0
  11. package/dist/nodes/YCloud/YCloud.node.js.map +1 -0
  12. package/dist/nodes/YCloud/descriptions/inboundMessageDescription.d.ts +3 -0
  13. package/dist/nodes/YCloud/descriptions/inboundMessageDescription.js +62 -0
  14. package/dist/nodes/YCloud/descriptions/inboundMessageDescription.js.map +1 -0
  15. package/dist/nodes/YCloud/descriptions/messageDescription.d.ts +3 -0
  16. package/dist/nodes/YCloud/descriptions/messageDescription.js +381 -0
  17. package/dist/nodes/YCloud/descriptions/messageDescription.js.map +1 -0
  18. package/dist/nodes/YCloud/descriptions/templateDescription.d.ts +3 -0
  19. package/dist/nodes/YCloud/descriptions/templateDescription.js +164 -0
  20. package/dist/nodes/YCloud/descriptions/templateDescription.js.map +1 -0
  21. package/dist/nodes/YCloud/transport/request.d.ts +8 -0
  22. package/dist/nodes/YCloud/transport/request.js +66 -0
  23. package/dist/nodes/YCloud/transport/request.js.map +1 -0
  24. package/dist/nodes/YCloud/utils/errors.d.ts +24 -0
  25. package/dist/nodes/YCloud/utils/errors.js +114 -0
  26. package/dist/nodes/YCloud/utils/errors.js.map +1 -0
  27. package/dist/nodes/YCloud/utils/validators.d.ts +3 -0
  28. package/dist/nodes/YCloud/utils/validators.js +19 -0
  29. package/dist/nodes/YCloud/utils/validators.js.map +1 -0
  30. package/dist/nodes/YCloud/ycloud.svg +7 -0
  31. package/package.json +48 -0
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inboundMessageFields = exports.inboundMessageOperations = void 0;
4
+ exports.inboundMessageOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['inboundMessage'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Mark As Read',
18
+ value: 'markAsRead',
19
+ description: 'Mark inbound message as read',
20
+ action: 'Mark an inbound message as read',
21
+ },
22
+ {
23
+ name: 'Typing Indicator',
24
+ value: 'typingIndicator',
25
+ description: 'Send typing indicator to user',
26
+ action: 'Send typing indicator',
27
+ },
28
+ ],
29
+ default: 'markAsRead',
30
+ },
31
+ ];
32
+ exports.inboundMessageFields = [
33
+ {
34
+ displayName: 'Inbound Message ID (wamid)',
35
+ name: 'wamid',
36
+ type: 'string',
37
+ required: true,
38
+ default: '',
39
+ displayOptions: {
40
+ show: {
41
+ resource: ['inboundMessage'],
42
+ },
43
+ },
44
+ description: 'WhatsApp message ID from webhook payload',
45
+ },
46
+ {
47
+ displayName: 'From',
48
+ name: 'from',
49
+ type: 'string',
50
+ required: true,
51
+ default: '',
52
+ placeholder: '+34600111222',
53
+ displayOptions: {
54
+ show: {
55
+ resource: ['inboundMessage'],
56
+ operation: ['typingIndicator'],
57
+ },
58
+ },
59
+ description: 'Destination phone number in E.164 format for typing indicator',
60
+ },
61
+ ];
62
+ //# sourceMappingURL=inboundMessageDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inboundMessageDescription.js","sourceRoot":"","sources":["../../../../src/nodes/YCloud/descriptions/inboundMessageDescription.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAsB;IACzD;QACE,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,8BAA8B;gBAC3C,MAAM,EAAE,iCAAiC;aAC1C;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,+BAA+B;gBAC5C,MAAM,EAAE,uBAAuB;aAChC;SACF;QACD,OAAO,EAAE,YAAY;KACtB;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAsB;IACrD;QACE,WAAW,EAAE,4BAA4B;QACzC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;SACF;QACD,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,cAAc;QAC3B,cAAc,EAAE;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,CAAC,gBAAgB,CAAC;gBAC5B,SAAS,EAAE,CAAC,iBAAiB,CAAC;aAC/B;SACF;QACD,WAAW,EAAE,+DAA+D;KAC7E;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const messageOperations: INodeProperties[];
3
+ export declare const messageFields: INodeProperties[];
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageFields = exports.messageOperations = void 0;
4
+ exports.messageOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['message'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'Send Directly',
18
+ value: 'sendDirectly',
19
+ description: 'Send a message immediately',
20
+ action: 'Send a message directly',
21
+ },
22
+ {
23
+ name: 'Enqueue',
24
+ value: 'enqueue',
25
+ description: 'Enqueue a message for async sending',
26
+ action: 'Enqueue a message',
27
+ },
28
+ {
29
+ name: 'Retrieve',
30
+ value: 'retrieve',
31
+ description: 'Retrieve message delivery info',
32
+ action: 'Retrieve a message',
33
+ },
34
+ ],
35
+ default: 'sendDirectly',
36
+ },
37
+ ];
38
+ exports.messageFields = [
39
+ {
40
+ displayName: 'From',
41
+ name: 'from',
42
+ type: 'string',
43
+ required: true,
44
+ default: '',
45
+ placeholder: '+15551234567',
46
+ displayOptions: {
47
+ show: {
48
+ resource: ['message'],
49
+ operation: ['sendDirectly', 'enqueue'],
50
+ },
51
+ },
52
+ description: 'Sender phone number in E.164 format',
53
+ },
54
+ {
55
+ displayName: 'To',
56
+ name: 'to',
57
+ type: 'string',
58
+ required: true,
59
+ default: '',
60
+ placeholder: '+34600111222',
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['message'],
64
+ operation: ['sendDirectly', 'enqueue'],
65
+ },
66
+ },
67
+ description: 'Recipient phone number in E.164 format',
68
+ },
69
+ {
70
+ displayName: 'External ID',
71
+ name: 'externalId',
72
+ type: 'string',
73
+ default: '',
74
+ displayOptions: {
75
+ show: {
76
+ resource: ['message'],
77
+ operation: ['sendDirectly', 'enqueue'],
78
+ },
79
+ },
80
+ description: 'Optional external identifier for idempotency/correlation',
81
+ },
82
+ {
83
+ displayName: 'Context Message ID (wamid)',
84
+ name: 'contextMessageId',
85
+ type: 'string',
86
+ default: '',
87
+ displayOptions: {
88
+ show: {
89
+ resource: ['message'],
90
+ operation: ['sendDirectly', 'enqueue'],
91
+ },
92
+ },
93
+ description: 'Optional WhatsApp message ID (wamid...) to send this message as a reply context',
94
+ },
95
+ {
96
+ displayName: 'Filter Unsubscribed',
97
+ name: 'filterUnsubscribed',
98
+ type: 'boolean',
99
+ default: false,
100
+ displayOptions: {
101
+ show: {
102
+ resource: ['message'],
103
+ operation: ['enqueue'],
104
+ },
105
+ },
106
+ description: 'Only for enqueue. If enabled, message is filtered for unsubscribed users instead of being sent',
107
+ },
108
+ {
109
+ displayName: 'Filter Blocked',
110
+ name: 'filterBlocked',
111
+ type: 'boolean',
112
+ default: false,
113
+ displayOptions: {
114
+ show: {
115
+ resource: ['message'],
116
+ operation: ['enqueue'],
117
+ },
118
+ },
119
+ description: 'Only for enqueue. If enabled, message is filtered for users in your block list instead of being sent',
120
+ },
121
+ {
122
+ displayName: 'Message Type',
123
+ name: 'messageType',
124
+ type: 'options',
125
+ required: true,
126
+ default: 'text',
127
+ displayOptions: {
128
+ show: {
129
+ resource: ['message'],
130
+ operation: ['sendDirectly', 'enqueue'],
131
+ },
132
+ },
133
+ options: [
134
+ { name: 'Text', value: 'text' },
135
+ { name: 'Template', value: 'template' },
136
+ { name: 'Image', value: 'image' },
137
+ ],
138
+ },
139
+ {
140
+ displayName: 'Text Body',
141
+ name: 'textBody',
142
+ type: 'string',
143
+ required: true,
144
+ default: '',
145
+ displayOptions: {
146
+ show: {
147
+ resource: ['message'],
148
+ operation: ['sendDirectly', 'enqueue'],
149
+ messageType: ['text'],
150
+ },
151
+ },
152
+ description: 'Message text',
153
+ },
154
+ {
155
+ displayName: 'Preview URL',
156
+ name: 'textPreviewUrl',
157
+ type: 'boolean',
158
+ default: false,
159
+ displayOptions: {
160
+ show: {
161
+ resource: ['message'],
162
+ operation: ['sendDirectly', 'enqueue'],
163
+ messageType: ['text'],
164
+ },
165
+ },
166
+ description: 'Whether URLs in text body should generate link preview',
167
+ },
168
+ {
169
+ displayName: 'Template Source',
170
+ name: 'templateSource',
171
+ type: 'options',
172
+ default: 'manual',
173
+ displayOptions: {
174
+ show: {
175
+ resource: ['message'],
176
+ operation: ['sendDirectly', 'enqueue'],
177
+ messageType: ['template'],
178
+ },
179
+ },
180
+ options: [
181
+ {
182
+ name: 'Manual',
183
+ value: 'manual',
184
+ description: 'Set template name and language manually',
185
+ },
186
+ {
187
+ name: 'From YCloud',
188
+ value: 'ycloud',
189
+ description: 'Load templates dynamically from YCloud account',
190
+ },
191
+ ],
192
+ },
193
+ {
194
+ displayName: 'Template WABA ID',
195
+ name: 'templateWabaId',
196
+ type: 'string',
197
+ default: '',
198
+ displayOptions: {
199
+ show: {
200
+ resource: ['message'],
201
+ operation: ['sendDirectly', 'enqueue'],
202
+ messageType: ['template'],
203
+ templateSource: ['ycloud'],
204
+ },
205
+ },
206
+ description: 'Optional WABA ID to filter dynamic template list (recommended if your account has many WABAs)',
207
+ },
208
+ {
209
+ displayName: 'Template',
210
+ name: 'templateReference',
211
+ type: 'options',
212
+ required: true,
213
+ default: '',
214
+ typeOptions: {
215
+ loadOptionsMethod: 'getTemplateOptions',
216
+ loadOptionsDependsOn: ['templateWabaId'],
217
+ },
218
+ displayOptions: {
219
+ show: {
220
+ resource: ['message'],
221
+ operation: ['sendDirectly', 'enqueue'],
222
+ messageType: ['template'],
223
+ templateSource: ['ycloud'],
224
+ },
225
+ },
226
+ description: 'Template name/language loaded from YCloud',
227
+ },
228
+ {
229
+ displayName: 'Template Name',
230
+ name: 'templateName',
231
+ type: 'string',
232
+ required: true,
233
+ default: '',
234
+ displayOptions: {
235
+ show: {
236
+ resource: ['message'],
237
+ operation: ['sendDirectly', 'enqueue'],
238
+ messageType: ['template'],
239
+ templateSource: ['manual'],
240
+ },
241
+ },
242
+ description: 'Template identifier in YCloud',
243
+ },
244
+ {
245
+ displayName: 'Template Language Code',
246
+ name: 'templateLanguageCode',
247
+ type: 'string',
248
+ required: true,
249
+ default: 'en',
250
+ displayOptions: {
251
+ show: {
252
+ resource: ['message'],
253
+ operation: ['sendDirectly', 'enqueue'],
254
+ messageType: ['template'],
255
+ templateSource: ['manual'],
256
+ },
257
+ },
258
+ description: 'Template language code (for example: en, es, en_US)',
259
+ },
260
+ {
261
+ displayName: 'Template Language Policy',
262
+ name: 'templateLanguagePolicy',
263
+ type: 'options',
264
+ default: 'deterministic',
265
+ displayOptions: {
266
+ show: {
267
+ resource: ['message'],
268
+ operation: ['sendDirectly', 'enqueue'],
269
+ messageType: ['template'],
270
+ },
271
+ },
272
+ options: [
273
+ {
274
+ name: 'Deterministic',
275
+ value: 'deterministic',
276
+ },
277
+ {
278
+ name: 'Fallback',
279
+ value: 'fallback',
280
+ },
281
+ ],
282
+ description: 'Template language policy sent in template.language.policy',
283
+ },
284
+ {
285
+ displayName: 'Template Body Variables',
286
+ name: 'templateBodyVariables',
287
+ placeholder: 'Add Variable',
288
+ type: 'fixedCollection',
289
+ typeOptions: {
290
+ multipleValues: true,
291
+ },
292
+ default: {
293
+ values: [],
294
+ },
295
+ displayOptions: {
296
+ show: {
297
+ resource: ['message'],
298
+ operation: ['sendDirectly', 'enqueue'],
299
+ messageType: ['template'],
300
+ },
301
+ },
302
+ options: [
303
+ {
304
+ displayName: 'Values',
305
+ name: 'values',
306
+ values: [
307
+ {
308
+ displayName: 'Value',
309
+ name: 'value',
310
+ type: 'string',
311
+ default: '',
312
+ },
313
+ ],
314
+ },
315
+ ],
316
+ description: 'Values mapped in order to body placeholders ({{1}}, {{2}}, ...). Ignored when advanced components JSON is provided',
317
+ },
318
+ {
319
+ displayName: 'Template Components JSON (Advanced)',
320
+ name: 'templateComponentsJson',
321
+ type: 'string',
322
+ typeOptions: {
323
+ rows: 6,
324
+ },
325
+ default: '',
326
+ displayOptions: {
327
+ show: {
328
+ resource: ['message'],
329
+ operation: ['sendDirectly', 'enqueue'],
330
+ messageType: ['template'],
331
+ },
332
+ },
333
+ description: 'Optional JSON array for full template components (header/body/button/etc.). If set, it overrides simple body variables',
334
+ },
335
+ {
336
+ displayName: 'Validate Placeholder Count',
337
+ name: 'templateValidatePlaceholderCount',
338
+ type: 'boolean',
339
+ default: true,
340
+ displayOptions: {
341
+ show: {
342
+ resource: ['message'],
343
+ operation: ['sendDirectly', 'enqueue'],
344
+ messageType: ['template'],
345
+ templateSource: ['ycloud'],
346
+ },
347
+ },
348
+ description: 'When enabled, retrieves selected template and validates body placeholder count against provided body variables',
349
+ },
350
+ {
351
+ displayName: 'Image URL',
352
+ name: 'imageUrl',
353
+ type: 'string',
354
+ required: true,
355
+ default: '',
356
+ placeholder: 'https://example.com/image.jpg',
357
+ displayOptions: {
358
+ show: {
359
+ resource: ['message'],
360
+ operation: ['sendDirectly', 'enqueue'],
361
+ messageType: ['image'],
362
+ },
363
+ },
364
+ description: 'Public image URL (HTTPS)',
365
+ },
366
+ {
367
+ displayName: 'Message ID',
368
+ name: 'messageId',
369
+ type: 'string',
370
+ required: true,
371
+ default: '',
372
+ displayOptions: {
373
+ show: {
374
+ resource: ['message'],
375
+ operation: ['retrieve'],
376
+ },
377
+ },
378
+ description: 'Message ID returned by YCloud',
379
+ },
380
+ ];
381
+ //# sourceMappingURL=messageDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageDescription.js","sourceRoot":"","sources":["../../../../src/nodes/YCloud/descriptions/messageDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const templateOperations: INodeProperties[];
3
+ export declare const templateFields: INodeProperties[];
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.templateFields = exports.templateOperations = void 0;
4
+ exports.templateOperations = [
5
+ {
6
+ displayName: 'Operation',
7
+ name: 'operation',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ displayOptions: {
11
+ show: {
12
+ resource: ['template'],
13
+ },
14
+ },
15
+ options: [
16
+ {
17
+ name: 'List',
18
+ value: 'list',
19
+ description: 'List WhatsApp templates',
20
+ action: 'List templates',
21
+ },
22
+ {
23
+ name: 'Retrieve',
24
+ value: 'retrieve',
25
+ description: 'Retrieve template by WABA, name and language',
26
+ action: 'Retrieve a template',
27
+ },
28
+ ],
29
+ default: 'list',
30
+ },
31
+ ];
32
+ exports.templateFields = [
33
+ {
34
+ displayName: 'Page',
35
+ name: 'templateListPage',
36
+ type: 'number',
37
+ typeOptions: {
38
+ minValue: 1,
39
+ maxValue: 100,
40
+ numberPrecision: 0,
41
+ },
42
+ default: 1,
43
+ displayOptions: {
44
+ show: {
45
+ resource: ['template'],
46
+ operation: ['list'],
47
+ },
48
+ },
49
+ description: 'Page number (1-based)',
50
+ },
51
+ {
52
+ displayName: 'Limit',
53
+ name: 'templateListLimit',
54
+ type: 'number',
55
+ typeOptions: {
56
+ minValue: 1,
57
+ maxValue: 100,
58
+ numberPrecision: 0,
59
+ },
60
+ default: 10,
61
+ displayOptions: {
62
+ show: {
63
+ resource: ['template'],
64
+ operation: ['list'],
65
+ },
66
+ },
67
+ description: 'Number of results per page',
68
+ },
69
+ {
70
+ displayName: 'Include Total',
71
+ name: 'templateListIncludeTotal',
72
+ type: 'boolean',
73
+ default: false,
74
+ displayOptions: {
75
+ show: {
76
+ resource: ['template'],
77
+ operation: ['list'],
78
+ },
79
+ },
80
+ description: 'Whether to include total count in response (may be slower)',
81
+ },
82
+ {
83
+ displayName: 'Filter WABA ID',
84
+ name: 'templateListFilterWabaId',
85
+ type: 'string',
86
+ default: '',
87
+ displayOptions: {
88
+ show: {
89
+ resource: ['template'],
90
+ operation: ['list'],
91
+ },
92
+ },
93
+ description: 'Optional WhatsApp Business Account ID filter',
94
+ },
95
+ {
96
+ displayName: 'Filter Name',
97
+ name: 'templateListFilterName',
98
+ type: 'string',
99
+ default: '',
100
+ displayOptions: {
101
+ show: {
102
+ resource: ['template'],
103
+ operation: ['list'],
104
+ },
105
+ },
106
+ description: 'Optional template name filter',
107
+ },
108
+ {
109
+ displayName: 'Filter Language',
110
+ name: 'templateListFilterLanguage',
111
+ type: 'string',
112
+ default: '',
113
+ displayOptions: {
114
+ show: {
115
+ resource: ['template'],
116
+ operation: ['list'],
117
+ },
118
+ },
119
+ description: 'Optional language code filter (for example en_US)',
120
+ },
121
+ {
122
+ displayName: 'WABA ID',
123
+ name: 'templateGetWabaId',
124
+ type: 'string',
125
+ required: true,
126
+ default: '',
127
+ displayOptions: {
128
+ show: {
129
+ resource: ['template'],
130
+ operation: ['retrieve'],
131
+ },
132
+ },
133
+ description: 'WhatsApp Business Account ID',
134
+ },
135
+ {
136
+ displayName: 'Template Name',
137
+ name: 'templateGetName',
138
+ type: 'string',
139
+ required: true,
140
+ default: '',
141
+ displayOptions: {
142
+ show: {
143
+ resource: ['template'],
144
+ operation: ['retrieve'],
145
+ },
146
+ },
147
+ description: 'Template name',
148
+ },
149
+ {
150
+ displayName: 'Template Language',
151
+ name: 'templateGetLanguage',
152
+ type: 'string',
153
+ required: true,
154
+ default: 'en_US',
155
+ displayOptions: {
156
+ show: {
157
+ resource: ['template'],
158
+ operation: ['retrieve'],
159
+ },
160
+ },
161
+ description: 'Template language code (for example en_US)',
162
+ },
163
+ ];
164
+ //# sourceMappingURL=templateDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateDescription.js","sourceRoot":"","sources":["../../../../src/nodes/YCloud/descriptions/templateDescription.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';
2
+ export interface YCloudRequestOptions {
3
+ method: 'GET' | 'POST';
4
+ endpoint: string;
5
+ body?: IDataObject;
6
+ qs?: IDataObject;
7
+ }
8
+ export declare function makeYCloudRequest(this: IExecuteFunctions, itemIndex: number, options: YCloudRequestOptions): Promise<IDataObject>;