n8n-nodes-whaapy 0.3.0 → 0.3.1
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/Whaapy/Whaapy.node.js +99 -539
- package/package.json +1 -1
|
@@ -44,10 +44,10 @@ function buildInteractivePayload(params) {
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
// Add footer if specified
|
|
48
|
-
if (params.footerText) {
|
|
47
|
+
// Add footer if specified and not empty
|
|
48
|
+
if (params.footerText && params.footerText.trim()) {
|
|
49
49
|
interactive.footer = {
|
|
50
|
-
text: params.footerText,
|
|
50
|
+
text: params.footerText.trim(),
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
// Build action based on type
|
|
@@ -142,24 +142,12 @@ class Whaapy {
|
|
|
142
142
|
value: 'send',
|
|
143
143
|
action: 'Send a message',
|
|
144
144
|
description: 'Send a WhatsApp message',
|
|
145
|
-
routing: {
|
|
146
|
-
request: {
|
|
147
|
-
method: 'POST',
|
|
148
|
-
url: '/messages/v1',
|
|
149
|
-
},
|
|
150
|
-
},
|
|
151
145
|
},
|
|
152
146
|
{
|
|
153
147
|
name: 'Retry',
|
|
154
148
|
value: 'retry',
|
|
155
149
|
action: 'Retry a failed message',
|
|
156
150
|
description: 'Retry sending a failed message',
|
|
157
|
-
routing: {
|
|
158
|
-
request: {
|
|
159
|
-
method: 'POST',
|
|
160
|
-
url: '=/messages/v1/{{$parameter.messageId}}/retry',
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
151
|
},
|
|
164
152
|
],
|
|
165
153
|
default: 'send',
|
|
@@ -176,9 +164,6 @@ class Whaapy {
|
|
|
176
164
|
displayOptions: {
|
|
177
165
|
show: { resource: ['message'], operation: ['send'] },
|
|
178
166
|
},
|
|
179
|
-
routing: {
|
|
180
|
-
send: { type: 'body', property: 'to' },
|
|
181
|
-
},
|
|
182
167
|
},
|
|
183
168
|
// Message: Send - Type
|
|
184
169
|
{
|
|
@@ -203,9 +188,6 @@ class Whaapy {
|
|
|
203
188
|
displayOptions: {
|
|
204
189
|
show: { resource: ['message'], operation: ['send'] },
|
|
205
190
|
},
|
|
206
|
-
routing: {
|
|
207
|
-
send: { type: 'body', property: 'type' },
|
|
208
|
-
},
|
|
209
191
|
},
|
|
210
192
|
// Message: Send - Text content
|
|
211
193
|
{
|
|
@@ -218,10 +200,7 @@ class Whaapy {
|
|
|
218
200
|
description: 'The text content of the message',
|
|
219
201
|
displayOptions: {
|
|
220
202
|
show: { resource: ['message'], operation: ['send'], messageType: ['text'] },
|
|
221
|
-
}
|
|
222
|
-
routing: {
|
|
223
|
-
send: { type: 'body', property: 'content' },
|
|
224
|
-
},
|
|
203
|
+
}
|
|
225
204
|
},
|
|
226
205
|
// Message: Send - Media URL (for image, video, audio, document, sticker)
|
|
227
206
|
{
|
|
@@ -239,9 +218,6 @@ class Whaapy {
|
|
|
239
218
|
messageType: ['image', 'video', 'audio', 'document', 'sticker'],
|
|
240
219
|
},
|
|
241
220
|
},
|
|
242
|
-
routing: {
|
|
243
|
-
send: { type: 'body', property: '={{$parameter.messageType}}.link' },
|
|
244
|
-
},
|
|
245
221
|
},
|
|
246
222
|
// Message: Send - Caption (for media)
|
|
247
223
|
{
|
|
@@ -257,9 +233,6 @@ class Whaapy {
|
|
|
257
233
|
messageType: ['image', 'video', 'document'],
|
|
258
234
|
},
|
|
259
235
|
},
|
|
260
|
-
routing: {
|
|
261
|
-
send: { type: 'body', property: '={{$parameter.messageType}}.caption' },
|
|
262
|
-
},
|
|
263
236
|
},
|
|
264
237
|
// Message: Send - Template name
|
|
265
238
|
{
|
|
@@ -272,10 +245,7 @@ class Whaapy {
|
|
|
272
245
|
description: 'Exact name of the WhatsApp template as it appears in Meta Business Manager',
|
|
273
246
|
displayOptions: {
|
|
274
247
|
show: { resource: ['message'], operation: ['send'], messageType: ['template'] },
|
|
275
|
-
}
|
|
276
|
-
routing: {
|
|
277
|
-
send: { type: 'body', property: 'templateName' },
|
|
278
|
-
},
|
|
248
|
+
}
|
|
279
249
|
},
|
|
280
250
|
// Message: Send - Template Language
|
|
281
251
|
{
|
|
@@ -297,10 +267,7 @@ class Whaapy {
|
|
|
297
267
|
{ name: 'French', value: 'fr' },
|
|
298
268
|
{ name: 'German', value: 'de' },
|
|
299
269
|
{ name: 'Italian', value: 'it' },
|
|
300
|
-
]
|
|
301
|
-
routing: {
|
|
302
|
-
send: { type: 'body', property: 'language' },
|
|
303
|
-
},
|
|
270
|
+
]
|
|
304
271
|
},
|
|
305
272
|
// Message: Send - Template Additional Options
|
|
306
273
|
{
|
|
@@ -320,13 +287,6 @@ class Whaapy {
|
|
|
320
287
|
default: '',
|
|
321
288
|
placeholder: 'Juan Pérez, #ORD-12345, $1500',
|
|
322
289
|
description: 'Comma-separated values for {{1}}, {{2}}, etc. placeholders in the template body',
|
|
323
|
-
routing: {
|
|
324
|
-
send: {
|
|
325
|
-
type: 'body',
|
|
326
|
-
property: 'template_parameters',
|
|
327
|
-
value: '={{ $value ? $value.split(",").map(v => v.trim()) : undefined }}',
|
|
328
|
-
},
|
|
329
|
-
},
|
|
330
290
|
},
|
|
331
291
|
{
|
|
332
292
|
displayName: 'Header Media Type',
|
|
@@ -337,10 +297,7 @@ class Whaapy {
|
|
|
337
297
|
{ name: 'Image', value: 'image' },
|
|
338
298
|
{ name: 'Video', value: 'video' },
|
|
339
299
|
{ name: 'Document', value: 'document' },
|
|
340
|
-
]
|
|
341
|
-
routing: {
|
|
342
|
-
send: { type: 'body', property: 'header_media.type' },
|
|
343
|
-
},
|
|
300
|
+
]
|
|
344
301
|
},
|
|
345
302
|
{
|
|
346
303
|
displayName: 'Header Media URL',
|
|
@@ -348,10 +305,7 @@ class Whaapy {
|
|
|
348
305
|
type: 'string',
|
|
349
306
|
default: '',
|
|
350
307
|
placeholder: 'https://example.com/image.jpg',
|
|
351
|
-
description: 'Public URL of the media file for header'
|
|
352
|
-
routing: {
|
|
353
|
-
send: { type: 'body', property: 'header_media.url' },
|
|
354
|
-
},
|
|
308
|
+
description: 'Public URL of the media file for header'
|
|
355
309
|
},
|
|
356
310
|
],
|
|
357
311
|
},
|
|
@@ -371,7 +325,7 @@ class Whaapy {
|
|
|
371
325
|
default: 'button',
|
|
372
326
|
description: 'Type of interactive message. Buttons show up to 3 options, Lists show a menu with sections.',
|
|
373
327
|
displayOptions: {
|
|
374
|
-
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'] },
|
|
328
|
+
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'], interactiveUseRawJson: [false] },
|
|
375
329
|
},
|
|
376
330
|
},
|
|
377
331
|
// Interactive: Body text (required)
|
|
@@ -385,7 +339,7 @@ class Whaapy {
|
|
|
385
339
|
placeholder: '¿Cómo podemos ayudarte hoy?',
|
|
386
340
|
description: 'Main text of the message. Max 1024 characters.',
|
|
387
341
|
displayOptions: {
|
|
388
|
-
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'] },
|
|
342
|
+
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'], interactiveUseRawJson: [false] },
|
|
389
343
|
},
|
|
390
344
|
},
|
|
391
345
|
// Interactive: Header type (optional)
|
|
@@ -403,7 +357,7 @@ class Whaapy {
|
|
|
403
357
|
],
|
|
404
358
|
description: 'Optional header for the message',
|
|
405
359
|
displayOptions: {
|
|
406
|
-
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'] },
|
|
360
|
+
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'], interactiveUseRawJson: [false] },
|
|
407
361
|
},
|
|
408
362
|
},
|
|
409
363
|
// Interactive: Header text (if type=text)
|
|
@@ -420,6 +374,7 @@ class Whaapy {
|
|
|
420
374
|
operation: ['send'],
|
|
421
375
|
messageType: ['interactive'],
|
|
422
376
|
interactiveHeaderType: ['text'],
|
|
377
|
+
interactiveUseRawJson: [false],
|
|
423
378
|
},
|
|
424
379
|
},
|
|
425
380
|
},
|
|
@@ -437,6 +392,7 @@ class Whaapy {
|
|
|
437
392
|
operation: ['send'],
|
|
438
393
|
messageType: ['interactive'],
|
|
439
394
|
interactiveHeaderType: ['image', 'video', 'document'],
|
|
395
|
+
interactiveUseRawJson: [false],
|
|
440
396
|
},
|
|
441
397
|
},
|
|
442
398
|
},
|
|
@@ -447,9 +403,9 @@ class Whaapy {
|
|
|
447
403
|
type: 'string',
|
|
448
404
|
default: '',
|
|
449
405
|
placeholder: 'Responde con una opción',
|
|
450
|
-
description: 'Optional footer text in gray. Max 60 characters.',
|
|
406
|
+
description: 'Optional footer text in gray. Max 60 characters. Leave empty to omit.',
|
|
451
407
|
displayOptions: {
|
|
452
|
-
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'] },
|
|
408
|
+
show: { resource: ['message'], operation: ['send'], messageType: ['interactive'], interactiveUseRawJson: [false] },
|
|
453
409
|
},
|
|
454
410
|
},
|
|
455
411
|
// Interactive: Buttons (if type=button)
|
|
@@ -469,6 +425,7 @@ class Whaapy {
|
|
|
469
425
|
operation: ['send'],
|
|
470
426
|
messageType: ['interactive'],
|
|
471
427
|
interactiveType: ['button'],
|
|
428
|
+
interactiveUseRawJson: [false],
|
|
472
429
|
},
|
|
473
430
|
},
|
|
474
431
|
options: [
|
|
@@ -512,6 +469,7 @@ class Whaapy {
|
|
|
512
469
|
operation: ['send'],
|
|
513
470
|
messageType: ['interactive'],
|
|
514
471
|
interactiveType: ['list'],
|
|
472
|
+
interactiveUseRawJson: [false],
|
|
515
473
|
},
|
|
516
474
|
},
|
|
517
475
|
},
|
|
@@ -532,6 +490,7 @@ class Whaapy {
|
|
|
532
490
|
operation: ['send'],
|
|
533
491
|
messageType: ['interactive'],
|
|
534
492
|
interactiveType: ['list'],
|
|
493
|
+
interactiveUseRawJson: [false],
|
|
535
494
|
},
|
|
536
495
|
},
|
|
537
496
|
options: [
|
|
@@ -630,10 +589,7 @@ class Whaapy {
|
|
|
630
589
|
default: 0,
|
|
631
590
|
displayOptions: {
|
|
632
591
|
show: { resource: ['message'], operation: ['send'], messageType: ['location'] },
|
|
633
|
-
}
|
|
634
|
-
routing: {
|
|
635
|
-
send: { type: 'body', property: 'location.latitude' },
|
|
636
|
-
},
|
|
592
|
+
}
|
|
637
593
|
},
|
|
638
594
|
{
|
|
639
595
|
displayName: 'Longitude',
|
|
@@ -643,10 +599,7 @@ class Whaapy {
|
|
|
643
599
|
default: 0,
|
|
644
600
|
displayOptions: {
|
|
645
601
|
show: { resource: ['message'], operation: ['send'], messageType: ['location'] },
|
|
646
|
-
}
|
|
647
|
-
routing: {
|
|
648
|
-
send: { type: 'body', property: 'location.longitude' },
|
|
649
|
-
},
|
|
602
|
+
}
|
|
650
603
|
},
|
|
651
604
|
{
|
|
652
605
|
displayName: 'Location Name',
|
|
@@ -655,10 +608,7 @@ class Whaapy {
|
|
|
655
608
|
default: '',
|
|
656
609
|
displayOptions: {
|
|
657
610
|
show: { resource: ['message'], operation: ['send'], messageType: ['location'] },
|
|
658
|
-
}
|
|
659
|
-
routing: {
|
|
660
|
-
send: { type: 'body', property: 'location.name' },
|
|
661
|
-
},
|
|
611
|
+
}
|
|
662
612
|
},
|
|
663
613
|
// Message: Send - Contacts
|
|
664
614
|
{
|
|
@@ -688,10 +638,7 @@ class Whaapy {
|
|
|
688
638
|
description: 'Array of contact cards to send. Each contact needs: name.formatted_name (required), phones[].phone (required). Optional: emails, org, addresses.',
|
|
689
639
|
displayOptions: {
|
|
690
640
|
show: { resource: ['message'], operation: ['send'], messageType: ['contacts'] },
|
|
691
|
-
}
|
|
692
|
-
routing: {
|
|
693
|
-
send: { type: 'body', property: 'contacts' },
|
|
694
|
-
},
|
|
641
|
+
}
|
|
695
642
|
},
|
|
696
643
|
// Message: Send - Reaction
|
|
697
644
|
{
|
|
@@ -702,10 +649,7 @@ class Whaapy {
|
|
|
702
649
|
default: '',
|
|
703
650
|
displayOptions: {
|
|
704
651
|
show: { resource: ['message'], operation: ['send'], messageType: ['reaction'] },
|
|
705
|
-
}
|
|
706
|
-
routing: {
|
|
707
|
-
send: { type: 'body', property: 'reaction.message_id' },
|
|
708
|
-
},
|
|
652
|
+
}
|
|
709
653
|
},
|
|
710
654
|
{
|
|
711
655
|
displayName: 'Emoji',
|
|
@@ -715,10 +659,7 @@ class Whaapy {
|
|
|
715
659
|
default: '👍',
|
|
716
660
|
displayOptions: {
|
|
717
661
|
show: { resource: ['message'], operation: ['send'], messageType: ['reaction'] },
|
|
718
|
-
}
|
|
719
|
-
routing: {
|
|
720
|
-
send: { type: 'body', property: 'reaction.emoji' },
|
|
721
|
-
},
|
|
662
|
+
}
|
|
722
663
|
},
|
|
723
664
|
// Message: Send - Additional Fields
|
|
724
665
|
{
|
|
@@ -736,60 +677,42 @@ class Whaapy {
|
|
|
736
677
|
name: 'pauseAi',
|
|
737
678
|
type: 'boolean',
|
|
738
679
|
default: false,
|
|
739
|
-
description: 'Pause AI after sending this message'
|
|
740
|
-
routing: {
|
|
741
|
-
send: { type: 'body', property: 'ai.pause' },
|
|
742
|
-
},
|
|
680
|
+
description: 'Pause AI after sending this message'
|
|
743
681
|
},
|
|
744
682
|
{
|
|
745
683
|
displayName: 'Pause Duration (Minutes)',
|
|
746
684
|
name: 'pauseDuration',
|
|
747
685
|
type: 'number',
|
|
748
686
|
default: 5,
|
|
749
|
-
description: 'How long to pause AI (1-1440 minutes)'
|
|
750
|
-
routing: {
|
|
751
|
-
send: { type: 'body', property: 'ai.pauseDuration' },
|
|
752
|
-
},
|
|
687
|
+
description: 'How long to pause AI (1-1440 minutes)'
|
|
753
688
|
},
|
|
754
689
|
{
|
|
755
690
|
displayName: 'Disable AI',
|
|
756
691
|
name: 'disableAi',
|
|
757
692
|
type: 'boolean',
|
|
758
693
|
default: false,
|
|
759
|
-
description: 'Permanently disable AI for this conversation'
|
|
760
|
-
routing: {
|
|
761
|
-
send: { type: 'body', property: 'ai.disable' },
|
|
762
|
-
},
|
|
694
|
+
description: 'Permanently disable AI for this conversation'
|
|
763
695
|
},
|
|
764
696
|
{
|
|
765
697
|
displayName: 'Reply To Message ID',
|
|
766
698
|
name: 'replyTo',
|
|
767
699
|
type: 'string',
|
|
768
700
|
default: '',
|
|
769
|
-
description: 'Message ID to reply to'
|
|
770
|
-
routing: {
|
|
771
|
-
send: { type: 'body', property: 'context.message_id' },
|
|
772
|
-
},
|
|
701
|
+
description: 'Message ID to reply to'
|
|
773
702
|
},
|
|
774
703
|
{
|
|
775
704
|
displayName: 'Create Conversation',
|
|
776
705
|
name: 'createConversation',
|
|
777
706
|
type: 'boolean',
|
|
778
707
|
default: true,
|
|
779
|
-
description: 'Create a conversation if it doesn\'t exist'
|
|
780
|
-
routing: {
|
|
781
|
-
send: { type: 'body', property: 'createConversation' },
|
|
782
|
-
},
|
|
708
|
+
description: 'Create a conversation if it doesn\'t exist'
|
|
783
709
|
},
|
|
784
710
|
{
|
|
785
711
|
displayName: 'Metadata',
|
|
786
712
|
name: 'metadata',
|
|
787
713
|
type: 'json',
|
|
788
714
|
default: '{}',
|
|
789
|
-
description: 'Custom metadata to attach to the message'
|
|
790
|
-
routing: {
|
|
791
|
-
send: { type: 'body', property: 'metadata' },
|
|
792
|
-
},
|
|
715
|
+
description: 'Custom metadata to attach to the message'
|
|
793
716
|
},
|
|
794
717
|
],
|
|
795
718
|
},
|
|
@@ -821,13 +744,7 @@ class Whaapy {
|
|
|
821
744
|
name: 'Upload',
|
|
822
745
|
value: 'upload',
|
|
823
746
|
action: 'Upload media',
|
|
824
|
-
description: 'Upload media to WhatsApp CDN'
|
|
825
|
-
routing: {
|
|
826
|
-
request: {
|
|
827
|
-
method: 'POST',
|
|
828
|
-
url: '/media/v1',
|
|
829
|
-
},
|
|
830
|
-
},
|
|
747
|
+
description: 'Upload media to WhatsApp CDN'
|
|
831
748
|
},
|
|
832
749
|
],
|
|
833
750
|
default: 'upload',
|
|
@@ -848,10 +765,7 @@ class Whaapy {
|
|
|
848
765
|
default: 'image',
|
|
849
766
|
displayOptions: {
|
|
850
767
|
show: { resource: ['media'], operation: ['upload'] },
|
|
851
|
-
}
|
|
852
|
-
routing: {
|
|
853
|
-
send: { type: 'body', property: 'type' },
|
|
854
|
-
},
|
|
768
|
+
}
|
|
855
769
|
},
|
|
856
770
|
// Media: Upload - Binary property
|
|
857
771
|
{
|
|
@@ -881,121 +795,61 @@ class Whaapy {
|
|
|
881
795
|
name: 'List',
|
|
882
796
|
value: 'list',
|
|
883
797
|
action: 'List conversations',
|
|
884
|
-
description: 'Get all conversations'
|
|
885
|
-
routing: {
|
|
886
|
-
request: {
|
|
887
|
-
method: 'GET',
|
|
888
|
-
url: '/conversations/v1',
|
|
889
|
-
},
|
|
890
|
-
},
|
|
798
|
+
description: 'Get all conversations'
|
|
891
799
|
},
|
|
892
800
|
{
|
|
893
801
|
name: 'Get',
|
|
894
802
|
value: 'get',
|
|
895
803
|
action: 'Get a conversation',
|
|
896
804
|
description: 'Get a specific conversation',
|
|
897
|
-
routing: {
|
|
898
|
-
request: {
|
|
899
|
-
method: 'GET',
|
|
900
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}',
|
|
901
|
-
},
|
|
902
|
-
},
|
|
903
805
|
},
|
|
904
806
|
{
|
|
905
807
|
name: 'Get by Phone',
|
|
906
808
|
value: 'getByPhone',
|
|
907
809
|
action: 'Get conversation by phone',
|
|
908
810
|
description: 'Find conversation by phone number',
|
|
909
|
-
routing: {
|
|
910
|
-
request: {
|
|
911
|
-
method: 'GET',
|
|
912
|
-
url: '=/conversations/v1/by-phone/{{$parameter.phoneNumber}}',
|
|
913
|
-
},
|
|
914
|
-
},
|
|
915
811
|
},
|
|
916
812
|
{
|
|
917
813
|
name: 'Get Messages',
|
|
918
814
|
value: 'getMessages',
|
|
919
815
|
action: 'Get conversation messages',
|
|
920
816
|
description: 'Get message history of a conversation',
|
|
921
|
-
routing: {
|
|
922
|
-
request: {
|
|
923
|
-
method: 'GET',
|
|
924
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/messages',
|
|
925
|
-
},
|
|
926
|
-
},
|
|
927
817
|
},
|
|
928
818
|
{
|
|
929
819
|
name: 'Close',
|
|
930
820
|
value: 'close',
|
|
931
821
|
action: 'Close a conversation',
|
|
932
822
|
description: 'Close a conversation',
|
|
933
|
-
routing: {
|
|
934
|
-
request: {
|
|
935
|
-
method: 'POST',
|
|
936
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/close',
|
|
937
|
-
},
|
|
938
|
-
},
|
|
939
823
|
},
|
|
940
824
|
{
|
|
941
825
|
name: 'Archive',
|
|
942
826
|
value: 'archive',
|
|
943
827
|
action: 'Archive a conversation',
|
|
944
828
|
description: 'Archive a conversation',
|
|
945
|
-
routing: {
|
|
946
|
-
request: {
|
|
947
|
-
method: 'POST',
|
|
948
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/archive',
|
|
949
|
-
},
|
|
950
|
-
},
|
|
951
829
|
},
|
|
952
830
|
{
|
|
953
831
|
name: 'Mark Read',
|
|
954
832
|
value: 'markRead',
|
|
955
833
|
action: 'Mark conversation as read',
|
|
956
834
|
description: 'Mark a conversation as read',
|
|
957
|
-
routing: {
|
|
958
|
-
request: {
|
|
959
|
-
method: 'PATCH',
|
|
960
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/mark-read',
|
|
961
|
-
},
|
|
962
|
-
},
|
|
963
835
|
},
|
|
964
836
|
{
|
|
965
837
|
name: 'Set AI',
|
|
966
838
|
value: 'setAi',
|
|
967
839
|
action: 'Enable/disable AI',
|
|
968
840
|
description: 'Enable or disable AI for a conversation',
|
|
969
|
-
routing: {
|
|
970
|
-
request: {
|
|
971
|
-
method: 'PATCH',
|
|
972
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/ai',
|
|
973
|
-
},
|
|
974
|
-
},
|
|
975
841
|
},
|
|
976
842
|
{
|
|
977
843
|
name: 'Pause AI',
|
|
978
844
|
value: 'pauseAi',
|
|
979
845
|
action: 'Pause AI temporarily',
|
|
980
846
|
description: 'Pause AI for a conversation',
|
|
981
|
-
routing: {
|
|
982
|
-
request: {
|
|
983
|
-
method: 'POST',
|
|
984
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/ai/pause',
|
|
985
|
-
},
|
|
986
|
-
},
|
|
987
847
|
},
|
|
988
848
|
{
|
|
989
849
|
name: 'AI Suggest',
|
|
990
850
|
value: 'aiSuggest',
|
|
991
851
|
action: 'Get AI suggestion',
|
|
992
852
|
description: 'Get an AI suggestion without sending',
|
|
993
|
-
routing: {
|
|
994
|
-
request: {
|
|
995
|
-
method: 'POST',
|
|
996
|
-
url: '=/conversations/v1/{{$parameter.conversationId}}/ai-suggest',
|
|
997
|
-
},
|
|
998
|
-
},
|
|
999
853
|
},
|
|
1000
854
|
],
|
|
1001
855
|
default: 'list',
|
|
@@ -1035,10 +889,7 @@ class Whaapy {
|
|
|
1035
889
|
default: true,
|
|
1036
890
|
displayOptions: {
|
|
1037
891
|
show: { resource: ['conversation'], operation: ['setAi'] },
|
|
1038
|
-
}
|
|
1039
|
-
routing: {
|
|
1040
|
-
send: { type: 'body', property: 'aiEnabled' },
|
|
1041
|
-
},
|
|
892
|
+
}
|
|
1042
893
|
},
|
|
1043
894
|
// Conversation: Pause AI - Duration
|
|
1044
895
|
{
|
|
@@ -1050,10 +901,7 @@ class Whaapy {
|
|
|
1050
901
|
description: 'How long to pause AI (1-1440 minutes)',
|
|
1051
902
|
displayOptions: {
|
|
1052
903
|
show: { resource: ['conversation'], operation: ['pauseAi'] },
|
|
1053
|
-
}
|
|
1054
|
-
routing: {
|
|
1055
|
-
send: { type: 'body', property: 'duration' },
|
|
1056
|
-
},
|
|
904
|
+
}
|
|
1057
905
|
},
|
|
1058
906
|
// Conversation: List - Filters
|
|
1059
907
|
{
|
|
@@ -1071,10 +919,7 @@ class Whaapy {
|
|
|
1071
919
|
name: 'search',
|
|
1072
920
|
type: 'string',
|
|
1073
921
|
default: '',
|
|
1074
|
-
description: 'Search by name or phone'
|
|
1075
|
-
routing: {
|
|
1076
|
-
send: { type: 'query', property: 'search' },
|
|
1077
|
-
},
|
|
922
|
+
description: 'Search by name or phone'
|
|
1078
923
|
},
|
|
1079
924
|
{
|
|
1080
925
|
displayName: 'Status',
|
|
@@ -1086,29 +931,20 @@ class Whaapy {
|
|
|
1086
931
|
{ name: 'Closed', value: 'closed' },
|
|
1087
932
|
{ name: 'Archived', value: 'archived' },
|
|
1088
933
|
],
|
|
1089
|
-
default: 'all'
|
|
1090
|
-
routing: {
|
|
1091
|
-
send: { type: 'query', property: 'status' },
|
|
1092
|
-
},
|
|
934
|
+
default: 'all'
|
|
1093
935
|
},
|
|
1094
936
|
{
|
|
1095
937
|
displayName: 'Limit',
|
|
1096
938
|
name: 'limit',
|
|
1097
939
|
type: 'number',
|
|
1098
940
|
default: 20,
|
|
1099
|
-
description: 'Max results (1-100)'
|
|
1100
|
-
routing: {
|
|
1101
|
-
send: { type: 'query', property: 'limit' },
|
|
1102
|
-
},
|
|
941
|
+
description: 'Max results (1-100)'
|
|
1103
942
|
},
|
|
1104
943
|
{
|
|
1105
944
|
displayName: 'Offset',
|
|
1106
945
|
name: 'offset',
|
|
1107
946
|
type: 'number',
|
|
1108
|
-
default: 0
|
|
1109
|
-
routing: {
|
|
1110
|
-
send: { type: 'query', property: 'offset' },
|
|
1111
|
-
},
|
|
947
|
+
default: 0
|
|
1112
948
|
},
|
|
1113
949
|
],
|
|
1114
950
|
},
|
|
@@ -1127,20 +963,14 @@ class Whaapy {
|
|
|
1127
963
|
displayName: 'Limit',
|
|
1128
964
|
name: 'limit',
|
|
1129
965
|
type: 'number',
|
|
1130
|
-
default: 50
|
|
1131
|
-
routing: {
|
|
1132
|
-
send: { type: 'query', property: 'limit' },
|
|
1133
|
-
},
|
|
966
|
+
default: 50
|
|
1134
967
|
},
|
|
1135
968
|
{
|
|
1136
969
|
displayName: 'Cursor',
|
|
1137
970
|
name: 'cursor',
|
|
1138
971
|
type: 'string',
|
|
1139
972
|
default: '',
|
|
1140
|
-
description: 'Pagination cursor'
|
|
1141
|
-
routing: {
|
|
1142
|
-
send: { type: 'query', property: 'cursor' },
|
|
1143
|
-
},
|
|
973
|
+
description: 'Pagination cursor'
|
|
1144
974
|
},
|
|
1145
975
|
],
|
|
1146
976
|
},
|
|
@@ -1160,25 +990,13 @@ class Whaapy {
|
|
|
1160
990
|
name: 'Toggle',
|
|
1161
991
|
value: 'toggle',
|
|
1162
992
|
action: 'Toggle AI globally',
|
|
1163
|
-
description: 'Enable or disable AI globally'
|
|
1164
|
-
routing: {
|
|
1165
|
-
request: {
|
|
1166
|
-
method: 'POST',
|
|
1167
|
-
url: '/agent/v1/toggle',
|
|
1168
|
-
},
|
|
1169
|
-
},
|
|
993
|
+
description: 'Enable or disable AI globally'
|
|
1170
994
|
},
|
|
1171
995
|
{
|
|
1172
996
|
name: 'Pause',
|
|
1173
997
|
value: 'pause',
|
|
1174
998
|
action: 'Pause AI globally',
|
|
1175
|
-
description: 'Pause AI globally for X minutes'
|
|
1176
|
-
routing: {
|
|
1177
|
-
request: {
|
|
1178
|
-
method: 'POST',
|
|
1179
|
-
url: '/agent/v1/pause',
|
|
1180
|
-
},
|
|
1181
|
-
},
|
|
999
|
+
description: 'Pause AI globally for X minutes'
|
|
1182
1000
|
},
|
|
1183
1001
|
],
|
|
1184
1002
|
default: 'toggle',
|
|
@@ -1192,10 +1010,7 @@ class Whaapy {
|
|
|
1192
1010
|
default: true,
|
|
1193
1011
|
displayOptions: {
|
|
1194
1012
|
show: { resource: ['agent'], operation: ['toggle'] },
|
|
1195
|
-
}
|
|
1196
|
-
routing: {
|
|
1197
|
-
send: { type: 'body', property: 'enabled' },
|
|
1198
|
-
},
|
|
1013
|
+
}
|
|
1199
1014
|
},
|
|
1200
1015
|
// Agent: Pause - Duration
|
|
1201
1016
|
{
|
|
@@ -1207,10 +1022,7 @@ class Whaapy {
|
|
|
1207
1022
|
description: 'How long to pause AI globally',
|
|
1208
1023
|
displayOptions: {
|
|
1209
1024
|
show: { resource: ['agent'], operation: ['pause'] },
|
|
1210
|
-
}
|
|
1211
|
-
routing: {
|
|
1212
|
-
send: { type: 'body', property: 'duration' },
|
|
1213
|
-
},
|
|
1025
|
+
}
|
|
1214
1026
|
},
|
|
1215
1027
|
// ===========================================
|
|
1216
1028
|
// TEMPLATE OPERATIONS
|
|
@@ -1228,49 +1040,25 @@ class Whaapy {
|
|
|
1228
1040
|
name: 'List',
|
|
1229
1041
|
value: 'list',
|
|
1230
1042
|
action: 'List templates',
|
|
1231
|
-
description: 'Get all WhatsApp templates'
|
|
1232
|
-
routing: {
|
|
1233
|
-
request: {
|
|
1234
|
-
method: 'GET',
|
|
1235
|
-
url: '/templates/v1',
|
|
1236
|
-
},
|
|
1237
|
-
},
|
|
1043
|
+
description: 'Get all WhatsApp templates'
|
|
1238
1044
|
},
|
|
1239
1045
|
{
|
|
1240
1046
|
name: 'Get',
|
|
1241
1047
|
value: 'get',
|
|
1242
1048
|
action: 'Get a template',
|
|
1243
1049
|
description: 'Get a specific template',
|
|
1244
|
-
routing: {
|
|
1245
|
-
request: {
|
|
1246
|
-
method: 'GET',
|
|
1247
|
-
url: '=/templates/v1/{{$parameter.templateId}}',
|
|
1248
|
-
},
|
|
1249
|
-
},
|
|
1250
1050
|
},
|
|
1251
1051
|
{
|
|
1252
1052
|
name: 'Get Variables',
|
|
1253
1053
|
value: 'getVariables',
|
|
1254
1054
|
action: 'Get template variables',
|
|
1255
|
-
description: 'Get available template variables'
|
|
1256
|
-
routing: {
|
|
1257
|
-
request: {
|
|
1258
|
-
method: 'GET',
|
|
1259
|
-
url: '/templates/v1/variables',
|
|
1260
|
-
},
|
|
1261
|
-
},
|
|
1055
|
+
description: 'Get available template variables'
|
|
1262
1056
|
},
|
|
1263
1057
|
{
|
|
1264
1058
|
name: 'Sync',
|
|
1265
1059
|
value: 'sync',
|
|
1266
1060
|
action: 'Sync templates',
|
|
1267
|
-
description: 'Sync templates from Meta'
|
|
1268
|
-
routing: {
|
|
1269
|
-
request: {
|
|
1270
|
-
method: 'POST',
|
|
1271
|
-
url: '/templates/v1/sync',
|
|
1272
|
-
},
|
|
1273
|
-
},
|
|
1061
|
+
description: 'Sync templates from Meta'
|
|
1274
1062
|
},
|
|
1275
1063
|
],
|
|
1276
1064
|
default: 'list',
|
|
@@ -1302,28 +1090,19 @@ class Whaapy {
|
|
|
1302
1090
|
name: 'status',
|
|
1303
1091
|
type: 'string',
|
|
1304
1092
|
default: '',
|
|
1305
|
-
description: 'Filter by template status'
|
|
1306
|
-
routing: {
|
|
1307
|
-
send: { type: 'query', property: 'status' },
|
|
1308
|
-
},
|
|
1093
|
+
description: 'Filter by template status'
|
|
1309
1094
|
},
|
|
1310
1095
|
{
|
|
1311
1096
|
displayName: 'Limit',
|
|
1312
1097
|
name: 'limit',
|
|
1313
1098
|
type: 'number',
|
|
1314
|
-
default: 20
|
|
1315
|
-
routing: {
|
|
1316
|
-
send: { type: 'query', property: 'limit' },
|
|
1317
|
-
},
|
|
1099
|
+
default: 20
|
|
1318
1100
|
},
|
|
1319
1101
|
{
|
|
1320
1102
|
displayName: 'Offset',
|
|
1321
1103
|
name: 'offset',
|
|
1322
1104
|
type: 'number',
|
|
1323
|
-
default: 0
|
|
1324
|
-
routing: {
|
|
1325
|
-
send: { type: 'query', property: 'offset' },
|
|
1326
|
-
},
|
|
1105
|
+
default: 0
|
|
1327
1106
|
},
|
|
1328
1107
|
],
|
|
1329
1108
|
},
|
|
@@ -1343,121 +1122,61 @@ class Whaapy {
|
|
|
1343
1122
|
name: 'List',
|
|
1344
1123
|
value: 'list',
|
|
1345
1124
|
action: 'List contacts',
|
|
1346
|
-
description: 'Get all contacts'
|
|
1347
|
-
routing: {
|
|
1348
|
-
request: {
|
|
1349
|
-
method: 'GET',
|
|
1350
|
-
url: '/contacts/v1',
|
|
1351
|
-
},
|
|
1352
|
-
},
|
|
1125
|
+
description: 'Get all contacts'
|
|
1353
1126
|
},
|
|
1354
1127
|
{
|
|
1355
1128
|
name: 'Get',
|
|
1356
1129
|
value: 'get',
|
|
1357
1130
|
action: 'Get a contact',
|
|
1358
1131
|
description: 'Get a specific contact',
|
|
1359
|
-
routing: {
|
|
1360
|
-
request: {
|
|
1361
|
-
method: 'GET',
|
|
1362
|
-
url: '=/contacts/v1/{{$parameter.contactId}}',
|
|
1363
|
-
},
|
|
1364
|
-
},
|
|
1365
1132
|
},
|
|
1366
1133
|
{
|
|
1367
1134
|
name: 'Create',
|
|
1368
1135
|
value: 'create',
|
|
1369
1136
|
action: 'Create a contact',
|
|
1370
|
-
description: 'Create a new contact'
|
|
1371
|
-
routing: {
|
|
1372
|
-
request: {
|
|
1373
|
-
method: 'POST',
|
|
1374
|
-
url: '/contacts/v1',
|
|
1375
|
-
},
|
|
1376
|
-
},
|
|
1137
|
+
description: 'Create a new contact'
|
|
1377
1138
|
},
|
|
1378
1139
|
{
|
|
1379
1140
|
name: 'Update',
|
|
1380
1141
|
value: 'update',
|
|
1381
1142
|
action: 'Update a contact',
|
|
1382
1143
|
description: 'Update an existing contact',
|
|
1383
|
-
routing: {
|
|
1384
|
-
request: {
|
|
1385
|
-
method: 'PATCH',
|
|
1386
|
-
url: '=/contacts/v1/{{$parameter.contactId}}',
|
|
1387
|
-
},
|
|
1388
|
-
},
|
|
1389
1144
|
},
|
|
1390
1145
|
{
|
|
1391
1146
|
name: 'Delete',
|
|
1392
1147
|
value: 'delete',
|
|
1393
1148
|
action: 'Delete a contact',
|
|
1394
1149
|
description: 'Delete a contact',
|
|
1395
|
-
routing: {
|
|
1396
|
-
request: {
|
|
1397
|
-
method: 'DELETE',
|
|
1398
|
-
url: '=/contacts/v1/{{$parameter.contactId}}',
|
|
1399
|
-
},
|
|
1400
|
-
},
|
|
1401
1150
|
},
|
|
1402
1151
|
{
|
|
1403
1152
|
name: 'Search',
|
|
1404
1153
|
value: 'search',
|
|
1405
1154
|
action: 'Search contacts',
|
|
1406
|
-
description: 'Advanced search for contacts'
|
|
1407
|
-
routing: {
|
|
1408
|
-
request: {
|
|
1409
|
-
method: 'POST',
|
|
1410
|
-
url: '/contacts/v1/search',
|
|
1411
|
-
},
|
|
1412
|
-
},
|
|
1155
|
+
description: 'Advanced search for contacts'
|
|
1413
1156
|
},
|
|
1414
1157
|
{
|
|
1415
1158
|
name: 'Bulk',
|
|
1416
1159
|
value: 'bulk',
|
|
1417
1160
|
action: 'Bulk operations',
|
|
1418
|
-
description: 'Perform bulk operations on contacts'
|
|
1419
|
-
routing: {
|
|
1420
|
-
request: {
|
|
1421
|
-
method: 'POST',
|
|
1422
|
-
url: '/contacts/v1/bulk',
|
|
1423
|
-
},
|
|
1424
|
-
},
|
|
1161
|
+
description: 'Perform bulk operations on contacts'
|
|
1425
1162
|
},
|
|
1426
1163
|
{
|
|
1427
1164
|
name: 'Merge',
|
|
1428
1165
|
value: 'merge',
|
|
1429
1166
|
action: 'Merge contacts',
|
|
1430
1167
|
description: 'Merge two contacts',
|
|
1431
|
-
routing: {
|
|
1432
|
-
request: {
|
|
1433
|
-
method: 'POST',
|
|
1434
|
-
url: '=/contacts/v1/{{$parameter.contactId}}/merge',
|
|
1435
|
-
},
|
|
1436
|
-
},
|
|
1437
1168
|
},
|
|
1438
1169
|
{
|
|
1439
1170
|
name: 'Get Tags',
|
|
1440
1171
|
value: 'getTags',
|
|
1441
1172
|
action: 'Get all tags',
|
|
1442
|
-
description: 'Get all available tags'
|
|
1443
|
-
routing: {
|
|
1444
|
-
request: {
|
|
1445
|
-
method: 'GET',
|
|
1446
|
-
url: '/contacts/v1/tags',
|
|
1447
|
-
},
|
|
1448
|
-
},
|
|
1173
|
+
description: 'Get all available tags'
|
|
1449
1174
|
},
|
|
1450
1175
|
{
|
|
1451
1176
|
name: 'Get Fields',
|
|
1452
1177
|
value: 'getFields',
|
|
1453
1178
|
action: 'Get custom fields',
|
|
1454
|
-
description: 'Get available custom fields'
|
|
1455
|
-
routing: {
|
|
1456
|
-
request: {
|
|
1457
|
-
method: 'GET',
|
|
1458
|
-
url: '/contacts/v1/fields',
|
|
1459
|
-
},
|
|
1460
|
-
},
|
|
1179
|
+
description: 'Get available custom fields'
|
|
1461
1180
|
},
|
|
1462
1181
|
],
|
|
1463
1182
|
default: 'list',
|
|
@@ -1485,10 +1204,7 @@ class Whaapy {
|
|
|
1485
1204
|
default: '',
|
|
1486
1205
|
displayOptions: {
|
|
1487
1206
|
show: { resource: ['contact'], operation: ['create'] },
|
|
1488
|
-
}
|
|
1489
|
-
routing: {
|
|
1490
|
-
send: { type: 'body', property: 'name' },
|
|
1491
|
-
},
|
|
1207
|
+
}
|
|
1492
1208
|
},
|
|
1493
1209
|
{
|
|
1494
1210
|
displayName: 'Phone Number',
|
|
@@ -1499,10 +1215,7 @@ class Whaapy {
|
|
|
1499
1215
|
placeholder: '+5215512345678',
|
|
1500
1216
|
displayOptions: {
|
|
1501
1217
|
show: { resource: ['contact'], operation: ['create'] },
|
|
1502
|
-
}
|
|
1503
|
-
routing: {
|
|
1504
|
-
send: { type: 'body', property: 'phoneNumber' },
|
|
1505
|
-
},
|
|
1218
|
+
}
|
|
1506
1219
|
},
|
|
1507
1220
|
{
|
|
1508
1221
|
displayName: 'Additional Fields',
|
|
@@ -1518,38 +1231,26 @@ class Whaapy {
|
|
|
1518
1231
|
displayName: 'Email',
|
|
1519
1232
|
name: 'email',
|
|
1520
1233
|
type: 'string',
|
|
1521
|
-
default: ''
|
|
1522
|
-
routing: {
|
|
1523
|
-
send: { type: 'body', property: 'email' },
|
|
1524
|
-
},
|
|
1234
|
+
default: ''
|
|
1525
1235
|
},
|
|
1526
1236
|
{
|
|
1527
1237
|
displayName: 'Tags',
|
|
1528
1238
|
name: 'tags',
|
|
1529
1239
|
type: 'string',
|
|
1530
1240
|
default: '',
|
|
1531
|
-
description: 'Comma-separated list of tags'
|
|
1532
|
-
routing: {
|
|
1533
|
-
send: { type: 'body', property: 'tags' },
|
|
1534
|
-
},
|
|
1241
|
+
description: 'Comma-separated list of tags'
|
|
1535
1242
|
},
|
|
1536
1243
|
{
|
|
1537
1244
|
displayName: 'Custom Fields',
|
|
1538
1245
|
name: 'customFields',
|
|
1539
1246
|
type: 'json',
|
|
1540
|
-
default: '{}'
|
|
1541
|
-
routing: {
|
|
1542
|
-
send: { type: 'body', property: 'customFields' },
|
|
1543
|
-
},
|
|
1247
|
+
default: '{}'
|
|
1544
1248
|
},
|
|
1545
1249
|
{
|
|
1546
1250
|
displayName: 'Metadata',
|
|
1547
1251
|
name: 'metadata',
|
|
1548
1252
|
type: 'json',
|
|
1549
|
-
default: '{}'
|
|
1550
|
-
routing: {
|
|
1551
|
-
send: { type: 'body', property: 'metadata' },
|
|
1552
|
-
},
|
|
1253
|
+
default: '{}'
|
|
1553
1254
|
},
|
|
1554
1255
|
],
|
|
1555
1256
|
},
|
|
@@ -1568,47 +1269,32 @@ class Whaapy {
|
|
|
1568
1269
|
displayName: 'Name',
|
|
1569
1270
|
name: 'name',
|
|
1570
1271
|
type: 'string',
|
|
1571
|
-
default: ''
|
|
1572
|
-
routing: {
|
|
1573
|
-
send: { type: 'body', property: 'name' },
|
|
1574
|
-
},
|
|
1272
|
+
default: ''
|
|
1575
1273
|
},
|
|
1576
1274
|
{
|
|
1577
1275
|
displayName: 'Phone Number',
|
|
1578
1276
|
name: 'phoneNumber',
|
|
1579
1277
|
type: 'string',
|
|
1580
|
-
default: ''
|
|
1581
|
-
routing: {
|
|
1582
|
-
send: { type: 'body', property: 'phoneNumber' },
|
|
1583
|
-
},
|
|
1278
|
+
default: ''
|
|
1584
1279
|
},
|
|
1585
1280
|
{
|
|
1586
1281
|
displayName: 'Email',
|
|
1587
1282
|
name: 'email',
|
|
1588
1283
|
type: 'string',
|
|
1589
|
-
default: ''
|
|
1590
|
-
routing: {
|
|
1591
|
-
send: { type: 'body', property: 'email' },
|
|
1592
|
-
},
|
|
1284
|
+
default: ''
|
|
1593
1285
|
},
|
|
1594
1286
|
{
|
|
1595
1287
|
displayName: 'Tags',
|
|
1596
1288
|
name: 'tags',
|
|
1597
1289
|
type: 'string',
|
|
1598
1290
|
default: '',
|
|
1599
|
-
description: 'Comma-separated list of tags'
|
|
1600
|
-
routing: {
|
|
1601
|
-
send: { type: 'body', property: 'tags' },
|
|
1602
|
-
},
|
|
1291
|
+
description: 'Comma-separated list of tags'
|
|
1603
1292
|
},
|
|
1604
1293
|
{
|
|
1605
1294
|
displayName: 'Custom Fields',
|
|
1606
1295
|
name: 'customFields',
|
|
1607
1296
|
type: 'json',
|
|
1608
|
-
default: '{}'
|
|
1609
|
-
routing: {
|
|
1610
|
-
send: { type: 'body', property: 'customFields' },
|
|
1611
|
-
},
|
|
1297
|
+
default: '{}'
|
|
1612
1298
|
},
|
|
1613
1299
|
],
|
|
1614
1300
|
},
|
|
@@ -1621,10 +1307,7 @@ class Whaapy {
|
|
|
1621
1307
|
default: '',
|
|
1622
1308
|
displayOptions: {
|
|
1623
1309
|
show: { resource: ['contact'], operation: ['search'] },
|
|
1624
|
-
}
|
|
1625
|
-
routing: {
|
|
1626
|
-
send: { type: 'body', property: 'query' },
|
|
1627
|
-
},
|
|
1310
|
+
}
|
|
1628
1311
|
},
|
|
1629
1312
|
{
|
|
1630
1313
|
displayName: 'Search Options',
|
|
@@ -1640,28 +1323,19 @@ class Whaapy {
|
|
|
1640
1323
|
displayName: 'Filters',
|
|
1641
1324
|
name: 'filters',
|
|
1642
1325
|
type: 'json',
|
|
1643
|
-
default: '{}'
|
|
1644
|
-
routing: {
|
|
1645
|
-
send: { type: 'body', property: 'filters' },
|
|
1646
|
-
},
|
|
1326
|
+
default: '{}'
|
|
1647
1327
|
},
|
|
1648
1328
|
{
|
|
1649
1329
|
displayName: 'Limit',
|
|
1650
1330
|
name: 'limit',
|
|
1651
1331
|
type: 'number',
|
|
1652
|
-
default: 20
|
|
1653
|
-
routing: {
|
|
1654
|
-
send: { type: 'body', property: 'limit' },
|
|
1655
|
-
},
|
|
1332
|
+
default: 20
|
|
1656
1333
|
},
|
|
1657
1334
|
{
|
|
1658
1335
|
displayName: 'Cursor',
|
|
1659
1336
|
name: 'cursor',
|
|
1660
1337
|
type: 'string',
|
|
1661
|
-
default: ''
|
|
1662
|
-
routing: {
|
|
1663
|
-
send: { type: 'body', property: 'cursor' },
|
|
1664
|
-
},
|
|
1338
|
+
default: ''
|
|
1665
1339
|
},
|
|
1666
1340
|
],
|
|
1667
1341
|
},
|
|
@@ -1681,10 +1355,7 @@ class Whaapy {
|
|
|
1681
1355
|
default: 'create',
|
|
1682
1356
|
displayOptions: {
|
|
1683
1357
|
show: { resource: ['contact'], operation: ['bulk'] },
|
|
1684
|
-
}
|
|
1685
|
-
routing: {
|
|
1686
|
-
send: { type: 'body', property: 'operation' },
|
|
1687
|
-
},
|
|
1358
|
+
}
|
|
1688
1359
|
},
|
|
1689
1360
|
{
|
|
1690
1361
|
displayName: 'Contacts Data',
|
|
@@ -1695,10 +1366,7 @@ class Whaapy {
|
|
|
1695
1366
|
description: 'Array of contacts or contact IDs',
|
|
1696
1367
|
displayOptions: {
|
|
1697
1368
|
show: { resource: ['contact'], operation: ['bulk'] },
|
|
1698
|
-
}
|
|
1699
|
-
routing: {
|
|
1700
|
-
send: { type: 'body', property: 'contacts' },
|
|
1701
|
-
},
|
|
1369
|
+
}
|
|
1702
1370
|
},
|
|
1703
1371
|
{
|
|
1704
1372
|
displayName: 'Operation Data',
|
|
@@ -1708,10 +1376,7 @@ class Whaapy {
|
|
|
1708
1376
|
description: 'Additional data for the operation',
|
|
1709
1377
|
displayOptions: {
|
|
1710
1378
|
show: { resource: ['contact'], operation: ['bulk'] },
|
|
1711
|
-
}
|
|
1712
|
-
routing: {
|
|
1713
|
-
send: { type: 'body', property: 'data' },
|
|
1714
|
-
},
|
|
1379
|
+
}
|
|
1715
1380
|
},
|
|
1716
1381
|
// Contact: Merge - Merge With ID
|
|
1717
1382
|
{
|
|
@@ -1723,10 +1388,7 @@ class Whaapy {
|
|
|
1723
1388
|
description: 'ID of the contact to merge into the primary contact',
|
|
1724
1389
|
displayOptions: {
|
|
1725
1390
|
show: { resource: ['contact'], operation: ['merge'] },
|
|
1726
|
-
}
|
|
1727
|
-
routing: {
|
|
1728
|
-
send: { type: 'body', property: 'mergeWith' },
|
|
1729
|
-
},
|
|
1391
|
+
}
|
|
1730
1392
|
},
|
|
1731
1393
|
// Contact: List - Filters
|
|
1732
1394
|
{
|
|
@@ -1743,38 +1405,26 @@ class Whaapy {
|
|
|
1743
1405
|
displayName: 'Search',
|
|
1744
1406
|
name: 'search',
|
|
1745
1407
|
type: 'string',
|
|
1746
|
-
default: ''
|
|
1747
|
-
routing: {
|
|
1748
|
-
send: { type: 'query', property: 'search' },
|
|
1749
|
-
},
|
|
1408
|
+
default: ''
|
|
1750
1409
|
},
|
|
1751
1410
|
{
|
|
1752
1411
|
displayName: 'Tags',
|
|
1753
1412
|
name: 'tags',
|
|
1754
1413
|
type: 'string',
|
|
1755
1414
|
default: '',
|
|
1756
|
-
description: 'Comma-separated list of tags'
|
|
1757
|
-
routing: {
|
|
1758
|
-
send: { type: 'query', property: 'tags' },
|
|
1759
|
-
},
|
|
1415
|
+
description: 'Comma-separated list of tags'
|
|
1760
1416
|
},
|
|
1761
1417
|
{
|
|
1762
1418
|
displayName: 'Funnel Stage ID',
|
|
1763
1419
|
name: 'funnelStageId',
|
|
1764
1420
|
type: 'string',
|
|
1765
|
-
default: ''
|
|
1766
|
-
routing: {
|
|
1767
|
-
send: { type: 'query', property: 'funnel_stage_id' },
|
|
1768
|
-
},
|
|
1421
|
+
default: ''
|
|
1769
1422
|
},
|
|
1770
1423
|
{
|
|
1771
1424
|
displayName: 'Source',
|
|
1772
1425
|
name: 'source',
|
|
1773
1426
|
type: 'string',
|
|
1774
|
-
default: ''
|
|
1775
|
-
routing: {
|
|
1776
|
-
send: { type: 'query', property: 'source' },
|
|
1777
|
-
},
|
|
1427
|
+
default: ''
|
|
1778
1428
|
},
|
|
1779
1429
|
{
|
|
1780
1430
|
displayName: 'Sort By',
|
|
@@ -1785,10 +1435,7 @@ class Whaapy {
|
|
|
1785
1435
|
{ name: 'Updated At', value: 'updated_at' },
|
|
1786
1436
|
{ name: 'Name', value: 'name' },
|
|
1787
1437
|
],
|
|
1788
|
-
default: 'created_at'
|
|
1789
|
-
routing: {
|
|
1790
|
-
send: { type: 'query', property: 'sort_by' },
|
|
1791
|
-
},
|
|
1438
|
+
default: 'created_at'
|
|
1792
1439
|
},
|
|
1793
1440
|
{
|
|
1794
1441
|
displayName: 'Sort Order',
|
|
@@ -1798,28 +1445,19 @@ class Whaapy {
|
|
|
1798
1445
|
{ name: 'Ascending', value: 'asc' },
|
|
1799
1446
|
{ name: 'Descending', value: 'desc' },
|
|
1800
1447
|
],
|
|
1801
|
-
default: 'desc'
|
|
1802
|
-
routing: {
|
|
1803
|
-
send: { type: 'query', property: 'sort_order' },
|
|
1804
|
-
},
|
|
1448
|
+
default: 'desc'
|
|
1805
1449
|
},
|
|
1806
1450
|
{
|
|
1807
1451
|
displayName: 'Limit',
|
|
1808
1452
|
name: 'limit',
|
|
1809
1453
|
type: 'number',
|
|
1810
|
-
default: 20
|
|
1811
|
-
routing: {
|
|
1812
|
-
send: { type: 'query', property: 'limit' },
|
|
1813
|
-
},
|
|
1454
|
+
default: 20
|
|
1814
1455
|
},
|
|
1815
1456
|
{
|
|
1816
1457
|
displayName: 'Cursor',
|
|
1817
1458
|
name: 'cursor',
|
|
1818
1459
|
type: 'string',
|
|
1819
|
-
default: ''
|
|
1820
|
-
routing: {
|
|
1821
|
-
send: { type: 'query', property: 'cursor' },
|
|
1822
|
-
},
|
|
1460
|
+
default: ''
|
|
1823
1461
|
},
|
|
1824
1462
|
],
|
|
1825
1463
|
},
|
|
@@ -1839,85 +1477,43 @@ class Whaapy {
|
|
|
1839
1477
|
name: 'List Stages',
|
|
1840
1478
|
value: 'listStages',
|
|
1841
1479
|
action: 'List funnel stages',
|
|
1842
|
-
description: 'Get all funnel stages'
|
|
1843
|
-
routing: {
|
|
1844
|
-
request: {
|
|
1845
|
-
method: 'GET',
|
|
1846
|
-
url: '/funnel/v1/stages',
|
|
1847
|
-
},
|
|
1848
|
-
},
|
|
1480
|
+
description: 'Get all funnel stages'
|
|
1849
1481
|
},
|
|
1850
1482
|
{
|
|
1851
1483
|
name: 'Get Stage',
|
|
1852
1484
|
value: 'getStage',
|
|
1853
1485
|
action: 'Get a funnel stage',
|
|
1854
1486
|
description: 'Get a specific funnel stage',
|
|
1855
|
-
routing: {
|
|
1856
|
-
request: {
|
|
1857
|
-
method: 'GET',
|
|
1858
|
-
url: '=/funnel/v1/stages/{{$parameter.stageId}}',
|
|
1859
|
-
},
|
|
1860
|
-
},
|
|
1861
1487
|
},
|
|
1862
1488
|
{
|
|
1863
1489
|
name: 'Create Stage',
|
|
1864
1490
|
value: 'createStage',
|
|
1865
1491
|
action: 'Create a funnel stage',
|
|
1866
|
-
description: 'Create a new funnel stage'
|
|
1867
|
-
routing: {
|
|
1868
|
-
request: {
|
|
1869
|
-
method: 'POST',
|
|
1870
|
-
url: '/funnel/v1/stages',
|
|
1871
|
-
},
|
|
1872
|
-
},
|
|
1492
|
+
description: 'Create a new funnel stage'
|
|
1873
1493
|
},
|
|
1874
1494
|
{
|
|
1875
1495
|
name: 'Update Stage',
|
|
1876
1496
|
value: 'updateStage',
|
|
1877
1497
|
action: 'Update a funnel stage',
|
|
1878
1498
|
description: 'Update an existing funnel stage',
|
|
1879
|
-
routing: {
|
|
1880
|
-
request: {
|
|
1881
|
-
method: 'PATCH',
|
|
1882
|
-
url: '=/funnel/v1/stages/{{$parameter.stageId}}',
|
|
1883
|
-
},
|
|
1884
|
-
},
|
|
1885
1499
|
},
|
|
1886
1500
|
{
|
|
1887
1501
|
name: 'Delete Stage',
|
|
1888
1502
|
value: 'deleteStage',
|
|
1889
1503
|
action: 'Delete a funnel stage',
|
|
1890
1504
|
description: 'Delete a funnel stage',
|
|
1891
|
-
routing: {
|
|
1892
|
-
request: {
|
|
1893
|
-
method: 'DELETE',
|
|
1894
|
-
url: '=/funnel/v1/stages/{{$parameter.stageId}}',
|
|
1895
|
-
},
|
|
1896
|
-
},
|
|
1897
1505
|
},
|
|
1898
1506
|
{
|
|
1899
1507
|
name: 'Reorder Stages',
|
|
1900
1508
|
value: 'reorderStages',
|
|
1901
1509
|
action: 'Reorder funnel stages',
|
|
1902
|
-
description: 'Reorder the funnel stages'
|
|
1903
|
-
routing: {
|
|
1904
|
-
request: {
|
|
1905
|
-
method: 'PATCH',
|
|
1906
|
-
url: '/funnel/v1/stages/reorder',
|
|
1907
|
-
},
|
|
1908
|
-
},
|
|
1510
|
+
description: 'Reorder the funnel stages'
|
|
1909
1511
|
},
|
|
1910
1512
|
{
|
|
1911
1513
|
name: 'Move Contact',
|
|
1912
1514
|
value: 'moveContact',
|
|
1913
1515
|
action: 'Move contact to stage',
|
|
1914
1516
|
description: 'Move a contact to a funnel stage',
|
|
1915
|
-
routing: {
|
|
1916
|
-
request: {
|
|
1917
|
-
method: 'POST',
|
|
1918
|
-
url: '=/funnel/v1/contacts/{{$parameter.contactIdFunnel}}/move',
|
|
1919
|
-
},
|
|
1920
|
-
},
|
|
1921
1517
|
},
|
|
1922
1518
|
],
|
|
1923
1519
|
default: 'listStages',
|
|
@@ -1945,10 +1541,7 @@ class Whaapy {
|
|
|
1945
1541
|
default: '',
|
|
1946
1542
|
displayOptions: {
|
|
1947
1543
|
show: { resource: ['funnel'], operation: ['createStage'] },
|
|
1948
|
-
}
|
|
1949
|
-
routing: {
|
|
1950
|
-
send: { type: 'body', property: 'name' },
|
|
1951
|
-
},
|
|
1544
|
+
}
|
|
1952
1545
|
},
|
|
1953
1546
|
{
|
|
1954
1547
|
displayName: 'Stage Options',
|
|
@@ -1964,29 +1557,20 @@ class Whaapy {
|
|
|
1964
1557
|
displayName: 'Position',
|
|
1965
1558
|
name: 'position',
|
|
1966
1559
|
type: 'number',
|
|
1967
|
-
default: 0
|
|
1968
|
-
routing: {
|
|
1969
|
-
send: { type: 'body', property: 'position' },
|
|
1970
|
-
},
|
|
1560
|
+
default: 0
|
|
1971
1561
|
},
|
|
1972
1562
|
{
|
|
1973
1563
|
displayName: 'Color',
|
|
1974
1564
|
name: 'color',
|
|
1975
1565
|
type: 'string',
|
|
1976
1566
|
default: '#3B82F6',
|
|
1977
|
-
description: 'Hex color code'
|
|
1978
|
-
routing: {
|
|
1979
|
-
send: { type: 'body', property: 'color' },
|
|
1980
|
-
},
|
|
1567
|
+
description: 'Hex color code'
|
|
1981
1568
|
},
|
|
1982
1569
|
{
|
|
1983
1570
|
displayName: 'Description',
|
|
1984
1571
|
name: 'description',
|
|
1985
1572
|
type: 'string',
|
|
1986
|
-
default: ''
|
|
1987
|
-
routing: {
|
|
1988
|
-
send: { type: 'body', property: 'description' },
|
|
1989
|
-
},
|
|
1573
|
+
default: ''
|
|
1990
1574
|
},
|
|
1991
1575
|
],
|
|
1992
1576
|
},
|
|
@@ -2005,37 +1589,25 @@ class Whaapy {
|
|
|
2005
1589
|
displayName: 'Name',
|
|
2006
1590
|
name: 'name',
|
|
2007
1591
|
type: 'string',
|
|
2008
|
-
default: ''
|
|
2009
|
-
routing: {
|
|
2010
|
-
send: { type: 'body', property: 'name' },
|
|
2011
|
-
},
|
|
1592
|
+
default: ''
|
|
2012
1593
|
},
|
|
2013
1594
|
{
|
|
2014
1595
|
displayName: 'Position',
|
|
2015
1596
|
name: 'position',
|
|
2016
1597
|
type: 'number',
|
|
2017
|
-
default: 0
|
|
2018
|
-
routing: {
|
|
2019
|
-
send: { type: 'body', property: 'position' },
|
|
2020
|
-
},
|
|
1598
|
+
default: 0
|
|
2021
1599
|
},
|
|
2022
1600
|
{
|
|
2023
1601
|
displayName: 'Color',
|
|
2024
1602
|
name: 'color',
|
|
2025
1603
|
type: 'string',
|
|
2026
|
-
default: ''
|
|
2027
|
-
routing: {
|
|
2028
|
-
send: { type: 'body', property: 'color' },
|
|
2029
|
-
},
|
|
1604
|
+
default: ''
|
|
2030
1605
|
},
|
|
2031
1606
|
{
|
|
2032
1607
|
displayName: 'Description',
|
|
2033
1608
|
name: 'description',
|
|
2034
1609
|
type: 'string',
|
|
2035
|
-
default: ''
|
|
2036
|
-
routing: {
|
|
2037
|
-
send: { type: 'body', property: 'description' },
|
|
2038
|
-
},
|
|
1610
|
+
default: ''
|
|
2039
1611
|
},
|
|
2040
1612
|
],
|
|
2041
1613
|
},
|
|
@@ -2049,10 +1621,7 @@ class Whaapy {
|
|
|
2049
1621
|
description: 'Array of objects with id and position',
|
|
2050
1622
|
displayOptions: {
|
|
2051
1623
|
show: { resource: ['funnel'], operation: ['reorderStages'] },
|
|
2052
|
-
}
|
|
2053
|
-
routing: {
|
|
2054
|
-
send: { type: 'body', property: 'stages' },
|
|
2055
|
-
},
|
|
1624
|
+
}
|
|
2056
1625
|
},
|
|
2057
1626
|
// Funnel: Move Contact - Fields
|
|
2058
1627
|
{
|
|
@@ -2073,10 +1642,7 @@ class Whaapy {
|
|
|
2073
1642
|
default: '',
|
|
2074
1643
|
displayOptions: {
|
|
2075
1644
|
show: { resource: ['funnel'], operation: ['moveContact'] },
|
|
2076
|
-
}
|
|
2077
|
-
routing: {
|
|
2078
|
-
send: { type: 'body', property: 'stageId' },
|
|
2079
|
-
},
|
|
1645
|
+
}
|
|
2080
1646
|
},
|
|
2081
1647
|
// Funnel: List Stages - Filters
|
|
2082
1648
|
{
|
|
@@ -2093,19 +1659,13 @@ class Whaapy {
|
|
|
2093
1659
|
displayName: 'Limit',
|
|
2094
1660
|
name: 'limit',
|
|
2095
1661
|
type: 'number',
|
|
2096
|
-
default: 20
|
|
2097
|
-
routing: {
|
|
2098
|
-
send: { type: 'query', property: 'limit' },
|
|
2099
|
-
},
|
|
1662
|
+
default: 20
|
|
2100
1663
|
},
|
|
2101
1664
|
{
|
|
2102
1665
|
displayName: 'Offset',
|
|
2103
1666
|
name: 'offset',
|
|
2104
1667
|
type: 'number',
|
|
2105
|
-
default: 0
|
|
2106
|
-
routing: {
|
|
2107
|
-
send: { type: 'query', property: 'offset' },
|
|
2108
|
-
},
|
|
1668
|
+
default: 0
|
|
2109
1669
|
},
|
|
2110
1670
|
],
|
|
2111
1671
|
},
|