@sendly/cli 3.13.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/campaigns/clone.d.ts +14 -0
- package/dist/commands/campaigns/clone.js +47 -0
- package/dist/commands/campaigns/create.js +7 -6
- package/dist/commands/campaigns/delete.js +3 -3
- package/dist/commands/campaigns/get.js +28 -18
- package/dist/commands/campaigns/list.js +7 -8
- package/dist/commands/campaigns/preview.js +16 -5
- package/dist/commands/campaigns/schedule.js +6 -4
- package/dist/commands/campaigns/send.js +27 -9
- package/dist/commands/campaigns/update.d.ts +17 -0
- package/dist/commands/campaigns/update.js +66 -0
- package/dist/commands/contacts/import.d.ts +14 -0
- package/dist/commands/contacts/import.js +132 -0
- package/dist/commands/contacts/lists/get.d.ts +13 -0
- package/dist/commands/contacts/lists/get.js +63 -0
- package/dist/commands/contacts/lists/update.d.ts +15 -0
- package/dist/commands/contacts/lists/update.js +51 -0
- package/dist/commands/contacts/update.d.ts +15 -0
- package/dist/commands/contacts/update.js +52 -0
- package/dist/commands/status.js +3 -3
- package/dist/commands/teams/create.d.ts +12 -0
- package/dist/commands/teams/create.js +58 -0
- package/dist/commands/teams/current.d.ts +10 -0
- package/dist/commands/teams/current.js +33 -0
- package/dist/commands/teams/invite.d.ts +14 -0
- package/dist/commands/teams/invite.js +48 -0
- package/dist/commands/teams/list.d.ts +10 -0
- package/dist/commands/teams/list.js +71 -0
- package/dist/commands/teams/members.d.ts +10 -0
- package/dist/commands/teams/members.js +66 -0
- package/dist/commands/teams/switch.d.ts +13 -0
- package/dist/commands/teams/switch.js +86 -0
- package/dist/commands/whoami.js +7 -2
- package/dist/lib/api-client.js +5 -1
- package/dist/lib/config.d.ts +11 -0
- package/dist/lib/config.js +25 -1
- package/oclif.manifest.json +2540 -727
- package/package.json +4 -1
package/oclif.manifest.json
CHANGED
|
@@ -341,25 +341,18 @@
|
|
|
341
341
|
"whoami.js"
|
|
342
342
|
]
|
|
343
343
|
},
|
|
344
|
-
"
|
|
344
|
+
"campaigns:cancel": {
|
|
345
345
|
"aliases": [],
|
|
346
346
|
"args": {
|
|
347
|
-
"
|
|
348
|
-
"description": "
|
|
349
|
-
"name": "
|
|
350
|
-
"options": [
|
|
351
|
-
"environment",
|
|
352
|
-
"baseUrl",
|
|
353
|
-
"defaultFormat",
|
|
354
|
-
"colorEnabled"
|
|
355
|
-
],
|
|
347
|
+
"id": {
|
|
348
|
+
"description": "Campaign ID",
|
|
349
|
+
"name": "id",
|
|
356
350
|
"required": true
|
|
357
351
|
}
|
|
358
352
|
},
|
|
359
|
-
"description": "
|
|
353
|
+
"description": "Cancel a scheduled campaign",
|
|
360
354
|
"examples": [
|
|
361
|
-
"<%= config.bin %>
|
|
362
|
-
"<%= config.bin %> config get baseUrl"
|
|
355
|
+
"<%= config.bin %> campaigns cancel cmp_xxx"
|
|
363
356
|
],
|
|
364
357
|
"flags": {
|
|
365
358
|
"json": {
|
|
@@ -378,27 +371,32 @@
|
|
|
378
371
|
},
|
|
379
372
|
"hasDynamicHelp": false,
|
|
380
373
|
"hiddenAliases": [],
|
|
381
|
-
"id": "
|
|
374
|
+
"id": "campaigns:cancel",
|
|
382
375
|
"pluginAlias": "@sendly/cli",
|
|
383
376
|
"pluginName": "@sendly/cli",
|
|
384
377
|
"pluginType": "core",
|
|
385
378
|
"strict": true,
|
|
386
|
-
"enableJsonFlag": false,
|
|
387
379
|
"isESM": true,
|
|
388
380
|
"relativePath": [
|
|
389
381
|
"dist",
|
|
390
382
|
"commands",
|
|
391
|
-
"
|
|
392
|
-
"
|
|
383
|
+
"campaigns",
|
|
384
|
+
"cancel.js"
|
|
393
385
|
]
|
|
394
386
|
},
|
|
395
|
-
"
|
|
387
|
+
"campaigns:clone": {
|
|
396
388
|
"aliases": [],
|
|
397
|
-
"args": {
|
|
398
|
-
|
|
389
|
+
"args": {
|
|
390
|
+
"id": {
|
|
391
|
+
"description": "Campaign ID to clone",
|
|
392
|
+
"name": "id",
|
|
393
|
+
"required": true
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"description": "Clone an existing campaign",
|
|
399
397
|
"examples": [
|
|
400
|
-
"<%= config.bin %>
|
|
401
|
-
"<%= config.bin %>
|
|
398
|
+
"<%= config.bin %> campaigns clone cmp_xxx",
|
|
399
|
+
"<%= config.bin %> campaigns clone cmp_xxx --name \"Copy of Sale\""
|
|
402
400
|
],
|
|
403
401
|
"flags": {
|
|
404
402
|
"json": {
|
|
@@ -413,49 +411,39 @@
|
|
|
413
411
|
"name": "quiet",
|
|
414
412
|
"allowNo": false,
|
|
415
413
|
"type": "boolean"
|
|
414
|
+
},
|
|
415
|
+
"name": {
|
|
416
|
+
"char": "n",
|
|
417
|
+
"description": "Name for the cloned campaign",
|
|
418
|
+
"name": "name",
|
|
419
|
+
"hasDynamicHelp": false,
|
|
420
|
+
"multiple": false,
|
|
421
|
+
"type": "option"
|
|
416
422
|
}
|
|
417
423
|
},
|
|
418
424
|
"hasDynamicHelp": false,
|
|
419
425
|
"hiddenAliases": [],
|
|
420
|
-
"id": "
|
|
426
|
+
"id": "campaigns:clone",
|
|
421
427
|
"pluginAlias": "@sendly/cli",
|
|
422
428
|
"pluginName": "@sendly/cli",
|
|
423
429
|
"pluginType": "core",
|
|
424
430
|
"strict": true,
|
|
425
|
-
"enableJsonFlag": false,
|
|
426
431
|
"isESM": true,
|
|
427
432
|
"relativePath": [
|
|
428
433
|
"dist",
|
|
429
434
|
"commands",
|
|
430
|
-
"
|
|
431
|
-
"
|
|
435
|
+
"campaigns",
|
|
436
|
+
"clone.js"
|
|
432
437
|
]
|
|
433
438
|
},
|
|
434
|
-
"
|
|
439
|
+
"campaigns:create": {
|
|
435
440
|
"aliases": [],
|
|
436
|
-
"args": {
|
|
437
|
-
|
|
438
|
-
"description": "Configuration key",
|
|
439
|
-
"name": "key",
|
|
440
|
-
"options": [
|
|
441
|
-
"environment",
|
|
442
|
-
"baseUrl",
|
|
443
|
-
"defaultFormat",
|
|
444
|
-
"colorEnabled"
|
|
445
|
-
],
|
|
446
|
-
"required": true
|
|
447
|
-
},
|
|
448
|
-
"value": {
|
|
449
|
-
"description": "Configuration value",
|
|
450
|
-
"name": "value",
|
|
451
|
-
"required": true
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
"description": "Set a configuration value",
|
|
441
|
+
"args": {},
|
|
442
|
+
"description": "Create a new campaign",
|
|
455
443
|
"examples": [
|
|
456
|
-
"<%= config.bin %>
|
|
457
|
-
"<%= config.bin %>
|
|
458
|
-
"<%= config.bin %>
|
|
444
|
+
"<%= config.bin %> campaigns create --name \"Welcome\" --text \"Hello {{name}}!\" --list lst_xxx",
|
|
445
|
+
"<%= config.bin %> campaigns create --name \"Sale\" --text \"50% off today!\" --list lst_customers --list lst_subscribers",
|
|
446
|
+
"<%= config.bin %> campaigns create --name \"OTP\" --template tpl_preset_otp --list lst_xxx"
|
|
459
447
|
],
|
|
460
448
|
"flags": {
|
|
461
449
|
"json": {
|
|
@@ -470,31 +458,69 @@
|
|
|
470
458
|
"name": "quiet",
|
|
471
459
|
"allowNo": false,
|
|
472
460
|
"type": "boolean"
|
|
461
|
+
},
|
|
462
|
+
"name": {
|
|
463
|
+
"char": "n",
|
|
464
|
+
"description": "Campaign name",
|
|
465
|
+
"name": "name",
|
|
466
|
+
"required": true,
|
|
467
|
+
"hasDynamicHelp": false,
|
|
468
|
+
"multiple": false,
|
|
469
|
+
"type": "option"
|
|
470
|
+
},
|
|
471
|
+
"text": {
|
|
472
|
+
"char": "t",
|
|
473
|
+
"description": "Message text (supports {{variables}})",
|
|
474
|
+
"name": "text",
|
|
475
|
+
"hasDynamicHelp": false,
|
|
476
|
+
"multiple": false,
|
|
477
|
+
"type": "option"
|
|
478
|
+
},
|
|
479
|
+
"template": {
|
|
480
|
+
"description": "Template ID to use instead of text",
|
|
481
|
+
"name": "template",
|
|
482
|
+
"hasDynamicHelp": false,
|
|
483
|
+
"multiple": false,
|
|
484
|
+
"type": "option"
|
|
485
|
+
},
|
|
486
|
+
"list": {
|
|
487
|
+
"char": "l",
|
|
488
|
+
"description": "Contact list ID (can specify multiple)",
|
|
489
|
+
"name": "list",
|
|
490
|
+
"required": true,
|
|
491
|
+
"hasDynamicHelp": false,
|
|
492
|
+
"multiple": true,
|
|
493
|
+
"type": "option"
|
|
473
494
|
}
|
|
474
495
|
},
|
|
475
496
|
"hasDynamicHelp": false,
|
|
476
497
|
"hiddenAliases": [],
|
|
477
|
-
"id": "
|
|
498
|
+
"id": "campaigns:create",
|
|
478
499
|
"pluginAlias": "@sendly/cli",
|
|
479
500
|
"pluginName": "@sendly/cli",
|
|
480
501
|
"pluginType": "core",
|
|
481
502
|
"strict": true,
|
|
482
|
-
"enableJsonFlag": false,
|
|
483
503
|
"isESM": true,
|
|
484
504
|
"relativePath": [
|
|
485
505
|
"dist",
|
|
486
506
|
"commands",
|
|
487
|
-
"
|
|
488
|
-
"
|
|
507
|
+
"campaigns",
|
|
508
|
+
"create.js"
|
|
489
509
|
]
|
|
490
510
|
},
|
|
491
|
-
"
|
|
511
|
+
"campaigns:delete": {
|
|
492
512
|
"aliases": [],
|
|
493
|
-
"args": {
|
|
494
|
-
|
|
513
|
+
"args": {
|
|
514
|
+
"id": {
|
|
515
|
+
"description": "Campaign ID",
|
|
516
|
+
"name": "id",
|
|
517
|
+
"required": true
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
"description": "Delete a campaign",
|
|
495
521
|
"examples": [
|
|
496
|
-
"<%= config.bin %>
|
|
497
|
-
"<%= config.bin %>
|
|
522
|
+
"<%= config.bin %> campaigns delete cmp_xxx",
|
|
523
|
+
"<%= config.bin %> campaigns delete cmp_xxx --yes"
|
|
498
524
|
],
|
|
499
525
|
"flags": {
|
|
500
526
|
"json": {
|
|
@@ -509,11 +535,18 @@
|
|
|
509
535
|
"name": "quiet",
|
|
510
536
|
"allowNo": false,
|
|
511
537
|
"type": "boolean"
|
|
538
|
+
},
|
|
539
|
+
"yes": {
|
|
540
|
+
"char": "y",
|
|
541
|
+
"description": "Skip confirmation prompt",
|
|
542
|
+
"name": "yes",
|
|
543
|
+
"allowNo": false,
|
|
544
|
+
"type": "boolean"
|
|
512
545
|
}
|
|
513
546
|
},
|
|
514
547
|
"hasDynamicHelp": false,
|
|
515
548
|
"hiddenAliases": [],
|
|
516
|
-
"id": "
|
|
549
|
+
"id": "campaigns:delete",
|
|
517
550
|
"pluginAlias": "@sendly/cli",
|
|
518
551
|
"pluginName": "@sendly/cli",
|
|
519
552
|
"pluginType": "core",
|
|
@@ -522,18 +555,23 @@
|
|
|
522
555
|
"relativePath": [
|
|
523
556
|
"dist",
|
|
524
557
|
"commands",
|
|
525
|
-
"
|
|
526
|
-
"
|
|
558
|
+
"campaigns",
|
|
559
|
+
"delete.js"
|
|
527
560
|
]
|
|
528
561
|
},
|
|
529
|
-
"
|
|
562
|
+
"campaigns:get": {
|
|
530
563
|
"aliases": [],
|
|
531
|
-
"args": {
|
|
532
|
-
|
|
564
|
+
"args": {
|
|
565
|
+
"id": {
|
|
566
|
+
"description": "Campaign ID",
|
|
567
|
+
"name": "id",
|
|
568
|
+
"required": true
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
"description": "Get campaign details",
|
|
533
572
|
"examples": [
|
|
534
|
-
"<%= config.bin %>
|
|
535
|
-
"<%= config.bin %>
|
|
536
|
-
"<%= config.bin %> credits history --json"
|
|
573
|
+
"<%= config.bin %> campaigns get cmp_xxx",
|
|
574
|
+
"<%= config.bin %> campaigns get cmp_xxx --json"
|
|
537
575
|
],
|
|
538
576
|
"flags": {
|
|
539
577
|
"json": {
|
|
@@ -548,20 +586,11 @@
|
|
|
548
586
|
"name": "quiet",
|
|
549
587
|
"allowNo": false,
|
|
550
588
|
"type": "boolean"
|
|
551
|
-
},
|
|
552
|
-
"limit": {
|
|
553
|
-
"char": "l",
|
|
554
|
-
"description": "Number of transactions to show",
|
|
555
|
-
"name": "limit",
|
|
556
|
-
"default": 20,
|
|
557
|
-
"hasDynamicHelp": false,
|
|
558
|
-
"multiple": false,
|
|
559
|
-
"type": "option"
|
|
560
589
|
}
|
|
561
590
|
},
|
|
562
591
|
"hasDynamicHelp": false,
|
|
563
592
|
"hiddenAliases": [],
|
|
564
|
-
"id": "
|
|
593
|
+
"id": "campaigns:get",
|
|
565
594
|
"pluginAlias": "@sendly/cli",
|
|
566
595
|
"pluginName": "@sendly/cli",
|
|
567
596
|
"pluginType": "core",
|
|
@@ -570,18 +599,19 @@
|
|
|
570
599
|
"relativePath": [
|
|
571
600
|
"dist",
|
|
572
601
|
"commands",
|
|
573
|
-
"
|
|
574
|
-
"
|
|
602
|
+
"campaigns",
|
|
603
|
+
"get.js"
|
|
575
604
|
]
|
|
576
605
|
},
|
|
577
|
-
"
|
|
606
|
+
"campaigns:list": {
|
|
578
607
|
"aliases": [],
|
|
579
608
|
"args": {},
|
|
580
|
-
"description": "
|
|
609
|
+
"description": "List campaigns",
|
|
581
610
|
"examples": [
|
|
582
|
-
"<%= config.bin %>
|
|
583
|
-
"<%= config.bin %>
|
|
584
|
-
"<%= config.bin %>
|
|
611
|
+
"<%= config.bin %> campaigns list",
|
|
612
|
+
"<%= config.bin %> campaigns list --status draft",
|
|
613
|
+
"<%= config.bin %> campaigns list --limit 10",
|
|
614
|
+
"<%= config.bin %> campaigns list --json"
|
|
585
615
|
],
|
|
586
616
|
"flags": {
|
|
587
617
|
"json": {
|
|
@@ -597,32 +627,35 @@
|
|
|
597
627
|
"allowNo": false,
|
|
598
628
|
"type": "boolean"
|
|
599
629
|
},
|
|
600
|
-
"
|
|
601
|
-
"char": "
|
|
602
|
-
"description": "
|
|
603
|
-
"name": "
|
|
604
|
-
"
|
|
630
|
+
"limit": {
|
|
631
|
+
"char": "l",
|
|
632
|
+
"description": "Number of campaigns to show",
|
|
633
|
+
"name": "limit",
|
|
634
|
+
"default": 20,
|
|
605
635
|
"hasDynamicHelp": false,
|
|
606
636
|
"multiple": false,
|
|
607
637
|
"type": "option"
|
|
608
638
|
},
|
|
609
|
-
"
|
|
610
|
-
"
|
|
611
|
-
"
|
|
612
|
-
"
|
|
613
|
-
"
|
|
639
|
+
"offset": {
|
|
640
|
+
"description": "Offset for pagination",
|
|
641
|
+
"name": "offset",
|
|
642
|
+
"default": 0,
|
|
643
|
+
"hasDynamicHelp": false,
|
|
644
|
+
"multiple": false,
|
|
645
|
+
"type": "option"
|
|
646
|
+
},
|
|
647
|
+
"status": {
|
|
648
|
+
"char": "s",
|
|
649
|
+
"description": "Filter by status (draft, scheduled, sending, sent, cancelled)",
|
|
650
|
+
"name": "status",
|
|
614
651
|
"hasDynamicHelp": false,
|
|
615
652
|
"multiple": false,
|
|
616
|
-
"options": [
|
|
617
|
-
"test",
|
|
618
|
-
"live"
|
|
619
|
-
],
|
|
620
653
|
"type": "option"
|
|
621
654
|
}
|
|
622
655
|
},
|
|
623
656
|
"hasDynamicHelp": false,
|
|
624
657
|
"hiddenAliases": [],
|
|
625
|
-
"id": "
|
|
658
|
+
"id": "campaigns:list",
|
|
626
659
|
"pluginAlias": "@sendly/cli",
|
|
627
660
|
"pluginName": "@sendly/cli",
|
|
628
661
|
"pluginType": "core",
|
|
@@ -631,17 +664,23 @@
|
|
|
631
664
|
"relativePath": [
|
|
632
665
|
"dist",
|
|
633
666
|
"commands",
|
|
634
|
-
"
|
|
635
|
-
"
|
|
667
|
+
"campaigns",
|
|
668
|
+
"list.js"
|
|
636
669
|
]
|
|
637
670
|
},
|
|
638
|
-
"
|
|
671
|
+
"campaigns:preview": {
|
|
639
672
|
"aliases": [],
|
|
640
|
-
"args": {
|
|
641
|
-
|
|
673
|
+
"args": {
|
|
674
|
+
"id": {
|
|
675
|
+
"description": "Campaign ID",
|
|
676
|
+
"name": "id",
|
|
677
|
+
"required": true
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"description": "Preview campaign cost and recipients",
|
|
642
681
|
"examples": [
|
|
643
|
-
"<%= config.bin %>
|
|
644
|
-
"<%= config.bin %>
|
|
682
|
+
"<%= config.bin %> campaigns preview cmp_xxx",
|
|
683
|
+
"<%= config.bin %> campaigns preview cmp_xxx --json"
|
|
645
684
|
],
|
|
646
685
|
"flags": {
|
|
647
686
|
"json": {
|
|
@@ -660,7 +699,7 @@
|
|
|
660
699
|
},
|
|
661
700
|
"hasDynamicHelp": false,
|
|
662
701
|
"hiddenAliases": [],
|
|
663
|
-
"id": "
|
|
702
|
+
"id": "campaigns:preview",
|
|
664
703
|
"pluginAlias": "@sendly/cli",
|
|
665
704
|
"pluginName": "@sendly/cli",
|
|
666
705
|
"pluginType": "core",
|
|
@@ -669,24 +708,23 @@
|
|
|
669
708
|
"relativePath": [
|
|
670
709
|
"dist",
|
|
671
710
|
"commands",
|
|
672
|
-
"
|
|
673
|
-
"
|
|
711
|
+
"campaigns",
|
|
712
|
+
"preview.js"
|
|
674
713
|
]
|
|
675
714
|
},
|
|
676
|
-
"
|
|
715
|
+
"campaigns:schedule": {
|
|
677
716
|
"aliases": [],
|
|
678
717
|
"args": {
|
|
679
|
-
"
|
|
680
|
-
"description": "
|
|
681
|
-
"name": "
|
|
718
|
+
"id": {
|
|
719
|
+
"description": "Campaign ID",
|
|
720
|
+
"name": "id",
|
|
682
721
|
"required": true
|
|
683
722
|
}
|
|
684
723
|
},
|
|
685
|
-
"description": "
|
|
724
|
+
"description": "Schedule a campaign for later",
|
|
686
725
|
"examples": [
|
|
687
|
-
"<%= config.bin %>
|
|
688
|
-
"<%= config.bin %>
|
|
689
|
-
"<%= config.bin %> keys revoke key_abc123 --yes"
|
|
726
|
+
"<%= config.bin %> campaigns schedule cmp_xxx --at \"2024-01-15T10:00:00Z\"",
|
|
727
|
+
"<%= config.bin %> campaigns schedule cmp_xxx --at \"2024-01-15T10:00:00\" --timezone \"America/New_York\""
|
|
690
728
|
],
|
|
691
729
|
"flags": {
|
|
692
730
|
"json": {
|
|
@@ -702,25 +740,26 @@
|
|
|
702
740
|
"allowNo": false,
|
|
703
741
|
"type": "boolean"
|
|
704
742
|
},
|
|
705
|
-
"
|
|
706
|
-
"
|
|
707
|
-
"
|
|
708
|
-
"
|
|
743
|
+
"at": {
|
|
744
|
+
"description": "When to send (ISO 8601 datetime)",
|
|
745
|
+
"name": "at",
|
|
746
|
+
"required": true,
|
|
709
747
|
"hasDynamicHelp": false,
|
|
710
748
|
"multiple": false,
|
|
711
749
|
"type": "option"
|
|
712
750
|
},
|
|
713
|
-
"
|
|
714
|
-
"char": "
|
|
715
|
-
"description": "
|
|
716
|
-
"name": "
|
|
717
|
-
"
|
|
718
|
-
"
|
|
751
|
+
"timezone": {
|
|
752
|
+
"char": "z",
|
|
753
|
+
"description": "Timezone (e.g., \"America/New_York\")",
|
|
754
|
+
"name": "timezone",
|
|
755
|
+
"hasDynamicHelp": false,
|
|
756
|
+
"multiple": false,
|
|
757
|
+
"type": "option"
|
|
719
758
|
}
|
|
720
759
|
},
|
|
721
760
|
"hasDynamicHelp": false,
|
|
722
761
|
"hiddenAliases": [],
|
|
723
|
-
"id": "
|
|
762
|
+
"id": "campaigns:schedule",
|
|
724
763
|
"pluginAlias": "@sendly/cli",
|
|
725
764
|
"pluginName": "@sendly/cli",
|
|
726
765
|
"pluginType": "core",
|
|
@@ -729,18 +768,23 @@
|
|
|
729
768
|
"relativePath": [
|
|
730
769
|
"dist",
|
|
731
770
|
"commands",
|
|
732
|
-
"
|
|
733
|
-
"
|
|
771
|
+
"campaigns",
|
|
772
|
+
"schedule.js"
|
|
734
773
|
]
|
|
735
774
|
},
|
|
736
|
-
"
|
|
775
|
+
"campaigns:send": {
|
|
737
776
|
"aliases": [],
|
|
738
|
-
"args": {
|
|
739
|
-
|
|
777
|
+
"args": {
|
|
778
|
+
"id": {
|
|
779
|
+
"description": "Campaign ID",
|
|
780
|
+
"name": "id",
|
|
781
|
+
"required": true
|
|
782
|
+
}
|
|
783
|
+
},
|
|
784
|
+
"description": "Send a campaign immediately",
|
|
740
785
|
"examples": [
|
|
741
|
-
"<%= config.bin %>
|
|
742
|
-
"<%= config.bin %>
|
|
743
|
-
"<%= config.bin %> logs tail --since 1h"
|
|
786
|
+
"<%= config.bin %> campaigns send cmp_xxx",
|
|
787
|
+
"<%= config.bin %> campaigns send cmp_xxx --yes"
|
|
744
788
|
],
|
|
745
789
|
"flags": {
|
|
746
790
|
"json": {
|
|
@@ -756,34 +800,17 @@
|
|
|
756
800
|
"allowNo": false,
|
|
757
801
|
"type": "boolean"
|
|
758
802
|
},
|
|
759
|
-
"
|
|
760
|
-
"char": "
|
|
761
|
-
"description": "
|
|
762
|
-
"name": "
|
|
763
|
-
"
|
|
764
|
-
"
|
|
765
|
-
"type": "option"
|
|
766
|
-
},
|
|
767
|
-
"since": {
|
|
768
|
-
"description": "Show logs since (e.g., 1h, 30m, 1d)",
|
|
769
|
-
"name": "since",
|
|
770
|
-
"default": "1h",
|
|
771
|
-
"hasDynamicHelp": false,
|
|
772
|
-
"multiple": false,
|
|
773
|
-
"type": "option"
|
|
774
|
-
},
|
|
775
|
-
"type": {
|
|
776
|
-
"char": "t",
|
|
777
|
-
"description": "Filter by type (message, api_call, webhook)",
|
|
778
|
-
"name": "type",
|
|
779
|
-
"hasDynamicHelp": false,
|
|
780
|
-
"multiple": false,
|
|
781
|
-
"type": "option"
|
|
803
|
+
"yes": {
|
|
804
|
+
"char": "y",
|
|
805
|
+
"description": "Skip confirmation prompt",
|
|
806
|
+
"name": "yes",
|
|
807
|
+
"allowNo": false,
|
|
808
|
+
"type": "boolean"
|
|
782
809
|
}
|
|
783
810
|
},
|
|
784
811
|
"hasDynamicHelp": false,
|
|
785
812
|
"hiddenAliases": [],
|
|
786
|
-
"id": "
|
|
813
|
+
"id": "campaigns:send",
|
|
787
814
|
"pluginAlias": "@sendly/cli",
|
|
788
815
|
"pluginName": "@sendly/cli",
|
|
789
816
|
"pluginType": "core",
|
|
@@ -792,22 +819,25 @@
|
|
|
792
819
|
"relativePath": [
|
|
793
820
|
"dist",
|
|
794
821
|
"commands",
|
|
795
|
-
"
|
|
796
|
-
"
|
|
822
|
+
"campaigns",
|
|
823
|
+
"send.js"
|
|
797
824
|
]
|
|
798
825
|
},
|
|
799
|
-
"
|
|
826
|
+
"campaigns:update": {
|
|
800
827
|
"aliases": [],
|
|
801
|
-
"args": {
|
|
802
|
-
|
|
828
|
+
"args": {
|
|
829
|
+
"id": {
|
|
830
|
+
"description": "Campaign ID",
|
|
831
|
+
"name": "id",
|
|
832
|
+
"required": true
|
|
833
|
+
}
|
|
834
|
+
},
|
|
835
|
+
"description": "Update a campaign",
|
|
803
836
|
"examples": [
|
|
804
|
-
"<%= config.bin %>
|
|
805
|
-
"<%= config.bin %>
|
|
806
|
-
"<%= config.bin %>
|
|
807
|
-
"<%= config.bin %>
|
|
808
|
-
"<%= config.bin %> sms batch --file phones.csv --text \"Code: 123\" --type transactional",
|
|
809
|
-
"<%= config.bin %> sms batch --reuse abc123-def456",
|
|
810
|
-
"<%= config.bin %> sms batch --history"
|
|
837
|
+
"<%= config.bin %> campaigns update cmp_xxx --name \"New Name\"",
|
|
838
|
+
"<%= config.bin %> campaigns update cmp_xxx --text \"Updated message\"",
|
|
839
|
+
"<%= config.bin %> campaigns update cmp_xxx --list lst_xxx",
|
|
840
|
+
"<%= config.bin %> campaigns update cmp_xxx --name \"Sale\" --text \"50% off!\""
|
|
811
841
|
],
|
|
812
842
|
"flags": {
|
|
813
843
|
"json": {
|
|
@@ -823,94 +853,41 @@
|
|
|
823
853
|
"allowNo": false,
|
|
824
854
|
"type": "boolean"
|
|
825
855
|
},
|
|
826
|
-
"
|
|
827
|
-
"char": "
|
|
828
|
-
"description": "
|
|
829
|
-
"
|
|
830
|
-
"to",
|
|
831
|
-
"reuse",
|
|
832
|
-
"history"
|
|
833
|
-
],
|
|
834
|
-
"name": "file",
|
|
835
|
-
"hasDynamicHelp": false,
|
|
836
|
-
"multiple": false,
|
|
837
|
-
"type": "option"
|
|
838
|
-
},
|
|
839
|
-
"to": {
|
|
840
|
-
"char": "t",
|
|
841
|
-
"description": "Comma-separated recipient phone numbers (E.164 format)",
|
|
842
|
-
"exclusive": [
|
|
843
|
-
"file",
|
|
844
|
-
"reuse",
|
|
845
|
-
"history"
|
|
846
|
-
],
|
|
847
|
-
"name": "to",
|
|
856
|
+
"name": {
|
|
857
|
+
"char": "n",
|
|
858
|
+
"description": "Campaign name",
|
|
859
|
+
"name": "name",
|
|
848
860
|
"hasDynamicHelp": false,
|
|
849
861
|
"multiple": false,
|
|
850
862
|
"type": "option"
|
|
851
863
|
},
|
|
852
864
|
"text": {
|
|
853
|
-
"char": "
|
|
854
|
-
"description": "Message text (
|
|
865
|
+
"char": "t",
|
|
866
|
+
"description": "Message text (supports {{variables}})",
|
|
855
867
|
"name": "text",
|
|
856
868
|
"hasDynamicHelp": false,
|
|
857
869
|
"multiple": false,
|
|
858
870
|
"type": "option"
|
|
859
871
|
},
|
|
860
|
-
"
|
|
861
|
-
"char": "
|
|
862
|
-
"description": "
|
|
863
|
-
"name": "
|
|
864
|
-
"hasDynamicHelp": false,
|
|
865
|
-
"multiple": false,
|
|
866
|
-
"type": "option"
|
|
867
|
-
},
|
|
868
|
-
"type": {
|
|
869
|
-
"description": "Message type: marketing (default) or transactional. Transactional bypasses quiet hours.",
|
|
870
|
-
"name": "type",
|
|
871
|
-
"default": "marketing",
|
|
872
|
+
"list": {
|
|
873
|
+
"char": "l",
|
|
874
|
+
"description": "Contact list ID",
|
|
875
|
+
"name": "list",
|
|
872
876
|
"hasDynamicHelp": false,
|
|
873
877
|
"multiple": false,
|
|
874
|
-
"options": [
|
|
875
|
-
"marketing",
|
|
876
|
-
"transactional"
|
|
877
|
-
],
|
|
878
878
|
"type": "option"
|
|
879
879
|
},
|
|
880
|
-
"
|
|
881
|
-
"
|
|
882
|
-
"
|
|
883
|
-
"name": "dry-run",
|
|
884
|
-
"allowNo": false,
|
|
885
|
-
"type": "boolean"
|
|
886
|
-
},
|
|
887
|
-
"reuse": {
|
|
888
|
-
"description": "Re-use a previous batch upload by ID (see --history)",
|
|
889
|
-
"exclusive": [
|
|
890
|
-
"file",
|
|
891
|
-
"to",
|
|
892
|
-
"history"
|
|
893
|
-
],
|
|
894
|
-
"name": "reuse",
|
|
880
|
+
"template": {
|
|
881
|
+
"description": "Template ID",
|
|
882
|
+
"name": "template",
|
|
895
883
|
"hasDynamicHelp": false,
|
|
896
884
|
"multiple": false,
|
|
897
885
|
"type": "option"
|
|
898
|
-
},
|
|
899
|
-
"history": {
|
|
900
|
-
"description": "Show recent batch upload history",
|
|
901
|
-
"exclusive": [
|
|
902
|
-
"file",
|
|
903
|
-
"to",
|
|
904
|
-
"reuse"
|
|
905
|
-
],
|
|
906
|
-
"name": "history",
|
|
907
|
-
"allowNo": false,
|
|
908
|
-
"type": "boolean"
|
|
909
886
|
}
|
|
910
887
|
},
|
|
911
888
|
"hasDynamicHelp": false,
|
|
912
889
|
"hiddenAliases": [],
|
|
913
|
-
"id": "
|
|
890
|
+
"id": "campaigns:update",
|
|
914
891
|
"pluginAlias": "@sendly/cli",
|
|
915
892
|
"pluginName": "@sendly/cli",
|
|
916
893
|
"pluginType": "core",
|
|
@@ -919,23 +896,29 @@
|
|
|
919
896
|
"relativePath": [
|
|
920
897
|
"dist",
|
|
921
898
|
"commands",
|
|
922
|
-
"
|
|
923
|
-
"
|
|
899
|
+
"campaigns",
|
|
900
|
+
"update.js"
|
|
924
901
|
]
|
|
925
902
|
},
|
|
926
|
-
"
|
|
903
|
+
"config:get": {
|
|
927
904
|
"aliases": [],
|
|
928
905
|
"args": {
|
|
929
|
-
"
|
|
930
|
-
"description": "
|
|
931
|
-
"name": "
|
|
906
|
+
"key": {
|
|
907
|
+
"description": "Configuration key",
|
|
908
|
+
"name": "key",
|
|
909
|
+
"options": [
|
|
910
|
+
"environment",
|
|
911
|
+
"baseUrl",
|
|
912
|
+
"defaultFormat",
|
|
913
|
+
"colorEnabled"
|
|
914
|
+
],
|
|
932
915
|
"required": true
|
|
933
916
|
}
|
|
934
917
|
},
|
|
935
|
-
"description": "
|
|
918
|
+
"description": "Get a configuration value",
|
|
936
919
|
"examples": [
|
|
937
|
-
"<%= config.bin %>
|
|
938
|
-
"<%= config.bin %>
|
|
920
|
+
"<%= config.bin %> config get environment",
|
|
921
|
+
"<%= config.bin %> config get baseUrl"
|
|
939
922
|
],
|
|
940
923
|
"flags": {
|
|
941
924
|
"json": {
|
|
@@ -954,32 +937,27 @@
|
|
|
954
937
|
},
|
|
955
938
|
"hasDynamicHelp": false,
|
|
956
939
|
"hiddenAliases": [],
|
|
957
|
-
"id": "
|
|
940
|
+
"id": "config:get",
|
|
958
941
|
"pluginAlias": "@sendly/cli",
|
|
959
942
|
"pluginName": "@sendly/cli",
|
|
960
943
|
"pluginType": "core",
|
|
961
944
|
"strict": true,
|
|
945
|
+
"enableJsonFlag": false,
|
|
962
946
|
"isESM": true,
|
|
963
947
|
"relativePath": [
|
|
964
948
|
"dist",
|
|
965
949
|
"commands",
|
|
966
|
-
"
|
|
967
|
-
"
|
|
950
|
+
"config",
|
|
951
|
+
"get.js"
|
|
968
952
|
]
|
|
969
953
|
},
|
|
970
|
-
"
|
|
954
|
+
"config:list": {
|
|
971
955
|
"aliases": [],
|
|
972
|
-
"args": {
|
|
973
|
-
|
|
974
|
-
"description": "Message ID",
|
|
975
|
-
"name": "id",
|
|
976
|
-
"required": true
|
|
977
|
-
}
|
|
978
|
-
},
|
|
979
|
-
"description": "Get details of a specific message",
|
|
956
|
+
"args": {},
|
|
957
|
+
"description": "List all configuration values",
|
|
980
958
|
"examples": [
|
|
981
|
-
"<%= config.bin %>
|
|
982
|
-
"<%= config.bin %>
|
|
959
|
+
"<%= config.bin %> config list",
|
|
960
|
+
"<%= config.bin %> config list --json"
|
|
983
961
|
],
|
|
984
962
|
"flags": {
|
|
985
963
|
"json": {
|
|
@@ -998,30 +976,45 @@
|
|
|
998
976
|
},
|
|
999
977
|
"hasDynamicHelp": false,
|
|
1000
978
|
"hiddenAliases": [],
|
|
1001
|
-
"id": "
|
|
979
|
+
"id": "config:list",
|
|
1002
980
|
"pluginAlias": "@sendly/cli",
|
|
1003
981
|
"pluginName": "@sendly/cli",
|
|
1004
982
|
"pluginType": "core",
|
|
1005
983
|
"strict": true,
|
|
984
|
+
"enableJsonFlag": false,
|
|
1006
985
|
"isESM": true,
|
|
1007
986
|
"relativePath": [
|
|
1008
987
|
"dist",
|
|
1009
988
|
"commands",
|
|
1010
|
-
"
|
|
1011
|
-
"
|
|
989
|
+
"config",
|
|
990
|
+
"list.js"
|
|
1012
991
|
]
|
|
1013
992
|
},
|
|
1014
|
-
"
|
|
993
|
+
"config:set": {
|
|
1015
994
|
"aliases": [],
|
|
1016
|
-
"args": {
|
|
1017
|
-
|
|
995
|
+
"args": {
|
|
996
|
+
"key": {
|
|
997
|
+
"description": "Configuration key",
|
|
998
|
+
"name": "key",
|
|
999
|
+
"options": [
|
|
1000
|
+
"environment",
|
|
1001
|
+
"baseUrl",
|
|
1002
|
+
"defaultFormat",
|
|
1003
|
+
"colorEnabled"
|
|
1004
|
+
],
|
|
1005
|
+
"required": true
|
|
1006
|
+
},
|
|
1007
|
+
"value": {
|
|
1008
|
+
"description": "Configuration value",
|
|
1009
|
+
"name": "value",
|
|
1010
|
+
"required": true
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
"description": "Set a configuration value",
|
|
1018
1014
|
"examples": [
|
|
1019
|
-
"<%= config.bin %>
|
|
1020
|
-
"<%= config.bin %>
|
|
1021
|
-
"<%= config.bin %>
|
|
1022
|
-
"<%= config.bin %> sms list --status delivered",
|
|
1023
|
-
"<%= config.bin %> sms list --sandbox",
|
|
1024
|
-
"<%= config.bin %> sms list --json"
|
|
1015
|
+
"<%= config.bin %> config set environment live",
|
|
1016
|
+
"<%= config.bin %> config set defaultFormat json",
|
|
1017
|
+
"<%= config.bin %> config set baseUrl https://api.sendly.live"
|
|
1025
1018
|
],
|
|
1026
1019
|
"flags": {
|
|
1027
1020
|
"json": {
|
|
@@ -1036,70 +1029,33 @@
|
|
|
1036
1029
|
"name": "quiet",
|
|
1037
1030
|
"allowNo": false,
|
|
1038
1031
|
"type": "boolean"
|
|
1039
|
-
},
|
|
1040
|
-
"limit": {
|
|
1041
|
-
"char": "l",
|
|
1042
|
-
"description": "Number of messages per page",
|
|
1043
|
-
"name": "limit",
|
|
1044
|
-
"default": 20,
|
|
1045
|
-
"hasDynamicHelp": false,
|
|
1046
|
-
"multiple": false,
|
|
1047
|
-
"type": "option"
|
|
1048
|
-
},
|
|
1049
|
-
"page": {
|
|
1050
|
-
"char": "p",
|
|
1051
|
-
"description": "Page number (starts at 1)",
|
|
1052
|
-
"name": "page",
|
|
1053
|
-
"hasDynamicHelp": false,
|
|
1054
|
-
"multiple": false,
|
|
1055
|
-
"type": "option"
|
|
1056
|
-
},
|
|
1057
|
-
"offset": {
|
|
1058
|
-
"description": "Offset from start (alternative to --page)",
|
|
1059
|
-
"name": "offset",
|
|
1060
|
-
"hasDynamicHelp": false,
|
|
1061
|
-
"multiple": false,
|
|
1062
|
-
"type": "option"
|
|
1063
|
-
},
|
|
1064
|
-
"status": {
|
|
1065
|
-
"char": "s",
|
|
1066
|
-
"description": "Filter by status (queued, sent, delivered, failed)",
|
|
1067
|
-
"name": "status",
|
|
1068
|
-
"hasDynamicHelp": false,
|
|
1069
|
-
"multiple": false,
|
|
1070
|
-
"type": "option"
|
|
1071
|
-
},
|
|
1072
|
-
"sandbox": {
|
|
1073
|
-
"description": "Show sandbox/test messages (live keys only)",
|
|
1074
|
-
"name": "sandbox",
|
|
1075
|
-
"allowNo": false,
|
|
1076
|
-
"type": "boolean"
|
|
1077
1032
|
}
|
|
1078
1033
|
},
|
|
1079
1034
|
"hasDynamicHelp": false,
|
|
1080
1035
|
"hiddenAliases": [],
|
|
1081
|
-
"id": "
|
|
1036
|
+
"id": "config:set",
|
|
1082
1037
|
"pluginAlias": "@sendly/cli",
|
|
1083
1038
|
"pluginName": "@sendly/cli",
|
|
1084
1039
|
"pluginType": "core",
|
|
1085
1040
|
"strict": true,
|
|
1041
|
+
"enableJsonFlag": false,
|
|
1086
1042
|
"isESM": true,
|
|
1087
1043
|
"relativePath": [
|
|
1088
1044
|
"dist",
|
|
1089
1045
|
"commands",
|
|
1090
|
-
"
|
|
1091
|
-
"
|
|
1046
|
+
"config",
|
|
1047
|
+
"set.js"
|
|
1092
1048
|
]
|
|
1093
1049
|
},
|
|
1094
|
-
"
|
|
1050
|
+
"contacts:create": {
|
|
1095
1051
|
"aliases": [],
|
|
1096
1052
|
"args": {},
|
|
1097
|
-
"description": "
|
|
1053
|
+
"description": "Create a new contact",
|
|
1098
1054
|
"examples": [
|
|
1099
|
-
"<%= config.bin %>
|
|
1100
|
-
"<%= config.bin %>
|
|
1101
|
-
"<%= config.bin %>
|
|
1102
|
-
"<%= config.bin %>
|
|
1055
|
+
"<%= config.bin %> contacts create --phone +15551234567",
|
|
1056
|
+
"<%= config.bin %> contacts create --phone +15551234567 --name \"John Doe\"",
|
|
1057
|
+
"<%= config.bin %> contacts create --phone +15551234567 --name \"John\" --email john@example.com",
|
|
1058
|
+
"<%= config.bin %> contacts create --phone +15551234567 --json"
|
|
1103
1059
|
],
|
|
1104
1060
|
"flags": {
|
|
1105
1061
|
"json": {
|
|
@@ -1115,57 +1071,1857 @@
|
|
|
1115
1071
|
"allowNo": false,
|
|
1116
1072
|
"type": "boolean"
|
|
1117
1073
|
},
|
|
1118
|
-
"
|
|
1119
|
-
"char": "
|
|
1120
|
-
"description": "
|
|
1121
|
-
"name": "
|
|
1074
|
+
"phone": {
|
|
1075
|
+
"char": "p",
|
|
1076
|
+
"description": "Phone number in E.164 format (e.g., +15551234567)",
|
|
1077
|
+
"name": "phone",
|
|
1122
1078
|
"required": true,
|
|
1123
1079
|
"hasDynamicHelp": false,
|
|
1124
1080
|
"multiple": false,
|
|
1125
1081
|
"type": "option"
|
|
1126
1082
|
},
|
|
1127
|
-
"
|
|
1128
|
-
"char": "
|
|
1129
|
-
"description": "
|
|
1130
|
-
"name": "
|
|
1131
|
-
"required": true,
|
|
1083
|
+
"name": {
|
|
1084
|
+
"char": "n",
|
|
1085
|
+
"description": "Contact name",
|
|
1086
|
+
"name": "name",
|
|
1132
1087
|
"hasDynamicHelp": false,
|
|
1133
1088
|
"multiple": false,
|
|
1134
1089
|
"type": "option"
|
|
1135
1090
|
},
|
|
1136
|
-
"
|
|
1137
|
-
"char": "
|
|
1138
|
-
"description": "
|
|
1091
|
+
"email": {
|
|
1092
|
+
"char": "e",
|
|
1093
|
+
"description": "Contact email",
|
|
1094
|
+
"name": "email",
|
|
1095
|
+
"hasDynamicHelp": false,
|
|
1096
|
+
"multiple": false,
|
|
1097
|
+
"type": "option"
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"hasDynamicHelp": false,
|
|
1101
|
+
"hiddenAliases": [],
|
|
1102
|
+
"id": "contacts:create",
|
|
1103
|
+
"pluginAlias": "@sendly/cli",
|
|
1104
|
+
"pluginName": "@sendly/cli",
|
|
1105
|
+
"pluginType": "core",
|
|
1106
|
+
"strict": true,
|
|
1107
|
+
"isESM": true,
|
|
1108
|
+
"relativePath": [
|
|
1109
|
+
"dist",
|
|
1110
|
+
"commands",
|
|
1111
|
+
"contacts",
|
|
1112
|
+
"create.js"
|
|
1113
|
+
]
|
|
1114
|
+
},
|
|
1115
|
+
"contacts:delete": {
|
|
1116
|
+
"aliases": [],
|
|
1117
|
+
"args": {
|
|
1118
|
+
"id": {
|
|
1119
|
+
"description": "Contact ID to delete",
|
|
1120
|
+
"name": "id",
|
|
1121
|
+
"required": true
|
|
1122
|
+
}
|
|
1123
|
+
},
|
|
1124
|
+
"description": "Delete a contact",
|
|
1125
|
+
"examples": [
|
|
1126
|
+
"<%= config.bin %> contacts delete cnt_xxx",
|
|
1127
|
+
"<%= config.bin %> contacts delete cnt_xxx --yes"
|
|
1128
|
+
],
|
|
1129
|
+
"flags": {
|
|
1130
|
+
"json": {
|
|
1131
|
+
"description": "Output in JSON format",
|
|
1132
|
+
"name": "json",
|
|
1133
|
+
"allowNo": false,
|
|
1134
|
+
"type": "boolean"
|
|
1135
|
+
},
|
|
1136
|
+
"quiet": {
|
|
1137
|
+
"char": "q",
|
|
1138
|
+
"description": "Minimal output",
|
|
1139
|
+
"name": "quiet",
|
|
1140
|
+
"allowNo": false,
|
|
1141
|
+
"type": "boolean"
|
|
1142
|
+
},
|
|
1143
|
+
"yes": {
|
|
1144
|
+
"char": "y",
|
|
1145
|
+
"description": "Skip confirmation prompt",
|
|
1146
|
+
"name": "yes",
|
|
1147
|
+
"allowNo": false,
|
|
1148
|
+
"type": "boolean"
|
|
1149
|
+
}
|
|
1150
|
+
},
|
|
1151
|
+
"hasDynamicHelp": false,
|
|
1152
|
+
"hiddenAliases": [],
|
|
1153
|
+
"id": "contacts:delete",
|
|
1154
|
+
"pluginAlias": "@sendly/cli",
|
|
1155
|
+
"pluginName": "@sendly/cli",
|
|
1156
|
+
"pluginType": "core",
|
|
1157
|
+
"strict": true,
|
|
1158
|
+
"isESM": true,
|
|
1159
|
+
"relativePath": [
|
|
1160
|
+
"dist",
|
|
1161
|
+
"commands",
|
|
1162
|
+
"contacts",
|
|
1163
|
+
"delete.js"
|
|
1164
|
+
]
|
|
1165
|
+
},
|
|
1166
|
+
"contacts:get": {
|
|
1167
|
+
"aliases": [],
|
|
1168
|
+
"args": {
|
|
1169
|
+
"id": {
|
|
1170
|
+
"description": "Contact ID",
|
|
1171
|
+
"name": "id",
|
|
1172
|
+
"required": true
|
|
1173
|
+
}
|
|
1174
|
+
},
|
|
1175
|
+
"description": "Get contact details",
|
|
1176
|
+
"examples": [
|
|
1177
|
+
"<%= config.bin %> contacts get cnt_xxx",
|
|
1178
|
+
"<%= config.bin %> contacts get cnt_xxx --json"
|
|
1179
|
+
],
|
|
1180
|
+
"flags": {
|
|
1181
|
+
"json": {
|
|
1182
|
+
"description": "Output in JSON format",
|
|
1183
|
+
"name": "json",
|
|
1184
|
+
"allowNo": false,
|
|
1185
|
+
"type": "boolean"
|
|
1186
|
+
},
|
|
1187
|
+
"quiet": {
|
|
1188
|
+
"char": "q",
|
|
1189
|
+
"description": "Minimal output",
|
|
1190
|
+
"name": "quiet",
|
|
1191
|
+
"allowNo": false,
|
|
1192
|
+
"type": "boolean"
|
|
1193
|
+
}
|
|
1194
|
+
},
|
|
1195
|
+
"hasDynamicHelp": false,
|
|
1196
|
+
"hiddenAliases": [],
|
|
1197
|
+
"id": "contacts:get",
|
|
1198
|
+
"pluginAlias": "@sendly/cli",
|
|
1199
|
+
"pluginName": "@sendly/cli",
|
|
1200
|
+
"pluginType": "core",
|
|
1201
|
+
"strict": true,
|
|
1202
|
+
"isESM": true,
|
|
1203
|
+
"relativePath": [
|
|
1204
|
+
"dist",
|
|
1205
|
+
"commands",
|
|
1206
|
+
"contacts",
|
|
1207
|
+
"get.js"
|
|
1208
|
+
]
|
|
1209
|
+
},
|
|
1210
|
+
"contacts:import": {
|
|
1211
|
+
"aliases": [],
|
|
1212
|
+
"args": {
|
|
1213
|
+
"file": {
|
|
1214
|
+
"description": "Path to CSV file (columns: phone, name, email)",
|
|
1215
|
+
"name": "file",
|
|
1216
|
+
"required": true
|
|
1217
|
+
}
|
|
1218
|
+
},
|
|
1219
|
+
"description": "Import contacts from a CSV file",
|
|
1220
|
+
"examples": [
|
|
1221
|
+
"<%= config.bin %> contacts import contacts.csv",
|
|
1222
|
+
"<%= config.bin %> contacts import contacts.csv --list lst_xxx",
|
|
1223
|
+
"<%= config.bin %> contacts import contacts.csv --list lst_xxx --json"
|
|
1224
|
+
],
|
|
1225
|
+
"flags": {
|
|
1226
|
+
"json": {
|
|
1227
|
+
"description": "Output in JSON format",
|
|
1228
|
+
"name": "json",
|
|
1229
|
+
"allowNo": false,
|
|
1230
|
+
"type": "boolean"
|
|
1231
|
+
},
|
|
1232
|
+
"quiet": {
|
|
1233
|
+
"char": "q",
|
|
1234
|
+
"description": "Minimal output",
|
|
1235
|
+
"name": "quiet",
|
|
1236
|
+
"allowNo": false,
|
|
1237
|
+
"type": "boolean"
|
|
1238
|
+
},
|
|
1239
|
+
"list": {
|
|
1240
|
+
"char": "l",
|
|
1241
|
+
"description": "Contact list ID to add imported contacts to",
|
|
1242
|
+
"name": "list",
|
|
1243
|
+
"hasDynamicHelp": false,
|
|
1244
|
+
"multiple": false,
|
|
1245
|
+
"type": "option"
|
|
1246
|
+
}
|
|
1247
|
+
},
|
|
1248
|
+
"hasDynamicHelp": false,
|
|
1249
|
+
"hiddenAliases": [],
|
|
1250
|
+
"id": "contacts:import",
|
|
1251
|
+
"pluginAlias": "@sendly/cli",
|
|
1252
|
+
"pluginName": "@sendly/cli",
|
|
1253
|
+
"pluginType": "core",
|
|
1254
|
+
"strict": true,
|
|
1255
|
+
"isESM": true,
|
|
1256
|
+
"relativePath": [
|
|
1257
|
+
"dist",
|
|
1258
|
+
"commands",
|
|
1259
|
+
"contacts",
|
|
1260
|
+
"import.js"
|
|
1261
|
+
]
|
|
1262
|
+
},
|
|
1263
|
+
"contacts:list": {
|
|
1264
|
+
"aliases": [],
|
|
1265
|
+
"args": {},
|
|
1266
|
+
"description": "List contacts",
|
|
1267
|
+
"examples": [
|
|
1268
|
+
"<%= config.bin %> contacts list",
|
|
1269
|
+
"<%= config.bin %> contacts list --search john",
|
|
1270
|
+
"<%= config.bin %> contacts list --list lst_xxx",
|
|
1271
|
+
"<%= config.bin %> contacts list --limit 50",
|
|
1272
|
+
"<%= config.bin %> contacts list --json"
|
|
1273
|
+
],
|
|
1274
|
+
"flags": {
|
|
1275
|
+
"json": {
|
|
1276
|
+
"description": "Output in JSON format",
|
|
1277
|
+
"name": "json",
|
|
1278
|
+
"allowNo": false,
|
|
1279
|
+
"type": "boolean"
|
|
1280
|
+
},
|
|
1281
|
+
"quiet": {
|
|
1282
|
+
"char": "q",
|
|
1283
|
+
"description": "Minimal output",
|
|
1284
|
+
"name": "quiet",
|
|
1285
|
+
"allowNo": false,
|
|
1286
|
+
"type": "boolean"
|
|
1287
|
+
},
|
|
1288
|
+
"limit": {
|
|
1289
|
+
"char": "l",
|
|
1290
|
+
"description": "Number of contacts to show",
|
|
1291
|
+
"name": "limit",
|
|
1292
|
+
"default": 50,
|
|
1293
|
+
"hasDynamicHelp": false,
|
|
1294
|
+
"multiple": false,
|
|
1295
|
+
"type": "option"
|
|
1296
|
+
},
|
|
1297
|
+
"offset": {
|
|
1298
|
+
"description": "Offset for pagination",
|
|
1299
|
+
"name": "offset",
|
|
1300
|
+
"default": 0,
|
|
1301
|
+
"hasDynamicHelp": false,
|
|
1302
|
+
"multiple": false,
|
|
1303
|
+
"type": "option"
|
|
1304
|
+
},
|
|
1305
|
+
"search": {
|
|
1306
|
+
"char": "s",
|
|
1307
|
+
"description": "Search by name, phone, or email",
|
|
1308
|
+
"name": "search",
|
|
1309
|
+
"hasDynamicHelp": false,
|
|
1310
|
+
"multiple": false,
|
|
1311
|
+
"type": "option"
|
|
1312
|
+
},
|
|
1313
|
+
"list": {
|
|
1314
|
+
"description": "Filter by contact list ID",
|
|
1315
|
+
"name": "list",
|
|
1316
|
+
"hasDynamicHelp": false,
|
|
1317
|
+
"multiple": false,
|
|
1318
|
+
"type": "option"
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
"hasDynamicHelp": false,
|
|
1322
|
+
"hiddenAliases": [],
|
|
1323
|
+
"id": "contacts:list",
|
|
1324
|
+
"pluginAlias": "@sendly/cli",
|
|
1325
|
+
"pluginName": "@sendly/cli",
|
|
1326
|
+
"pluginType": "core",
|
|
1327
|
+
"strict": true,
|
|
1328
|
+
"isESM": true,
|
|
1329
|
+
"relativePath": [
|
|
1330
|
+
"dist",
|
|
1331
|
+
"commands",
|
|
1332
|
+
"contacts",
|
|
1333
|
+
"list.js"
|
|
1334
|
+
]
|
|
1335
|
+
},
|
|
1336
|
+
"contacts:update": {
|
|
1337
|
+
"aliases": [],
|
|
1338
|
+
"args": {
|
|
1339
|
+
"id": {
|
|
1340
|
+
"description": "Contact ID",
|
|
1341
|
+
"name": "id",
|
|
1342
|
+
"required": true
|
|
1343
|
+
}
|
|
1344
|
+
},
|
|
1345
|
+
"description": "Update a contact",
|
|
1346
|
+
"examples": [
|
|
1347
|
+
"<%= config.bin %> contacts update cnt_xxx --name \"John Doe\"",
|
|
1348
|
+
"<%= config.bin %> contacts update cnt_xxx --email john@example.com",
|
|
1349
|
+
"<%= config.bin %> contacts update cnt_xxx --name \"John\" --email john@example.com"
|
|
1350
|
+
],
|
|
1351
|
+
"flags": {
|
|
1352
|
+
"json": {
|
|
1353
|
+
"description": "Output in JSON format",
|
|
1354
|
+
"name": "json",
|
|
1355
|
+
"allowNo": false,
|
|
1356
|
+
"type": "boolean"
|
|
1357
|
+
},
|
|
1358
|
+
"quiet": {
|
|
1359
|
+
"char": "q",
|
|
1360
|
+
"description": "Minimal output",
|
|
1361
|
+
"name": "quiet",
|
|
1362
|
+
"allowNo": false,
|
|
1363
|
+
"type": "boolean"
|
|
1364
|
+
},
|
|
1365
|
+
"name": {
|
|
1366
|
+
"char": "n",
|
|
1367
|
+
"description": "Contact name",
|
|
1368
|
+
"name": "name",
|
|
1369
|
+
"hasDynamicHelp": false,
|
|
1370
|
+
"multiple": false,
|
|
1371
|
+
"type": "option"
|
|
1372
|
+
},
|
|
1373
|
+
"email": {
|
|
1374
|
+
"char": "e",
|
|
1375
|
+
"description": "Contact email",
|
|
1376
|
+
"name": "email",
|
|
1377
|
+
"hasDynamicHelp": false,
|
|
1378
|
+
"multiple": false,
|
|
1379
|
+
"type": "option"
|
|
1380
|
+
}
|
|
1381
|
+
},
|
|
1382
|
+
"hasDynamicHelp": false,
|
|
1383
|
+
"hiddenAliases": [],
|
|
1384
|
+
"id": "contacts:update",
|
|
1385
|
+
"pluginAlias": "@sendly/cli",
|
|
1386
|
+
"pluginName": "@sendly/cli",
|
|
1387
|
+
"pluginType": "core",
|
|
1388
|
+
"strict": true,
|
|
1389
|
+
"isESM": true,
|
|
1390
|
+
"relativePath": [
|
|
1391
|
+
"dist",
|
|
1392
|
+
"commands",
|
|
1393
|
+
"contacts",
|
|
1394
|
+
"update.js"
|
|
1395
|
+
]
|
|
1396
|
+
},
|
|
1397
|
+
"credits:balance": {
|
|
1398
|
+
"aliases": [],
|
|
1399
|
+
"args": {},
|
|
1400
|
+
"description": "Check your credit balance",
|
|
1401
|
+
"examples": [
|
|
1402
|
+
"<%= config.bin %> credits balance",
|
|
1403
|
+
"<%= config.bin %> credits balance --json"
|
|
1404
|
+
],
|
|
1405
|
+
"flags": {
|
|
1406
|
+
"json": {
|
|
1407
|
+
"description": "Output in JSON format",
|
|
1408
|
+
"name": "json",
|
|
1409
|
+
"allowNo": false,
|
|
1410
|
+
"type": "boolean"
|
|
1411
|
+
},
|
|
1412
|
+
"quiet": {
|
|
1413
|
+
"char": "q",
|
|
1414
|
+
"description": "Minimal output",
|
|
1415
|
+
"name": "quiet",
|
|
1416
|
+
"allowNo": false,
|
|
1417
|
+
"type": "boolean"
|
|
1418
|
+
}
|
|
1419
|
+
},
|
|
1420
|
+
"hasDynamicHelp": false,
|
|
1421
|
+
"hiddenAliases": [],
|
|
1422
|
+
"id": "credits:balance",
|
|
1423
|
+
"pluginAlias": "@sendly/cli",
|
|
1424
|
+
"pluginName": "@sendly/cli",
|
|
1425
|
+
"pluginType": "core",
|
|
1426
|
+
"strict": true,
|
|
1427
|
+
"isESM": true,
|
|
1428
|
+
"relativePath": [
|
|
1429
|
+
"dist",
|
|
1430
|
+
"commands",
|
|
1431
|
+
"credits",
|
|
1432
|
+
"balance.js"
|
|
1433
|
+
]
|
|
1434
|
+
},
|
|
1435
|
+
"credits:history": {
|
|
1436
|
+
"aliases": [],
|
|
1437
|
+
"args": {},
|
|
1438
|
+
"description": "View credit transaction history",
|
|
1439
|
+
"examples": [
|
|
1440
|
+
"<%= config.bin %> credits history",
|
|
1441
|
+
"<%= config.bin %> credits history --limit 10",
|
|
1442
|
+
"<%= config.bin %> credits history --json"
|
|
1443
|
+
],
|
|
1444
|
+
"flags": {
|
|
1445
|
+
"json": {
|
|
1446
|
+
"description": "Output in JSON format",
|
|
1447
|
+
"name": "json",
|
|
1448
|
+
"allowNo": false,
|
|
1449
|
+
"type": "boolean"
|
|
1450
|
+
},
|
|
1451
|
+
"quiet": {
|
|
1452
|
+
"char": "q",
|
|
1453
|
+
"description": "Minimal output",
|
|
1454
|
+
"name": "quiet",
|
|
1455
|
+
"allowNo": false,
|
|
1456
|
+
"type": "boolean"
|
|
1457
|
+
},
|
|
1458
|
+
"limit": {
|
|
1459
|
+
"char": "l",
|
|
1460
|
+
"description": "Number of transactions to show",
|
|
1461
|
+
"name": "limit",
|
|
1462
|
+
"default": 20,
|
|
1463
|
+
"hasDynamicHelp": false,
|
|
1464
|
+
"multiple": false,
|
|
1465
|
+
"type": "option"
|
|
1466
|
+
}
|
|
1467
|
+
},
|
|
1468
|
+
"hasDynamicHelp": false,
|
|
1469
|
+
"hiddenAliases": [],
|
|
1470
|
+
"id": "credits:history",
|
|
1471
|
+
"pluginAlias": "@sendly/cli",
|
|
1472
|
+
"pluginName": "@sendly/cli",
|
|
1473
|
+
"pluginType": "core",
|
|
1474
|
+
"strict": true,
|
|
1475
|
+
"isESM": true,
|
|
1476
|
+
"relativePath": [
|
|
1477
|
+
"dist",
|
|
1478
|
+
"commands",
|
|
1479
|
+
"credits",
|
|
1480
|
+
"history.js"
|
|
1481
|
+
]
|
|
1482
|
+
},
|
|
1483
|
+
"keys:create": {
|
|
1484
|
+
"aliases": [],
|
|
1485
|
+
"args": {},
|
|
1486
|
+
"description": "Create a new API key",
|
|
1487
|
+
"examples": [
|
|
1488
|
+
"<%= config.bin %> keys create --name \"Production\"",
|
|
1489
|
+
"<%= config.bin %> keys create --name \"CI Testing\" --type test",
|
|
1490
|
+
"<%= config.bin %> keys create --name \"Backend\" --type live --json"
|
|
1491
|
+
],
|
|
1492
|
+
"flags": {
|
|
1493
|
+
"json": {
|
|
1494
|
+
"description": "Output in JSON format",
|
|
1495
|
+
"name": "json",
|
|
1496
|
+
"allowNo": false,
|
|
1497
|
+
"type": "boolean"
|
|
1498
|
+
},
|
|
1499
|
+
"quiet": {
|
|
1500
|
+
"char": "q",
|
|
1501
|
+
"description": "Minimal output",
|
|
1502
|
+
"name": "quiet",
|
|
1503
|
+
"allowNo": false,
|
|
1504
|
+
"type": "boolean"
|
|
1505
|
+
},
|
|
1506
|
+
"name": {
|
|
1507
|
+
"char": "n",
|
|
1508
|
+
"description": "Name for the API key",
|
|
1509
|
+
"name": "name",
|
|
1510
|
+
"required": true,
|
|
1511
|
+
"hasDynamicHelp": false,
|
|
1512
|
+
"multiple": false,
|
|
1513
|
+
"type": "option"
|
|
1514
|
+
},
|
|
1515
|
+
"type": {
|
|
1516
|
+
"char": "t",
|
|
1517
|
+
"description": "Key type (test or live)",
|
|
1518
|
+
"name": "type",
|
|
1519
|
+
"default": "test",
|
|
1520
|
+
"hasDynamicHelp": false,
|
|
1521
|
+
"multiple": false,
|
|
1522
|
+
"options": [
|
|
1523
|
+
"test",
|
|
1524
|
+
"live"
|
|
1525
|
+
],
|
|
1526
|
+
"type": "option"
|
|
1527
|
+
}
|
|
1528
|
+
},
|
|
1529
|
+
"hasDynamicHelp": false,
|
|
1530
|
+
"hiddenAliases": [],
|
|
1531
|
+
"id": "keys:create",
|
|
1532
|
+
"pluginAlias": "@sendly/cli",
|
|
1533
|
+
"pluginName": "@sendly/cli",
|
|
1534
|
+
"pluginType": "core",
|
|
1535
|
+
"strict": true,
|
|
1536
|
+
"isESM": true,
|
|
1537
|
+
"relativePath": [
|
|
1538
|
+
"dist",
|
|
1539
|
+
"commands",
|
|
1540
|
+
"keys",
|
|
1541
|
+
"create.js"
|
|
1542
|
+
]
|
|
1543
|
+
},
|
|
1544
|
+
"keys:get": {
|
|
1545
|
+
"aliases": [],
|
|
1546
|
+
"args": {
|
|
1547
|
+
"id": {
|
|
1548
|
+
"description": "API key ID",
|
|
1549
|
+
"name": "id",
|
|
1550
|
+
"required": true
|
|
1551
|
+
}
|
|
1552
|
+
},
|
|
1553
|
+
"description": "Get details of a specific API key",
|
|
1554
|
+
"examples": [
|
|
1555
|
+
"<%= config.bin %> keys get KEY_ID",
|
|
1556
|
+
"<%= config.bin %> keys get KEY_ID --json"
|
|
1557
|
+
],
|
|
1558
|
+
"flags": {
|
|
1559
|
+
"json": {
|
|
1560
|
+
"description": "Output in JSON format",
|
|
1561
|
+
"name": "json",
|
|
1562
|
+
"allowNo": false,
|
|
1563
|
+
"type": "boolean"
|
|
1564
|
+
},
|
|
1565
|
+
"quiet": {
|
|
1566
|
+
"char": "q",
|
|
1567
|
+
"description": "Minimal output",
|
|
1568
|
+
"name": "quiet",
|
|
1569
|
+
"allowNo": false,
|
|
1570
|
+
"type": "boolean"
|
|
1571
|
+
}
|
|
1572
|
+
},
|
|
1573
|
+
"hasDynamicHelp": false,
|
|
1574
|
+
"hiddenAliases": [],
|
|
1575
|
+
"id": "keys:get",
|
|
1576
|
+
"pluginAlias": "@sendly/cli",
|
|
1577
|
+
"pluginName": "@sendly/cli",
|
|
1578
|
+
"pluginType": "core",
|
|
1579
|
+
"strict": true,
|
|
1580
|
+
"isESM": true,
|
|
1581
|
+
"relativePath": [
|
|
1582
|
+
"dist",
|
|
1583
|
+
"commands",
|
|
1584
|
+
"keys",
|
|
1585
|
+
"get.js"
|
|
1586
|
+
]
|
|
1587
|
+
},
|
|
1588
|
+
"keys:list": {
|
|
1589
|
+
"aliases": [],
|
|
1590
|
+
"args": {},
|
|
1591
|
+
"description": "List your API keys",
|
|
1592
|
+
"examples": [
|
|
1593
|
+
"<%= config.bin %> keys list",
|
|
1594
|
+
"<%= config.bin %> keys list --json"
|
|
1595
|
+
],
|
|
1596
|
+
"flags": {
|
|
1597
|
+
"json": {
|
|
1598
|
+
"description": "Output in JSON format",
|
|
1599
|
+
"name": "json",
|
|
1600
|
+
"allowNo": false,
|
|
1601
|
+
"type": "boolean"
|
|
1602
|
+
},
|
|
1603
|
+
"quiet": {
|
|
1604
|
+
"char": "q",
|
|
1605
|
+
"description": "Minimal output",
|
|
1606
|
+
"name": "quiet",
|
|
1607
|
+
"allowNo": false,
|
|
1608
|
+
"type": "boolean"
|
|
1609
|
+
}
|
|
1610
|
+
},
|
|
1611
|
+
"hasDynamicHelp": false,
|
|
1612
|
+
"hiddenAliases": [],
|
|
1613
|
+
"id": "keys:list",
|
|
1614
|
+
"pluginAlias": "@sendly/cli",
|
|
1615
|
+
"pluginName": "@sendly/cli",
|
|
1616
|
+
"pluginType": "core",
|
|
1617
|
+
"strict": true,
|
|
1618
|
+
"isESM": true,
|
|
1619
|
+
"relativePath": [
|
|
1620
|
+
"dist",
|
|
1621
|
+
"commands",
|
|
1622
|
+
"keys",
|
|
1623
|
+
"list.js"
|
|
1624
|
+
]
|
|
1625
|
+
},
|
|
1626
|
+
"keys:rename": {
|
|
1627
|
+
"aliases": [],
|
|
1628
|
+
"args": {
|
|
1629
|
+
"keyId": {
|
|
1630
|
+
"description": "Key ID to rename (e.g., key_abc123)",
|
|
1631
|
+
"name": "keyId",
|
|
1632
|
+
"required": true
|
|
1633
|
+
}
|
|
1634
|
+
},
|
|
1635
|
+
"description": "Rename an API key",
|
|
1636
|
+
"examples": [
|
|
1637
|
+
"<%= config.bin %> keys rename key_abc123 --name \"Production Key\"",
|
|
1638
|
+
"<%= config.bin %> keys rename key_abc123 -n \"Staging\""
|
|
1639
|
+
],
|
|
1640
|
+
"flags": {
|
|
1641
|
+
"json": {
|
|
1642
|
+
"description": "Output in JSON format",
|
|
1643
|
+
"name": "json",
|
|
1644
|
+
"allowNo": false,
|
|
1645
|
+
"type": "boolean"
|
|
1646
|
+
},
|
|
1647
|
+
"quiet": {
|
|
1648
|
+
"char": "q",
|
|
1649
|
+
"description": "Minimal output",
|
|
1650
|
+
"name": "quiet",
|
|
1651
|
+
"allowNo": false,
|
|
1652
|
+
"type": "boolean"
|
|
1653
|
+
},
|
|
1654
|
+
"name": {
|
|
1655
|
+
"char": "n",
|
|
1656
|
+
"description": "New name for the API key",
|
|
1657
|
+
"name": "name",
|
|
1658
|
+
"required": true,
|
|
1659
|
+
"hasDynamicHelp": false,
|
|
1660
|
+
"multiple": false,
|
|
1661
|
+
"type": "option"
|
|
1662
|
+
}
|
|
1663
|
+
},
|
|
1664
|
+
"hasDynamicHelp": false,
|
|
1665
|
+
"hiddenAliases": [],
|
|
1666
|
+
"id": "keys:rename",
|
|
1667
|
+
"pluginAlias": "@sendly/cli",
|
|
1668
|
+
"pluginName": "@sendly/cli",
|
|
1669
|
+
"pluginType": "core",
|
|
1670
|
+
"strict": true,
|
|
1671
|
+
"isESM": true,
|
|
1672
|
+
"relativePath": [
|
|
1673
|
+
"dist",
|
|
1674
|
+
"commands",
|
|
1675
|
+
"keys",
|
|
1676
|
+
"rename.js"
|
|
1677
|
+
]
|
|
1678
|
+
},
|
|
1679
|
+
"keys:revoke": {
|
|
1680
|
+
"aliases": [],
|
|
1681
|
+
"args": {
|
|
1682
|
+
"keyId": {
|
|
1683
|
+
"description": "Key ID to revoke (e.g., key_abc123)",
|
|
1684
|
+
"name": "keyId",
|
|
1685
|
+
"required": true
|
|
1686
|
+
}
|
|
1687
|
+
},
|
|
1688
|
+
"description": "Revoke an API key",
|
|
1689
|
+
"examples": [
|
|
1690
|
+
"<%= config.bin %> keys revoke key_abc123",
|
|
1691
|
+
"<%= config.bin %> keys revoke key_abc123 --reason \"Compromised\"",
|
|
1692
|
+
"<%= config.bin %> keys revoke key_abc123 --yes"
|
|
1693
|
+
],
|
|
1694
|
+
"flags": {
|
|
1695
|
+
"json": {
|
|
1696
|
+
"description": "Output in JSON format",
|
|
1697
|
+
"name": "json",
|
|
1698
|
+
"allowNo": false,
|
|
1699
|
+
"type": "boolean"
|
|
1700
|
+
},
|
|
1701
|
+
"quiet": {
|
|
1702
|
+
"char": "q",
|
|
1703
|
+
"description": "Minimal output",
|
|
1704
|
+
"name": "quiet",
|
|
1705
|
+
"allowNo": false,
|
|
1706
|
+
"type": "boolean"
|
|
1707
|
+
},
|
|
1708
|
+
"reason": {
|
|
1709
|
+
"char": "r",
|
|
1710
|
+
"description": "Reason for revoking the key",
|
|
1711
|
+
"name": "reason",
|
|
1712
|
+
"hasDynamicHelp": false,
|
|
1713
|
+
"multiple": false,
|
|
1714
|
+
"type": "option"
|
|
1715
|
+
},
|
|
1716
|
+
"yes": {
|
|
1717
|
+
"char": "y",
|
|
1718
|
+
"description": "Skip confirmation prompt",
|
|
1719
|
+
"name": "yes",
|
|
1720
|
+
"allowNo": false,
|
|
1721
|
+
"type": "boolean"
|
|
1722
|
+
}
|
|
1723
|
+
},
|
|
1724
|
+
"hasDynamicHelp": false,
|
|
1725
|
+
"hiddenAliases": [],
|
|
1726
|
+
"id": "keys:revoke",
|
|
1727
|
+
"pluginAlias": "@sendly/cli",
|
|
1728
|
+
"pluginName": "@sendly/cli",
|
|
1729
|
+
"pluginType": "core",
|
|
1730
|
+
"strict": true,
|
|
1731
|
+
"isESM": true,
|
|
1732
|
+
"relativePath": [
|
|
1733
|
+
"dist",
|
|
1734
|
+
"commands",
|
|
1735
|
+
"keys",
|
|
1736
|
+
"revoke.js"
|
|
1737
|
+
]
|
|
1738
|
+
},
|
|
1739
|
+
"keys:rotate": {
|
|
1740
|
+
"aliases": [],
|
|
1741
|
+
"args": {
|
|
1742
|
+
"keyId": {
|
|
1743
|
+
"description": "Key ID to rotate (e.g., key_abc123)",
|
|
1744
|
+
"name": "keyId",
|
|
1745
|
+
"required": true
|
|
1746
|
+
}
|
|
1747
|
+
},
|
|
1748
|
+
"description": "Rotate an API key (generate new key, optionally keep old one active)",
|
|
1749
|
+
"examples": [
|
|
1750
|
+
"<%= config.bin %> keys rotate key_abc123",
|
|
1751
|
+
"<%= config.bin %> keys rotate key_abc123 --grace-period 24",
|
|
1752
|
+
"<%= config.bin %> keys rotate key_abc123 --yes"
|
|
1753
|
+
],
|
|
1754
|
+
"flags": {
|
|
1755
|
+
"json": {
|
|
1756
|
+
"description": "Output in JSON format",
|
|
1757
|
+
"name": "json",
|
|
1758
|
+
"allowNo": false,
|
|
1759
|
+
"type": "boolean"
|
|
1760
|
+
},
|
|
1761
|
+
"quiet": {
|
|
1762
|
+
"char": "q",
|
|
1763
|
+
"description": "Minimal output",
|
|
1764
|
+
"name": "quiet",
|
|
1765
|
+
"allowNo": false,
|
|
1766
|
+
"type": "boolean"
|
|
1767
|
+
},
|
|
1768
|
+
"grace-period": {
|
|
1769
|
+
"char": "g",
|
|
1770
|
+
"description": "Hours to keep old key active (0 = immediate revocation)",
|
|
1771
|
+
"name": "grace-period",
|
|
1772
|
+
"hasDynamicHelp": false,
|
|
1773
|
+
"multiple": false,
|
|
1774
|
+
"type": "option"
|
|
1775
|
+
},
|
|
1776
|
+
"yes": {
|
|
1777
|
+
"char": "y",
|
|
1778
|
+
"description": "Skip confirmation prompt",
|
|
1779
|
+
"name": "yes",
|
|
1780
|
+
"allowNo": false,
|
|
1781
|
+
"type": "boolean"
|
|
1782
|
+
}
|
|
1783
|
+
},
|
|
1784
|
+
"hasDynamicHelp": false,
|
|
1785
|
+
"hiddenAliases": [],
|
|
1786
|
+
"id": "keys:rotate",
|
|
1787
|
+
"pluginAlias": "@sendly/cli",
|
|
1788
|
+
"pluginName": "@sendly/cli",
|
|
1789
|
+
"pluginType": "core",
|
|
1790
|
+
"strict": true,
|
|
1791
|
+
"isESM": true,
|
|
1792
|
+
"relativePath": [
|
|
1793
|
+
"dist",
|
|
1794
|
+
"commands",
|
|
1795
|
+
"keys",
|
|
1796
|
+
"rotate.js"
|
|
1797
|
+
]
|
|
1798
|
+
},
|
|
1799
|
+
"keys:usage": {
|
|
1800
|
+
"aliases": [],
|
|
1801
|
+
"args": {
|
|
1802
|
+
"id": {
|
|
1803
|
+
"description": "API key ID",
|
|
1804
|
+
"name": "id",
|
|
1805
|
+
"required": true
|
|
1806
|
+
}
|
|
1807
|
+
},
|
|
1808
|
+
"description": "Get usage statistics for an API key",
|
|
1809
|
+
"examples": [
|
|
1810
|
+
"<%= config.bin %> keys usage KEY_ID",
|
|
1811
|
+
"<%= config.bin %> keys usage KEY_ID --json"
|
|
1812
|
+
],
|
|
1813
|
+
"flags": {
|
|
1814
|
+
"json": {
|
|
1815
|
+
"description": "Output in JSON format",
|
|
1816
|
+
"name": "json",
|
|
1817
|
+
"allowNo": false,
|
|
1818
|
+
"type": "boolean"
|
|
1819
|
+
},
|
|
1820
|
+
"quiet": {
|
|
1821
|
+
"char": "q",
|
|
1822
|
+
"description": "Minimal output",
|
|
1823
|
+
"name": "quiet",
|
|
1824
|
+
"allowNo": false,
|
|
1825
|
+
"type": "boolean"
|
|
1826
|
+
}
|
|
1827
|
+
},
|
|
1828
|
+
"hasDynamicHelp": false,
|
|
1829
|
+
"hiddenAliases": [],
|
|
1830
|
+
"id": "keys:usage",
|
|
1831
|
+
"pluginAlias": "@sendly/cli",
|
|
1832
|
+
"pluginName": "@sendly/cli",
|
|
1833
|
+
"pluginType": "core",
|
|
1834
|
+
"strict": true,
|
|
1835
|
+
"isESM": true,
|
|
1836
|
+
"relativePath": [
|
|
1837
|
+
"dist",
|
|
1838
|
+
"commands",
|
|
1839
|
+
"keys",
|
|
1840
|
+
"usage.js"
|
|
1841
|
+
]
|
|
1842
|
+
},
|
|
1843
|
+
"logs:tail": {
|
|
1844
|
+
"aliases": [],
|
|
1845
|
+
"args": {},
|
|
1846
|
+
"description": "Tail logs in real-time (like stripe logs tail)",
|
|
1847
|
+
"examples": [
|
|
1848
|
+
"<%= config.bin %> logs tail",
|
|
1849
|
+
"<%= config.bin %> logs tail --status failed",
|
|
1850
|
+
"<%= config.bin %> logs tail --since 1h"
|
|
1851
|
+
],
|
|
1852
|
+
"flags": {
|
|
1853
|
+
"json": {
|
|
1854
|
+
"description": "Output in JSON format",
|
|
1855
|
+
"name": "json",
|
|
1856
|
+
"allowNo": false,
|
|
1857
|
+
"type": "boolean"
|
|
1858
|
+
},
|
|
1859
|
+
"quiet": {
|
|
1860
|
+
"char": "q",
|
|
1861
|
+
"description": "Minimal output",
|
|
1862
|
+
"name": "quiet",
|
|
1863
|
+
"allowNo": false,
|
|
1864
|
+
"type": "boolean"
|
|
1865
|
+
},
|
|
1866
|
+
"status": {
|
|
1867
|
+
"char": "s",
|
|
1868
|
+
"description": "Filter by status (sent, delivered, failed)",
|
|
1869
|
+
"name": "status",
|
|
1870
|
+
"hasDynamicHelp": false,
|
|
1871
|
+
"multiple": false,
|
|
1872
|
+
"type": "option"
|
|
1873
|
+
},
|
|
1874
|
+
"since": {
|
|
1875
|
+
"description": "Show logs since (e.g., 1h, 30m, 1d)",
|
|
1876
|
+
"name": "since",
|
|
1877
|
+
"default": "1h",
|
|
1878
|
+
"hasDynamicHelp": false,
|
|
1879
|
+
"multiple": false,
|
|
1880
|
+
"type": "option"
|
|
1881
|
+
},
|
|
1882
|
+
"type": {
|
|
1883
|
+
"char": "t",
|
|
1884
|
+
"description": "Filter by type (message, api_call, webhook)",
|
|
1885
|
+
"name": "type",
|
|
1886
|
+
"hasDynamicHelp": false,
|
|
1887
|
+
"multiple": false,
|
|
1888
|
+
"type": "option"
|
|
1889
|
+
}
|
|
1890
|
+
},
|
|
1891
|
+
"hasDynamicHelp": false,
|
|
1892
|
+
"hiddenAliases": [],
|
|
1893
|
+
"id": "logs:tail",
|
|
1894
|
+
"pluginAlias": "@sendly/cli",
|
|
1895
|
+
"pluginName": "@sendly/cli",
|
|
1896
|
+
"pluginType": "core",
|
|
1897
|
+
"strict": true,
|
|
1898
|
+
"isESM": true,
|
|
1899
|
+
"relativePath": [
|
|
1900
|
+
"dist",
|
|
1901
|
+
"commands",
|
|
1902
|
+
"logs",
|
|
1903
|
+
"tail.js"
|
|
1904
|
+
]
|
|
1905
|
+
},
|
|
1906
|
+
"sms:batch": {
|
|
1907
|
+
"aliases": [],
|
|
1908
|
+
"args": {},
|
|
1909
|
+
"description": "Send batch SMS messages (uploads CSV to cloud for audit trail)",
|
|
1910
|
+
"examples": [
|
|
1911
|
+
"<%= config.bin %> sms batch --file recipients.csv",
|
|
1912
|
+
"<%= config.bin %> sms batch --file phones.csv --text \"Hello everyone!\"",
|
|
1913
|
+
"<%= config.bin %> sms batch --to +15551234567,+15559876543 --text \"Hello!\"",
|
|
1914
|
+
"<%= config.bin %> sms batch --file recipients.csv --dry-run",
|
|
1915
|
+
"<%= config.bin %> sms batch --file phones.csv --text \"Code: 123\" --type transactional",
|
|
1916
|
+
"<%= config.bin %> sms batch --reuse abc123-def456",
|
|
1917
|
+
"<%= config.bin %> sms batch --history"
|
|
1918
|
+
],
|
|
1919
|
+
"flags": {
|
|
1920
|
+
"json": {
|
|
1921
|
+
"description": "Output in JSON format",
|
|
1922
|
+
"name": "json",
|
|
1923
|
+
"allowNo": false,
|
|
1924
|
+
"type": "boolean"
|
|
1925
|
+
},
|
|
1926
|
+
"quiet": {
|
|
1927
|
+
"char": "q",
|
|
1928
|
+
"description": "Minimal output",
|
|
1929
|
+
"name": "quiet",
|
|
1930
|
+
"allowNo": false,
|
|
1931
|
+
"type": "boolean"
|
|
1932
|
+
},
|
|
1933
|
+
"file": {
|
|
1934
|
+
"char": "F",
|
|
1935
|
+
"description": "CSV file with phone numbers (and optional message text)",
|
|
1936
|
+
"exclusive": [
|
|
1937
|
+
"to",
|
|
1938
|
+
"reuse",
|
|
1939
|
+
"history"
|
|
1940
|
+
],
|
|
1941
|
+
"name": "file",
|
|
1942
|
+
"hasDynamicHelp": false,
|
|
1943
|
+
"multiple": false,
|
|
1944
|
+
"type": "option"
|
|
1945
|
+
},
|
|
1946
|
+
"to": {
|
|
1947
|
+
"char": "t",
|
|
1948
|
+
"description": "Comma-separated recipient phone numbers (E.164 format)",
|
|
1949
|
+
"exclusive": [
|
|
1950
|
+
"file",
|
|
1951
|
+
"reuse",
|
|
1952
|
+
"history"
|
|
1953
|
+
],
|
|
1954
|
+
"name": "to",
|
|
1955
|
+
"hasDynamicHelp": false,
|
|
1956
|
+
"multiple": false,
|
|
1957
|
+
"type": "option"
|
|
1958
|
+
},
|
|
1959
|
+
"text": {
|
|
1960
|
+
"char": "m",
|
|
1961
|
+
"description": "Message text (required with --to, optional with --file if CSV has text column)",
|
|
1962
|
+
"name": "text",
|
|
1963
|
+
"hasDynamicHelp": false,
|
|
1964
|
+
"multiple": false,
|
|
1965
|
+
"type": "option"
|
|
1966
|
+
},
|
|
1967
|
+
"from": {
|
|
1968
|
+
"char": "f",
|
|
1969
|
+
"description": "Sender ID or phone number for all messages",
|
|
1970
|
+
"name": "from",
|
|
1971
|
+
"hasDynamicHelp": false,
|
|
1972
|
+
"multiple": false,
|
|
1973
|
+
"type": "option"
|
|
1974
|
+
},
|
|
1975
|
+
"type": {
|
|
1976
|
+
"description": "Message type: marketing (default) or transactional. Transactional bypasses quiet hours.",
|
|
1977
|
+
"name": "type",
|
|
1978
|
+
"default": "marketing",
|
|
1979
|
+
"hasDynamicHelp": false,
|
|
1980
|
+
"multiple": false,
|
|
1981
|
+
"options": [
|
|
1982
|
+
"marketing",
|
|
1983
|
+
"transactional"
|
|
1984
|
+
],
|
|
1985
|
+
"type": "option"
|
|
1986
|
+
},
|
|
1987
|
+
"dry-run": {
|
|
1988
|
+
"char": "d",
|
|
1989
|
+
"description": "Preview batch without sending (validates access, shows cost and compliance breakdown)",
|
|
1990
|
+
"name": "dry-run",
|
|
1991
|
+
"allowNo": false,
|
|
1992
|
+
"type": "boolean"
|
|
1993
|
+
},
|
|
1994
|
+
"reuse": {
|
|
1995
|
+
"description": "Re-use a previous batch upload by ID (see --history)",
|
|
1996
|
+
"exclusive": [
|
|
1997
|
+
"file",
|
|
1998
|
+
"to",
|
|
1999
|
+
"history"
|
|
2000
|
+
],
|
|
2001
|
+
"name": "reuse",
|
|
2002
|
+
"hasDynamicHelp": false,
|
|
2003
|
+
"multiple": false,
|
|
2004
|
+
"type": "option"
|
|
2005
|
+
},
|
|
2006
|
+
"history": {
|
|
2007
|
+
"description": "Show recent batch upload history",
|
|
2008
|
+
"exclusive": [
|
|
2009
|
+
"file",
|
|
2010
|
+
"to",
|
|
2011
|
+
"reuse"
|
|
2012
|
+
],
|
|
2013
|
+
"name": "history",
|
|
2014
|
+
"allowNo": false,
|
|
2015
|
+
"type": "boolean"
|
|
2016
|
+
}
|
|
2017
|
+
},
|
|
2018
|
+
"hasDynamicHelp": false,
|
|
2019
|
+
"hiddenAliases": [],
|
|
2020
|
+
"id": "sms:batch",
|
|
2021
|
+
"pluginAlias": "@sendly/cli",
|
|
2022
|
+
"pluginName": "@sendly/cli",
|
|
2023
|
+
"pluginType": "core",
|
|
2024
|
+
"strict": true,
|
|
2025
|
+
"isESM": true,
|
|
2026
|
+
"relativePath": [
|
|
2027
|
+
"dist",
|
|
2028
|
+
"commands",
|
|
2029
|
+
"sms",
|
|
2030
|
+
"batch.js"
|
|
2031
|
+
]
|
|
2032
|
+
},
|
|
2033
|
+
"sms:cancel": {
|
|
2034
|
+
"aliases": [],
|
|
2035
|
+
"args": {
|
|
2036
|
+
"id": {
|
|
2037
|
+
"description": "Scheduled message ID to cancel",
|
|
2038
|
+
"name": "id",
|
|
2039
|
+
"required": true
|
|
2040
|
+
}
|
|
2041
|
+
},
|
|
2042
|
+
"description": "Cancel a scheduled message",
|
|
2043
|
+
"examples": [
|
|
2044
|
+
"<%= config.bin %> sms cancel sched_abc123",
|
|
2045
|
+
"<%= config.bin %> sms cancel sched_abc123 --json"
|
|
2046
|
+
],
|
|
2047
|
+
"flags": {
|
|
2048
|
+
"json": {
|
|
2049
|
+
"description": "Output in JSON format",
|
|
2050
|
+
"name": "json",
|
|
2051
|
+
"allowNo": false,
|
|
2052
|
+
"type": "boolean"
|
|
2053
|
+
},
|
|
2054
|
+
"quiet": {
|
|
2055
|
+
"char": "q",
|
|
2056
|
+
"description": "Minimal output",
|
|
2057
|
+
"name": "quiet",
|
|
2058
|
+
"allowNo": false,
|
|
2059
|
+
"type": "boolean"
|
|
2060
|
+
}
|
|
2061
|
+
},
|
|
2062
|
+
"hasDynamicHelp": false,
|
|
2063
|
+
"hiddenAliases": [],
|
|
2064
|
+
"id": "sms:cancel",
|
|
2065
|
+
"pluginAlias": "@sendly/cli",
|
|
2066
|
+
"pluginName": "@sendly/cli",
|
|
2067
|
+
"pluginType": "core",
|
|
2068
|
+
"strict": true,
|
|
2069
|
+
"isESM": true,
|
|
2070
|
+
"relativePath": [
|
|
2071
|
+
"dist",
|
|
2072
|
+
"commands",
|
|
2073
|
+
"sms",
|
|
2074
|
+
"cancel.js"
|
|
2075
|
+
]
|
|
2076
|
+
},
|
|
2077
|
+
"sms:get": {
|
|
2078
|
+
"aliases": [],
|
|
2079
|
+
"args": {
|
|
2080
|
+
"id": {
|
|
2081
|
+
"description": "Message ID",
|
|
2082
|
+
"name": "id",
|
|
2083
|
+
"required": true
|
|
2084
|
+
}
|
|
2085
|
+
},
|
|
2086
|
+
"description": "Get details of a specific message",
|
|
2087
|
+
"examples": [
|
|
2088
|
+
"<%= config.bin %> sms get msg_abc123",
|
|
2089
|
+
"<%= config.bin %> sms get msg_abc123 --json"
|
|
2090
|
+
],
|
|
2091
|
+
"flags": {
|
|
2092
|
+
"json": {
|
|
2093
|
+
"description": "Output in JSON format",
|
|
2094
|
+
"name": "json",
|
|
2095
|
+
"allowNo": false,
|
|
2096
|
+
"type": "boolean"
|
|
2097
|
+
},
|
|
2098
|
+
"quiet": {
|
|
2099
|
+
"char": "q",
|
|
2100
|
+
"description": "Minimal output",
|
|
2101
|
+
"name": "quiet",
|
|
2102
|
+
"allowNo": false,
|
|
2103
|
+
"type": "boolean"
|
|
2104
|
+
}
|
|
2105
|
+
},
|
|
2106
|
+
"hasDynamicHelp": false,
|
|
2107
|
+
"hiddenAliases": [],
|
|
2108
|
+
"id": "sms:get",
|
|
2109
|
+
"pluginAlias": "@sendly/cli",
|
|
2110
|
+
"pluginName": "@sendly/cli",
|
|
2111
|
+
"pluginType": "core",
|
|
2112
|
+
"strict": true,
|
|
2113
|
+
"isESM": true,
|
|
2114
|
+
"relativePath": [
|
|
2115
|
+
"dist",
|
|
2116
|
+
"commands",
|
|
2117
|
+
"sms",
|
|
2118
|
+
"get.js"
|
|
2119
|
+
]
|
|
2120
|
+
},
|
|
2121
|
+
"sms:list": {
|
|
2122
|
+
"aliases": [],
|
|
2123
|
+
"args": {},
|
|
2124
|
+
"description": "List sent messages",
|
|
2125
|
+
"examples": [
|
|
2126
|
+
"<%= config.bin %> sms list",
|
|
2127
|
+
"<%= config.bin %> sms list --limit 10",
|
|
2128
|
+
"<%= config.bin %> sms list --page 2",
|
|
2129
|
+
"<%= config.bin %> sms list --status delivered",
|
|
2130
|
+
"<%= config.bin %> sms list --sandbox",
|
|
2131
|
+
"<%= config.bin %> sms list --json"
|
|
2132
|
+
],
|
|
2133
|
+
"flags": {
|
|
2134
|
+
"json": {
|
|
2135
|
+
"description": "Output in JSON format",
|
|
2136
|
+
"name": "json",
|
|
2137
|
+
"allowNo": false,
|
|
2138
|
+
"type": "boolean"
|
|
2139
|
+
},
|
|
2140
|
+
"quiet": {
|
|
2141
|
+
"char": "q",
|
|
2142
|
+
"description": "Minimal output",
|
|
2143
|
+
"name": "quiet",
|
|
2144
|
+
"allowNo": false,
|
|
2145
|
+
"type": "boolean"
|
|
2146
|
+
},
|
|
2147
|
+
"limit": {
|
|
2148
|
+
"char": "l",
|
|
2149
|
+
"description": "Number of messages per page",
|
|
2150
|
+
"name": "limit",
|
|
2151
|
+
"default": 20,
|
|
2152
|
+
"hasDynamicHelp": false,
|
|
2153
|
+
"multiple": false,
|
|
2154
|
+
"type": "option"
|
|
2155
|
+
},
|
|
2156
|
+
"page": {
|
|
2157
|
+
"char": "p",
|
|
2158
|
+
"description": "Page number (starts at 1)",
|
|
2159
|
+
"name": "page",
|
|
2160
|
+
"hasDynamicHelp": false,
|
|
2161
|
+
"multiple": false,
|
|
2162
|
+
"type": "option"
|
|
2163
|
+
},
|
|
2164
|
+
"offset": {
|
|
2165
|
+
"description": "Offset from start (alternative to --page)",
|
|
2166
|
+
"name": "offset",
|
|
2167
|
+
"hasDynamicHelp": false,
|
|
2168
|
+
"multiple": false,
|
|
2169
|
+
"type": "option"
|
|
2170
|
+
},
|
|
2171
|
+
"status": {
|
|
2172
|
+
"char": "s",
|
|
2173
|
+
"description": "Filter by status (queued, sent, delivered, failed)",
|
|
2174
|
+
"name": "status",
|
|
2175
|
+
"hasDynamicHelp": false,
|
|
2176
|
+
"multiple": false,
|
|
2177
|
+
"type": "option"
|
|
2178
|
+
},
|
|
2179
|
+
"sandbox": {
|
|
2180
|
+
"description": "Show sandbox/test messages (live keys only)",
|
|
2181
|
+
"name": "sandbox",
|
|
2182
|
+
"allowNo": false,
|
|
2183
|
+
"type": "boolean"
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
"hasDynamicHelp": false,
|
|
2187
|
+
"hiddenAliases": [],
|
|
2188
|
+
"id": "sms:list",
|
|
2189
|
+
"pluginAlias": "@sendly/cli",
|
|
2190
|
+
"pluginName": "@sendly/cli",
|
|
2191
|
+
"pluginType": "core",
|
|
2192
|
+
"strict": true,
|
|
2193
|
+
"isESM": true,
|
|
2194
|
+
"relativePath": [
|
|
2195
|
+
"dist",
|
|
2196
|
+
"commands",
|
|
2197
|
+
"sms",
|
|
2198
|
+
"list.js"
|
|
2199
|
+
]
|
|
2200
|
+
},
|
|
2201
|
+
"sms:schedule": {
|
|
2202
|
+
"aliases": [],
|
|
2203
|
+
"args": {},
|
|
2204
|
+
"description": "Schedule an SMS message for future delivery",
|
|
2205
|
+
"examples": [
|
|
2206
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Reminder!\" --at \"2025-01-20T10:00:00Z\"",
|
|
2207
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Meeting in 1 hour\" --at \"2025-01-15T14:00:00Z\" --from \"Sendly\"",
|
|
2208
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Your code: 123456\" --at \"2025-01-20T10:00:00Z\" --type transactional",
|
|
2209
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Hello!\" --at \"2025-01-20T10:00:00Z\" --json"
|
|
2210
|
+
],
|
|
2211
|
+
"flags": {
|
|
2212
|
+
"json": {
|
|
2213
|
+
"description": "Output in JSON format",
|
|
2214
|
+
"name": "json",
|
|
2215
|
+
"allowNo": false,
|
|
2216
|
+
"type": "boolean"
|
|
2217
|
+
},
|
|
2218
|
+
"quiet": {
|
|
2219
|
+
"char": "q",
|
|
2220
|
+
"description": "Minimal output",
|
|
2221
|
+
"name": "quiet",
|
|
2222
|
+
"allowNo": false,
|
|
2223
|
+
"type": "boolean"
|
|
2224
|
+
},
|
|
2225
|
+
"to": {
|
|
2226
|
+
"char": "t",
|
|
2227
|
+
"description": "Recipient phone number (E.164 format)",
|
|
2228
|
+
"name": "to",
|
|
2229
|
+
"required": true,
|
|
2230
|
+
"hasDynamicHelp": false,
|
|
2231
|
+
"multiple": false,
|
|
2232
|
+
"type": "option"
|
|
2233
|
+
},
|
|
2234
|
+
"text": {
|
|
2235
|
+
"char": "m",
|
|
2236
|
+
"description": "Message text",
|
|
2237
|
+
"name": "text",
|
|
2238
|
+
"required": true,
|
|
2239
|
+
"hasDynamicHelp": false,
|
|
2240
|
+
"multiple": false,
|
|
2241
|
+
"type": "option"
|
|
2242
|
+
},
|
|
2243
|
+
"at": {
|
|
2244
|
+
"char": "a",
|
|
2245
|
+
"description": "Scheduled time (ISO 8601 format, e.g., 2025-01-20T10:00:00Z)",
|
|
1139
2246
|
"name": "at",
|
|
1140
2247
|
"required": true,
|
|
1141
2248
|
"hasDynamicHelp": false,
|
|
1142
2249
|
"multiple": false,
|
|
1143
2250
|
"type": "option"
|
|
1144
2251
|
},
|
|
1145
|
-
"from": {
|
|
1146
|
-
"char": "f",
|
|
1147
|
-
"description": "Sender ID or phone number",
|
|
1148
|
-
"name": "from",
|
|
2252
|
+
"from": {
|
|
2253
|
+
"char": "f",
|
|
2254
|
+
"description": "Sender ID or phone number",
|
|
2255
|
+
"name": "from",
|
|
2256
|
+
"hasDynamicHelp": false,
|
|
2257
|
+
"multiple": false,
|
|
2258
|
+
"type": "option"
|
|
2259
|
+
},
|
|
2260
|
+
"type": {
|
|
2261
|
+
"description": "Message type: marketing (default) or transactional. Transactional messages bypass quiet hours.",
|
|
2262
|
+
"name": "type",
|
|
2263
|
+
"default": "marketing",
|
|
2264
|
+
"hasDynamicHelp": false,
|
|
2265
|
+
"multiple": false,
|
|
2266
|
+
"options": [
|
|
2267
|
+
"marketing",
|
|
2268
|
+
"transactional"
|
|
2269
|
+
],
|
|
2270
|
+
"type": "option"
|
|
2271
|
+
}
|
|
2272
|
+
},
|
|
2273
|
+
"hasDynamicHelp": false,
|
|
2274
|
+
"hiddenAliases": [],
|
|
2275
|
+
"id": "sms:schedule",
|
|
2276
|
+
"pluginAlias": "@sendly/cli",
|
|
2277
|
+
"pluginName": "@sendly/cli",
|
|
2278
|
+
"pluginType": "core",
|
|
2279
|
+
"strict": true,
|
|
2280
|
+
"isESM": true,
|
|
2281
|
+
"relativePath": [
|
|
2282
|
+
"dist",
|
|
2283
|
+
"commands",
|
|
2284
|
+
"sms",
|
|
2285
|
+
"schedule.js"
|
|
2286
|
+
]
|
|
2287
|
+
},
|
|
2288
|
+
"sms:scheduled": {
|
|
2289
|
+
"aliases": [],
|
|
2290
|
+
"args": {},
|
|
2291
|
+
"description": "List scheduled messages",
|
|
2292
|
+
"examples": [
|
|
2293
|
+
"<%= config.bin %> sms scheduled",
|
|
2294
|
+
"<%= config.bin %> sms scheduled --limit 10",
|
|
2295
|
+
"<%= config.bin %> sms scheduled --status scheduled",
|
|
2296
|
+
"<%= config.bin %> sms scheduled --json"
|
|
2297
|
+
],
|
|
2298
|
+
"flags": {
|
|
2299
|
+
"json": {
|
|
2300
|
+
"description": "Output in JSON format",
|
|
2301
|
+
"name": "json",
|
|
2302
|
+
"allowNo": false,
|
|
2303
|
+
"type": "boolean"
|
|
2304
|
+
},
|
|
2305
|
+
"quiet": {
|
|
2306
|
+
"char": "q",
|
|
2307
|
+
"description": "Minimal output",
|
|
2308
|
+
"name": "quiet",
|
|
2309
|
+
"allowNo": false,
|
|
2310
|
+
"type": "boolean"
|
|
2311
|
+
},
|
|
2312
|
+
"limit": {
|
|
2313
|
+
"char": "l",
|
|
2314
|
+
"description": "Number of messages to show",
|
|
2315
|
+
"name": "limit",
|
|
2316
|
+
"default": 20,
|
|
2317
|
+
"hasDynamicHelp": false,
|
|
2318
|
+
"multiple": false,
|
|
2319
|
+
"type": "option"
|
|
2320
|
+
},
|
|
2321
|
+
"status": {
|
|
2322
|
+
"char": "s",
|
|
2323
|
+
"description": "Filter by status (scheduled, sent, cancelled, failed)",
|
|
2324
|
+
"name": "status",
|
|
2325
|
+
"hasDynamicHelp": false,
|
|
2326
|
+
"multiple": false,
|
|
2327
|
+
"type": "option"
|
|
2328
|
+
}
|
|
2329
|
+
},
|
|
2330
|
+
"hasDynamicHelp": false,
|
|
2331
|
+
"hiddenAliases": [],
|
|
2332
|
+
"id": "sms:scheduled",
|
|
2333
|
+
"pluginAlias": "@sendly/cli",
|
|
2334
|
+
"pluginName": "@sendly/cli",
|
|
2335
|
+
"pluginType": "core",
|
|
2336
|
+
"strict": true,
|
|
2337
|
+
"isESM": true,
|
|
2338
|
+
"relativePath": [
|
|
2339
|
+
"dist",
|
|
2340
|
+
"commands",
|
|
2341
|
+
"sms",
|
|
2342
|
+
"scheduled.js"
|
|
2343
|
+
]
|
|
2344
|
+
},
|
|
2345
|
+
"sms:send": {
|
|
2346
|
+
"aliases": [],
|
|
2347
|
+
"args": {},
|
|
2348
|
+
"description": "Send an SMS message",
|
|
2349
|
+
"examples": [
|
|
2350
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\"",
|
|
2351
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --from \"Sendly\"",
|
|
2352
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --type transactional",
|
|
2353
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --json"
|
|
2354
|
+
],
|
|
2355
|
+
"flags": {
|
|
2356
|
+
"json": {
|
|
2357
|
+
"description": "Output in JSON format",
|
|
2358
|
+
"name": "json",
|
|
2359
|
+
"allowNo": false,
|
|
2360
|
+
"type": "boolean"
|
|
2361
|
+
},
|
|
2362
|
+
"quiet": {
|
|
2363
|
+
"char": "q",
|
|
2364
|
+
"description": "Minimal output",
|
|
2365
|
+
"name": "quiet",
|
|
2366
|
+
"allowNo": false,
|
|
2367
|
+
"type": "boolean"
|
|
2368
|
+
},
|
|
2369
|
+
"to": {
|
|
2370
|
+
"char": "t",
|
|
2371
|
+
"description": "Recipient phone number (E.164 format)",
|
|
2372
|
+
"name": "to",
|
|
2373
|
+
"required": true,
|
|
2374
|
+
"hasDynamicHelp": false,
|
|
2375
|
+
"multiple": false,
|
|
2376
|
+
"type": "option"
|
|
2377
|
+
},
|
|
2378
|
+
"text": {
|
|
2379
|
+
"char": "m",
|
|
2380
|
+
"description": "Message text",
|
|
2381
|
+
"name": "text",
|
|
2382
|
+
"required": true,
|
|
2383
|
+
"hasDynamicHelp": false,
|
|
2384
|
+
"multiple": false,
|
|
2385
|
+
"type": "option"
|
|
2386
|
+
},
|
|
2387
|
+
"from": {
|
|
2388
|
+
"char": "f",
|
|
2389
|
+
"description": "Sender ID or phone number",
|
|
2390
|
+
"name": "from",
|
|
2391
|
+
"hasDynamicHelp": false,
|
|
2392
|
+
"multiple": false,
|
|
2393
|
+
"type": "option"
|
|
2394
|
+
},
|
|
2395
|
+
"type": {
|
|
2396
|
+
"description": "Message type: marketing (default) or transactional",
|
|
2397
|
+
"name": "type",
|
|
2398
|
+
"default": "marketing",
|
|
2399
|
+
"hasDynamicHelp": false,
|
|
2400
|
+
"multiple": false,
|
|
2401
|
+
"options": [
|
|
2402
|
+
"marketing",
|
|
2403
|
+
"transactional"
|
|
2404
|
+
],
|
|
2405
|
+
"type": "option"
|
|
2406
|
+
}
|
|
2407
|
+
},
|
|
2408
|
+
"hasDynamicHelp": false,
|
|
2409
|
+
"hiddenAliases": [],
|
|
2410
|
+
"id": "sms:send",
|
|
2411
|
+
"pluginAlias": "@sendly/cli",
|
|
2412
|
+
"pluginName": "@sendly/cli",
|
|
2413
|
+
"pluginType": "core",
|
|
2414
|
+
"strict": true,
|
|
2415
|
+
"isESM": true,
|
|
2416
|
+
"relativePath": [
|
|
2417
|
+
"dist",
|
|
2418
|
+
"commands",
|
|
2419
|
+
"sms",
|
|
2420
|
+
"send.js"
|
|
2421
|
+
]
|
|
2422
|
+
},
|
|
2423
|
+
"teams:create": {
|
|
2424
|
+
"aliases": [],
|
|
2425
|
+
"args": {},
|
|
2426
|
+
"description": "Create a new team",
|
|
2427
|
+
"examples": [
|
|
2428
|
+
"<%= config.bin %> teams create --name \"Acme Corp\"",
|
|
2429
|
+
"<%= config.bin %> teams create --name \"Acme Corp\" --description \"Our main team\""
|
|
2430
|
+
],
|
|
2431
|
+
"flags": {
|
|
2432
|
+
"json": {
|
|
2433
|
+
"description": "Output in JSON format",
|
|
2434
|
+
"name": "json",
|
|
2435
|
+
"allowNo": false,
|
|
2436
|
+
"type": "boolean"
|
|
2437
|
+
},
|
|
2438
|
+
"quiet": {
|
|
2439
|
+
"char": "q",
|
|
2440
|
+
"description": "Minimal output",
|
|
2441
|
+
"name": "quiet",
|
|
2442
|
+
"allowNo": false,
|
|
2443
|
+
"type": "boolean"
|
|
2444
|
+
},
|
|
2445
|
+
"name": {
|
|
2446
|
+
"char": "n",
|
|
2447
|
+
"description": "Team name",
|
|
2448
|
+
"name": "name",
|
|
2449
|
+
"required": true,
|
|
2450
|
+
"hasDynamicHelp": false,
|
|
2451
|
+
"multiple": false,
|
|
2452
|
+
"type": "option"
|
|
2453
|
+
},
|
|
2454
|
+
"description": {
|
|
2455
|
+
"char": "d",
|
|
2456
|
+
"description": "Team description",
|
|
2457
|
+
"name": "description",
|
|
2458
|
+
"hasDynamicHelp": false,
|
|
2459
|
+
"multiple": false,
|
|
2460
|
+
"type": "option"
|
|
2461
|
+
}
|
|
2462
|
+
},
|
|
2463
|
+
"hasDynamicHelp": false,
|
|
2464
|
+
"hiddenAliases": [],
|
|
2465
|
+
"id": "teams:create",
|
|
2466
|
+
"pluginAlias": "@sendly/cli",
|
|
2467
|
+
"pluginName": "@sendly/cli",
|
|
2468
|
+
"pluginType": "core",
|
|
2469
|
+
"strict": true,
|
|
2470
|
+
"isESM": true,
|
|
2471
|
+
"relativePath": [
|
|
2472
|
+
"dist",
|
|
2473
|
+
"commands",
|
|
2474
|
+
"teams",
|
|
2475
|
+
"create.js"
|
|
2476
|
+
]
|
|
2477
|
+
},
|
|
2478
|
+
"teams:current": {
|
|
2479
|
+
"aliases": [],
|
|
2480
|
+
"args": {},
|
|
2481
|
+
"description": "Show the currently active team",
|
|
2482
|
+
"examples": [
|
|
2483
|
+
"<%= config.bin %> teams current",
|
|
2484
|
+
"<%= config.bin %> teams current --json"
|
|
2485
|
+
],
|
|
2486
|
+
"flags": {
|
|
2487
|
+
"json": {
|
|
2488
|
+
"description": "Output in JSON format",
|
|
2489
|
+
"name": "json",
|
|
2490
|
+
"allowNo": false,
|
|
2491
|
+
"type": "boolean"
|
|
2492
|
+
},
|
|
2493
|
+
"quiet": {
|
|
2494
|
+
"char": "q",
|
|
2495
|
+
"description": "Minimal output",
|
|
2496
|
+
"name": "quiet",
|
|
2497
|
+
"allowNo": false,
|
|
2498
|
+
"type": "boolean"
|
|
2499
|
+
}
|
|
2500
|
+
},
|
|
2501
|
+
"hasDynamicHelp": false,
|
|
2502
|
+
"hiddenAliases": [],
|
|
2503
|
+
"id": "teams:current",
|
|
2504
|
+
"pluginAlias": "@sendly/cli",
|
|
2505
|
+
"pluginName": "@sendly/cli",
|
|
2506
|
+
"pluginType": "core",
|
|
2507
|
+
"strict": true,
|
|
2508
|
+
"isESM": true,
|
|
2509
|
+
"relativePath": [
|
|
2510
|
+
"dist",
|
|
2511
|
+
"commands",
|
|
2512
|
+
"teams",
|
|
2513
|
+
"current.js"
|
|
2514
|
+
]
|
|
2515
|
+
},
|
|
2516
|
+
"teams:invite": {
|
|
2517
|
+
"aliases": [],
|
|
2518
|
+
"args": {
|
|
2519
|
+
"email": {
|
|
2520
|
+
"description": "Email address to invite",
|
|
2521
|
+
"name": "email",
|
|
2522
|
+
"required": true
|
|
2523
|
+
}
|
|
2524
|
+
},
|
|
2525
|
+
"description": "Invite a member to the current team",
|
|
2526
|
+
"examples": [
|
|
2527
|
+
"<%= config.bin %> teams invite user@example.com",
|
|
2528
|
+
"<%= config.bin %> teams invite user@example.com --role admin"
|
|
2529
|
+
],
|
|
2530
|
+
"flags": {
|
|
2531
|
+
"json": {
|
|
2532
|
+
"description": "Output in JSON format",
|
|
2533
|
+
"name": "json",
|
|
2534
|
+
"allowNo": false,
|
|
2535
|
+
"type": "boolean"
|
|
2536
|
+
},
|
|
2537
|
+
"quiet": {
|
|
2538
|
+
"char": "q",
|
|
2539
|
+
"description": "Minimal output",
|
|
2540
|
+
"name": "quiet",
|
|
2541
|
+
"allowNo": false,
|
|
2542
|
+
"type": "boolean"
|
|
2543
|
+
},
|
|
2544
|
+
"role": {
|
|
2545
|
+
"char": "r",
|
|
2546
|
+
"description": "Role to assign (admin, member, viewer)",
|
|
2547
|
+
"name": "role",
|
|
2548
|
+
"default": "member",
|
|
2549
|
+
"hasDynamicHelp": false,
|
|
2550
|
+
"multiple": false,
|
|
2551
|
+
"options": [
|
|
2552
|
+
"admin",
|
|
2553
|
+
"member",
|
|
2554
|
+
"viewer"
|
|
2555
|
+
],
|
|
2556
|
+
"type": "option"
|
|
2557
|
+
}
|
|
2558
|
+
},
|
|
2559
|
+
"hasDynamicHelp": false,
|
|
2560
|
+
"hiddenAliases": [],
|
|
2561
|
+
"id": "teams:invite",
|
|
2562
|
+
"pluginAlias": "@sendly/cli",
|
|
2563
|
+
"pluginName": "@sendly/cli",
|
|
2564
|
+
"pluginType": "core",
|
|
2565
|
+
"strict": true,
|
|
2566
|
+
"isESM": true,
|
|
2567
|
+
"relativePath": [
|
|
2568
|
+
"dist",
|
|
2569
|
+
"commands",
|
|
2570
|
+
"teams",
|
|
2571
|
+
"invite.js"
|
|
2572
|
+
]
|
|
2573
|
+
},
|
|
2574
|
+
"teams:list": {
|
|
2575
|
+
"aliases": [],
|
|
2576
|
+
"args": {},
|
|
2577
|
+
"description": "List your teams",
|
|
2578
|
+
"examples": [
|
|
2579
|
+
"<%= config.bin %> teams list",
|
|
2580
|
+
"<%= config.bin %> teams list --json"
|
|
2581
|
+
],
|
|
2582
|
+
"flags": {
|
|
2583
|
+
"json": {
|
|
2584
|
+
"description": "Output in JSON format",
|
|
2585
|
+
"name": "json",
|
|
2586
|
+
"allowNo": false,
|
|
2587
|
+
"type": "boolean"
|
|
2588
|
+
},
|
|
2589
|
+
"quiet": {
|
|
2590
|
+
"char": "q",
|
|
2591
|
+
"description": "Minimal output",
|
|
2592
|
+
"name": "quiet",
|
|
2593
|
+
"allowNo": false,
|
|
2594
|
+
"type": "boolean"
|
|
2595
|
+
}
|
|
2596
|
+
},
|
|
2597
|
+
"hasDynamicHelp": false,
|
|
2598
|
+
"hiddenAliases": [],
|
|
2599
|
+
"id": "teams:list",
|
|
2600
|
+
"pluginAlias": "@sendly/cli",
|
|
2601
|
+
"pluginName": "@sendly/cli",
|
|
2602
|
+
"pluginType": "core",
|
|
2603
|
+
"strict": true,
|
|
2604
|
+
"isESM": true,
|
|
2605
|
+
"relativePath": [
|
|
2606
|
+
"dist",
|
|
2607
|
+
"commands",
|
|
2608
|
+
"teams",
|
|
2609
|
+
"list.js"
|
|
2610
|
+
]
|
|
2611
|
+
},
|
|
2612
|
+
"teams:members": {
|
|
2613
|
+
"aliases": [],
|
|
2614
|
+
"args": {},
|
|
2615
|
+
"description": "List members of the current team",
|
|
2616
|
+
"examples": [
|
|
2617
|
+
"<%= config.bin %> teams members",
|
|
2618
|
+
"<%= config.bin %> teams members --json"
|
|
2619
|
+
],
|
|
2620
|
+
"flags": {
|
|
2621
|
+
"json": {
|
|
2622
|
+
"description": "Output in JSON format",
|
|
2623
|
+
"name": "json",
|
|
2624
|
+
"allowNo": false,
|
|
2625
|
+
"type": "boolean"
|
|
2626
|
+
},
|
|
2627
|
+
"quiet": {
|
|
2628
|
+
"char": "q",
|
|
2629
|
+
"description": "Minimal output",
|
|
2630
|
+
"name": "quiet",
|
|
2631
|
+
"allowNo": false,
|
|
2632
|
+
"type": "boolean"
|
|
2633
|
+
}
|
|
2634
|
+
},
|
|
2635
|
+
"hasDynamicHelp": false,
|
|
2636
|
+
"hiddenAliases": [],
|
|
2637
|
+
"id": "teams:members",
|
|
2638
|
+
"pluginAlias": "@sendly/cli",
|
|
2639
|
+
"pluginName": "@sendly/cli",
|
|
2640
|
+
"pluginType": "core",
|
|
2641
|
+
"strict": true,
|
|
2642
|
+
"isESM": true,
|
|
2643
|
+
"relativePath": [
|
|
2644
|
+
"dist",
|
|
2645
|
+
"commands",
|
|
2646
|
+
"teams",
|
|
2647
|
+
"members.js"
|
|
2648
|
+
]
|
|
2649
|
+
},
|
|
2650
|
+
"teams:switch": {
|
|
2651
|
+
"aliases": [],
|
|
2652
|
+
"args": {
|
|
2653
|
+
"org": {
|
|
2654
|
+
"description": "Organization ID or slug to switch to",
|
|
2655
|
+
"name": "org",
|
|
2656
|
+
"required": false
|
|
2657
|
+
}
|
|
2658
|
+
},
|
|
2659
|
+
"description": "Switch the active team",
|
|
2660
|
+
"examples": [
|
|
2661
|
+
"<%= config.bin %> teams switch",
|
|
2662
|
+
"<%= config.bin %> teams switch <org-id-or-slug>",
|
|
2663
|
+
"<%= config.bin %> teams switch --clear"
|
|
2664
|
+
],
|
|
2665
|
+
"flags": {
|
|
2666
|
+
"json": {
|
|
2667
|
+
"description": "Output in JSON format",
|
|
2668
|
+
"name": "json",
|
|
2669
|
+
"allowNo": false,
|
|
2670
|
+
"type": "boolean"
|
|
2671
|
+
},
|
|
2672
|
+
"quiet": {
|
|
2673
|
+
"char": "q",
|
|
2674
|
+
"description": "Minimal output",
|
|
2675
|
+
"name": "quiet",
|
|
2676
|
+
"allowNo": false,
|
|
2677
|
+
"type": "boolean"
|
|
2678
|
+
}
|
|
2679
|
+
},
|
|
2680
|
+
"hasDynamicHelp": false,
|
|
2681
|
+
"hiddenAliases": [],
|
|
2682
|
+
"id": "teams:switch",
|
|
2683
|
+
"pluginAlias": "@sendly/cli",
|
|
2684
|
+
"pluginName": "@sendly/cli",
|
|
2685
|
+
"pluginType": "core",
|
|
2686
|
+
"strict": true,
|
|
2687
|
+
"isESM": true,
|
|
2688
|
+
"relativePath": [
|
|
2689
|
+
"dist",
|
|
2690
|
+
"commands",
|
|
2691
|
+
"teams",
|
|
2692
|
+
"switch.js"
|
|
2693
|
+
]
|
|
2694
|
+
},
|
|
2695
|
+
"templates:clone": {
|
|
2696
|
+
"aliases": [],
|
|
2697
|
+
"args": {
|
|
2698
|
+
"id": {
|
|
2699
|
+
"description": "Template ID to clone",
|
|
2700
|
+
"name": "id",
|
|
2701
|
+
"required": true
|
|
2702
|
+
}
|
|
2703
|
+
},
|
|
2704
|
+
"description": "Clone a template",
|
|
2705
|
+
"examples": [
|
|
2706
|
+
"<%= config.bin %> templates clone tpl_preset_otp",
|
|
2707
|
+
"<%= config.bin %> templates clone tpl_preset_otp --name \"My Custom OTP\"",
|
|
2708
|
+
"<%= config.bin %> templates clone tpl_xxx --json"
|
|
2709
|
+
],
|
|
2710
|
+
"flags": {
|
|
2711
|
+
"json": {
|
|
2712
|
+
"description": "Output in JSON format",
|
|
2713
|
+
"name": "json",
|
|
2714
|
+
"allowNo": false,
|
|
2715
|
+
"type": "boolean"
|
|
2716
|
+
},
|
|
2717
|
+
"quiet": {
|
|
2718
|
+
"char": "q",
|
|
2719
|
+
"description": "Minimal output",
|
|
2720
|
+
"name": "quiet",
|
|
2721
|
+
"allowNo": false,
|
|
2722
|
+
"type": "boolean"
|
|
2723
|
+
},
|
|
2724
|
+
"name": {
|
|
2725
|
+
"char": "n",
|
|
2726
|
+
"description": "Name for the cloned template",
|
|
2727
|
+
"name": "name",
|
|
2728
|
+
"hasDynamicHelp": false,
|
|
2729
|
+
"multiple": false,
|
|
2730
|
+
"type": "option"
|
|
2731
|
+
}
|
|
2732
|
+
},
|
|
2733
|
+
"hasDynamicHelp": false,
|
|
2734
|
+
"hiddenAliases": [],
|
|
2735
|
+
"id": "templates:clone",
|
|
2736
|
+
"pluginAlias": "@sendly/cli",
|
|
2737
|
+
"pluginName": "@sendly/cli",
|
|
2738
|
+
"pluginType": "core",
|
|
2739
|
+
"strict": true,
|
|
2740
|
+
"isESM": true,
|
|
2741
|
+
"relativePath": [
|
|
2742
|
+
"dist",
|
|
2743
|
+
"commands",
|
|
2744
|
+
"templates",
|
|
2745
|
+
"clone.js"
|
|
2746
|
+
]
|
|
2747
|
+
},
|
|
2748
|
+
"templates:create": {
|
|
2749
|
+
"aliases": [],
|
|
2750
|
+
"args": {},
|
|
2751
|
+
"description": "Create a new SMS template",
|
|
2752
|
+
"examples": [
|
|
2753
|
+
"<%= config.bin %> templates create --name \"My OTP\" --text \"Your code is {{code}}\"",
|
|
2754
|
+
"<%= config.bin %> templates create --name \"Login\" --text \"{{code}} is your {{app_name}} login code\""
|
|
2755
|
+
],
|
|
2756
|
+
"flags": {
|
|
2757
|
+
"json": {
|
|
2758
|
+
"description": "Output in JSON format",
|
|
2759
|
+
"name": "json",
|
|
2760
|
+
"allowNo": false,
|
|
2761
|
+
"type": "boolean"
|
|
2762
|
+
},
|
|
2763
|
+
"quiet": {
|
|
2764
|
+
"char": "q",
|
|
2765
|
+
"description": "Minimal output",
|
|
2766
|
+
"name": "quiet",
|
|
2767
|
+
"allowNo": false,
|
|
2768
|
+
"type": "boolean"
|
|
2769
|
+
},
|
|
2770
|
+
"name": {
|
|
2771
|
+
"char": "n",
|
|
2772
|
+
"description": "Template name",
|
|
2773
|
+
"name": "name",
|
|
2774
|
+
"required": true,
|
|
2775
|
+
"hasDynamicHelp": false,
|
|
2776
|
+
"multiple": false,
|
|
2777
|
+
"type": "option"
|
|
2778
|
+
},
|
|
2779
|
+
"text": {
|
|
2780
|
+
"char": "t",
|
|
2781
|
+
"description": "Message text (use {{code}} and {{app_name}} variables)",
|
|
2782
|
+
"name": "text",
|
|
2783
|
+
"required": true,
|
|
1149
2784
|
"hasDynamicHelp": false,
|
|
1150
2785
|
"multiple": false,
|
|
1151
2786
|
"type": "option"
|
|
2787
|
+
}
|
|
2788
|
+
},
|
|
2789
|
+
"hasDynamicHelp": false,
|
|
2790
|
+
"hiddenAliases": [],
|
|
2791
|
+
"id": "templates:create",
|
|
2792
|
+
"pluginAlias": "@sendly/cli",
|
|
2793
|
+
"pluginName": "@sendly/cli",
|
|
2794
|
+
"pluginType": "core",
|
|
2795
|
+
"strict": true,
|
|
2796
|
+
"isESM": true,
|
|
2797
|
+
"relativePath": [
|
|
2798
|
+
"dist",
|
|
2799
|
+
"commands",
|
|
2800
|
+
"templates",
|
|
2801
|
+
"create.js"
|
|
2802
|
+
]
|
|
2803
|
+
},
|
|
2804
|
+
"templates:delete": {
|
|
2805
|
+
"aliases": [],
|
|
2806
|
+
"args": {
|
|
2807
|
+
"id": {
|
|
2808
|
+
"description": "Template ID",
|
|
2809
|
+
"name": "id",
|
|
2810
|
+
"required": true
|
|
2811
|
+
}
|
|
2812
|
+
},
|
|
2813
|
+
"description": "Delete a template",
|
|
2814
|
+
"examples": [
|
|
2815
|
+
"<%= config.bin %> templates delete tpl_xxx",
|
|
2816
|
+
"<%= config.bin %> templates delete tpl_xxx --force"
|
|
2817
|
+
],
|
|
2818
|
+
"flags": {
|
|
2819
|
+
"json": {
|
|
2820
|
+
"description": "Output in JSON format",
|
|
2821
|
+
"name": "json",
|
|
2822
|
+
"allowNo": false,
|
|
2823
|
+
"type": "boolean"
|
|
2824
|
+
},
|
|
2825
|
+
"quiet": {
|
|
2826
|
+
"char": "q",
|
|
2827
|
+
"description": "Minimal output",
|
|
2828
|
+
"name": "quiet",
|
|
2829
|
+
"allowNo": false,
|
|
2830
|
+
"type": "boolean"
|
|
2831
|
+
},
|
|
2832
|
+
"force": {
|
|
2833
|
+
"char": "f",
|
|
2834
|
+
"description": "Skip confirmation",
|
|
2835
|
+
"name": "force",
|
|
2836
|
+
"allowNo": false,
|
|
2837
|
+
"type": "boolean"
|
|
2838
|
+
}
|
|
2839
|
+
},
|
|
2840
|
+
"hasDynamicHelp": false,
|
|
2841
|
+
"hiddenAliases": [],
|
|
2842
|
+
"id": "templates:delete",
|
|
2843
|
+
"pluginAlias": "@sendly/cli",
|
|
2844
|
+
"pluginName": "@sendly/cli",
|
|
2845
|
+
"pluginType": "core",
|
|
2846
|
+
"strict": true,
|
|
2847
|
+
"isESM": true,
|
|
2848
|
+
"relativePath": [
|
|
2849
|
+
"dist",
|
|
2850
|
+
"commands",
|
|
2851
|
+
"templates",
|
|
2852
|
+
"delete.js"
|
|
2853
|
+
]
|
|
2854
|
+
},
|
|
2855
|
+
"templates:get": {
|
|
2856
|
+
"aliases": [],
|
|
2857
|
+
"args": {
|
|
2858
|
+
"id": {
|
|
2859
|
+
"description": "Template ID",
|
|
2860
|
+
"name": "id",
|
|
2861
|
+
"required": true
|
|
2862
|
+
}
|
|
2863
|
+
},
|
|
2864
|
+
"description": "Get template details",
|
|
2865
|
+
"examples": [
|
|
2866
|
+
"<%= config.bin %> templates get tpl_xxx",
|
|
2867
|
+
"<%= config.bin %> templates get tpl_preset_2fa"
|
|
2868
|
+
],
|
|
2869
|
+
"flags": {
|
|
2870
|
+
"json": {
|
|
2871
|
+
"description": "Output in JSON format",
|
|
2872
|
+
"name": "json",
|
|
2873
|
+
"allowNo": false,
|
|
2874
|
+
"type": "boolean"
|
|
2875
|
+
},
|
|
2876
|
+
"quiet": {
|
|
2877
|
+
"char": "q",
|
|
2878
|
+
"description": "Minimal output",
|
|
2879
|
+
"name": "quiet",
|
|
2880
|
+
"allowNo": false,
|
|
2881
|
+
"type": "boolean"
|
|
2882
|
+
}
|
|
2883
|
+
},
|
|
2884
|
+
"hasDynamicHelp": false,
|
|
2885
|
+
"hiddenAliases": [],
|
|
2886
|
+
"id": "templates:get",
|
|
2887
|
+
"pluginAlias": "@sendly/cli",
|
|
2888
|
+
"pluginName": "@sendly/cli",
|
|
2889
|
+
"pluginType": "core",
|
|
2890
|
+
"strict": true,
|
|
2891
|
+
"isESM": true,
|
|
2892
|
+
"relativePath": [
|
|
2893
|
+
"dist",
|
|
2894
|
+
"commands",
|
|
2895
|
+
"templates",
|
|
2896
|
+
"get.js"
|
|
2897
|
+
]
|
|
2898
|
+
},
|
|
2899
|
+
"templates:list": {
|
|
2900
|
+
"aliases": [],
|
|
2901
|
+
"args": {},
|
|
2902
|
+
"description": "List your SMS templates",
|
|
2903
|
+
"examples": [
|
|
2904
|
+
"<%= config.bin %> templates list",
|
|
2905
|
+
"<%= config.bin %> templates list --json"
|
|
2906
|
+
],
|
|
2907
|
+
"flags": {
|
|
2908
|
+
"json": {
|
|
2909
|
+
"description": "Output in JSON format",
|
|
2910
|
+
"name": "json",
|
|
2911
|
+
"allowNo": false,
|
|
2912
|
+
"type": "boolean"
|
|
1152
2913
|
},
|
|
1153
|
-
"
|
|
1154
|
-
"
|
|
1155
|
-
"
|
|
1156
|
-
"
|
|
1157
|
-
"
|
|
1158
|
-
"
|
|
1159
|
-
"options": [
|
|
1160
|
-
"marketing",
|
|
1161
|
-
"transactional"
|
|
1162
|
-
],
|
|
1163
|
-
"type": "option"
|
|
2914
|
+
"quiet": {
|
|
2915
|
+
"char": "q",
|
|
2916
|
+
"description": "Minimal output",
|
|
2917
|
+
"name": "quiet",
|
|
2918
|
+
"allowNo": false,
|
|
2919
|
+
"type": "boolean"
|
|
1164
2920
|
}
|
|
1165
2921
|
},
|
|
1166
2922
|
"hasDynamicHelp": false,
|
|
1167
2923
|
"hiddenAliases": [],
|
|
1168
|
-
"id": "
|
|
2924
|
+
"id": "templates:list",
|
|
1169
2925
|
"pluginAlias": "@sendly/cli",
|
|
1170
2926
|
"pluginName": "@sendly/cli",
|
|
1171
2927
|
"pluginType": "core",
|
|
@@ -1174,19 +2930,17 @@
|
|
|
1174
2930
|
"relativePath": [
|
|
1175
2931
|
"dist",
|
|
1176
2932
|
"commands",
|
|
1177
|
-
"
|
|
1178
|
-
"
|
|
2933
|
+
"templates",
|
|
2934
|
+
"list.js"
|
|
1179
2935
|
]
|
|
1180
2936
|
},
|
|
1181
|
-
"
|
|
2937
|
+
"templates:presets": {
|
|
1182
2938
|
"aliases": [],
|
|
1183
2939
|
"args": {},
|
|
1184
|
-
"description": "List
|
|
2940
|
+
"description": "List available preset templates",
|
|
1185
2941
|
"examples": [
|
|
1186
|
-
"<%= config.bin %>
|
|
1187
|
-
"<%= config.bin %>
|
|
1188
|
-
"<%= config.bin %> sms scheduled --status scheduled",
|
|
1189
|
-
"<%= config.bin %> sms scheduled --json"
|
|
2942
|
+
"<%= config.bin %> templates presets",
|
|
2943
|
+
"<%= config.bin %> templates presets --json"
|
|
1190
2944
|
],
|
|
1191
2945
|
"flags": {
|
|
1192
2946
|
"json": {
|
|
@@ -1201,28 +2955,11 @@
|
|
|
1201
2955
|
"name": "quiet",
|
|
1202
2956
|
"allowNo": false,
|
|
1203
2957
|
"type": "boolean"
|
|
1204
|
-
},
|
|
1205
|
-
"limit": {
|
|
1206
|
-
"char": "l",
|
|
1207
|
-
"description": "Number of messages to show",
|
|
1208
|
-
"name": "limit",
|
|
1209
|
-
"default": 20,
|
|
1210
|
-
"hasDynamicHelp": false,
|
|
1211
|
-
"multiple": false,
|
|
1212
|
-
"type": "option"
|
|
1213
|
-
},
|
|
1214
|
-
"status": {
|
|
1215
|
-
"char": "s",
|
|
1216
|
-
"description": "Filter by status (scheduled, sent, cancelled, failed)",
|
|
1217
|
-
"name": "status",
|
|
1218
|
-
"hasDynamicHelp": false,
|
|
1219
|
-
"multiple": false,
|
|
1220
|
-
"type": "option"
|
|
1221
2958
|
}
|
|
1222
2959
|
},
|
|
1223
2960
|
"hasDynamicHelp": false,
|
|
1224
2961
|
"hiddenAliases": [],
|
|
1225
|
-
"id": "
|
|
2962
|
+
"id": "templates:presets",
|
|
1226
2963
|
"pluginAlias": "@sendly/cli",
|
|
1227
2964
|
"pluginName": "@sendly/cli",
|
|
1228
2965
|
"pluginType": "core",
|
|
@@ -1231,19 +2968,22 @@
|
|
|
1231
2968
|
"relativePath": [
|
|
1232
2969
|
"dist",
|
|
1233
2970
|
"commands",
|
|
1234
|
-
"
|
|
1235
|
-
"
|
|
2971
|
+
"templates",
|
|
2972
|
+
"presets.js"
|
|
1236
2973
|
]
|
|
1237
2974
|
},
|
|
1238
|
-
"
|
|
2975
|
+
"templates:publish": {
|
|
1239
2976
|
"aliases": [],
|
|
1240
|
-
"args": {
|
|
1241
|
-
|
|
2977
|
+
"args": {
|
|
2978
|
+
"id": {
|
|
2979
|
+
"description": "Template ID",
|
|
2980
|
+
"name": "id",
|
|
2981
|
+
"required": true
|
|
2982
|
+
}
|
|
2983
|
+
},
|
|
2984
|
+
"description": "Publish a draft template (locks it for use)",
|
|
1242
2985
|
"examples": [
|
|
1243
|
-
"<%= config.bin %>
|
|
1244
|
-
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --from \"Sendly\"",
|
|
1245
|
-
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --type transactional",
|
|
1246
|
-
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --json"
|
|
2986
|
+
"<%= config.bin %> templates publish tpl_xxx"
|
|
1247
2987
|
],
|
|
1248
2988
|
"flags": {
|
|
1249
2989
|
"json": {
|
|
@@ -1258,49 +2998,11 @@
|
|
|
1258
2998
|
"name": "quiet",
|
|
1259
2999
|
"allowNo": false,
|
|
1260
3000
|
"type": "boolean"
|
|
1261
|
-
},
|
|
1262
|
-
"to": {
|
|
1263
|
-
"char": "t",
|
|
1264
|
-
"description": "Recipient phone number (E.164 format)",
|
|
1265
|
-
"name": "to",
|
|
1266
|
-
"required": true,
|
|
1267
|
-
"hasDynamicHelp": false,
|
|
1268
|
-
"multiple": false,
|
|
1269
|
-
"type": "option"
|
|
1270
|
-
},
|
|
1271
|
-
"text": {
|
|
1272
|
-
"char": "m",
|
|
1273
|
-
"description": "Message text",
|
|
1274
|
-
"name": "text",
|
|
1275
|
-
"required": true,
|
|
1276
|
-
"hasDynamicHelp": false,
|
|
1277
|
-
"multiple": false,
|
|
1278
|
-
"type": "option"
|
|
1279
|
-
},
|
|
1280
|
-
"from": {
|
|
1281
|
-
"char": "f",
|
|
1282
|
-
"description": "Sender ID or phone number",
|
|
1283
|
-
"name": "from",
|
|
1284
|
-
"hasDynamicHelp": false,
|
|
1285
|
-
"multiple": false,
|
|
1286
|
-
"type": "option"
|
|
1287
|
-
},
|
|
1288
|
-
"type": {
|
|
1289
|
-
"description": "Message type: marketing (default) or transactional",
|
|
1290
|
-
"name": "type",
|
|
1291
|
-
"default": "marketing",
|
|
1292
|
-
"hasDynamicHelp": false,
|
|
1293
|
-
"multiple": false,
|
|
1294
|
-
"options": [
|
|
1295
|
-
"marketing",
|
|
1296
|
-
"transactional"
|
|
1297
|
-
],
|
|
1298
|
-
"type": "option"
|
|
1299
3001
|
}
|
|
1300
3002
|
},
|
|
1301
3003
|
"hasDynamicHelp": false,
|
|
1302
3004
|
"hiddenAliases": [],
|
|
1303
|
-
"id": "
|
|
3005
|
+
"id": "templates:publish",
|
|
1304
3006
|
"pluginAlias": "@sendly/cli",
|
|
1305
3007
|
"pluginName": "@sendly/cli",
|
|
1306
3008
|
"pluginType": "core",
|
|
@@ -1309,8 +3011,8 @@
|
|
|
1309
3011
|
"relativePath": [
|
|
1310
3012
|
"dist",
|
|
1311
3013
|
"commands",
|
|
1312
|
-
"
|
|
1313
|
-
"
|
|
3014
|
+
"templates",
|
|
3015
|
+
"publish.js"
|
|
1314
3016
|
]
|
|
1315
3017
|
},
|
|
1316
3018
|
"verify:check": {
|
|
@@ -1373,6 +3075,8 @@
|
|
|
1373
3075
|
"examples": [
|
|
1374
3076
|
"<%= config.bin %> verify list",
|
|
1375
3077
|
"<%= config.bin %> verify list --limit 10",
|
|
3078
|
+
"<%= config.bin %> verify list --page 2",
|
|
3079
|
+
"<%= config.bin %> verify list --status verified",
|
|
1376
3080
|
"<%= config.bin %> verify list --json"
|
|
1377
3081
|
],
|
|
1378
3082
|
"flags": {
|
|
@@ -1390,13 +3094,36 @@
|
|
|
1390
3094
|
"type": "boolean"
|
|
1391
3095
|
},
|
|
1392
3096
|
"limit": {
|
|
1393
|
-
"char": "
|
|
1394
|
-
"description": "Number of verifications
|
|
3097
|
+
"char": "l",
|
|
3098
|
+
"description": "Number of verifications per page",
|
|
1395
3099
|
"name": "limit",
|
|
1396
3100
|
"default": 20,
|
|
1397
3101
|
"hasDynamicHelp": false,
|
|
1398
3102
|
"multiple": false,
|
|
1399
3103
|
"type": "option"
|
|
3104
|
+
},
|
|
3105
|
+
"page": {
|
|
3106
|
+
"char": "p",
|
|
3107
|
+
"description": "Page number (starts at 1)",
|
|
3108
|
+
"name": "page",
|
|
3109
|
+
"hasDynamicHelp": false,
|
|
3110
|
+
"multiple": false,
|
|
3111
|
+
"type": "option"
|
|
3112
|
+
},
|
|
3113
|
+
"offset": {
|
|
3114
|
+
"description": "Offset from start (alternative to --page)",
|
|
3115
|
+
"name": "offset",
|
|
3116
|
+
"hasDynamicHelp": false,
|
|
3117
|
+
"multiple": false,
|
|
3118
|
+
"type": "option"
|
|
3119
|
+
},
|
|
3120
|
+
"status": {
|
|
3121
|
+
"char": "s",
|
|
3122
|
+
"description": "Filter by status (pending, verified, expired, failed)",
|
|
3123
|
+
"name": "status",
|
|
3124
|
+
"hasDynamicHelp": false,
|
|
3125
|
+
"multiple": false,
|
|
3126
|
+
"type": "option"
|
|
1400
3127
|
}
|
|
1401
3128
|
},
|
|
1402
3129
|
"hasDynamicHelp": false,
|
|
@@ -1500,39 +3227,162 @@
|
|
|
1500
3227
|
"multiple": false,
|
|
1501
3228
|
"type": "option"
|
|
1502
3229
|
},
|
|
1503
|
-
"template": {
|
|
1504
|
-
"description": "Template ID to use (defaults to tpl_preset_otp)",
|
|
1505
|
-
"name": "template",
|
|
3230
|
+
"template": {
|
|
3231
|
+
"description": "Template ID to use (defaults to tpl_preset_otp)",
|
|
3232
|
+
"name": "template",
|
|
3233
|
+
"hasDynamicHelp": false,
|
|
3234
|
+
"multiple": false,
|
|
3235
|
+
"type": "option"
|
|
3236
|
+
},
|
|
3237
|
+
"profile": {
|
|
3238
|
+
"char": "p",
|
|
3239
|
+
"description": "Verify profile ID for preconfigured settings",
|
|
3240
|
+
"name": "profile",
|
|
3241
|
+
"hasDynamicHelp": false,
|
|
3242
|
+
"multiple": false,
|
|
3243
|
+
"type": "option"
|
|
3244
|
+
},
|
|
3245
|
+
"code-length": {
|
|
3246
|
+
"description": "Length of OTP code (4-10, default: 6)",
|
|
3247
|
+
"name": "code-length",
|
|
3248
|
+
"hasDynamicHelp": false,
|
|
3249
|
+
"multiple": false,
|
|
3250
|
+
"type": "option"
|
|
3251
|
+
},
|
|
3252
|
+
"timeout": {
|
|
3253
|
+
"description": "Code validity in seconds (60-3600, default: 300)",
|
|
3254
|
+
"name": "timeout",
|
|
3255
|
+
"hasDynamicHelp": false,
|
|
3256
|
+
"multiple": false,
|
|
3257
|
+
"type": "option"
|
|
3258
|
+
}
|
|
3259
|
+
},
|
|
3260
|
+
"hasDynamicHelp": false,
|
|
3261
|
+
"hiddenAliases": [],
|
|
3262
|
+
"id": "verify:send",
|
|
3263
|
+
"pluginAlias": "@sendly/cli",
|
|
3264
|
+
"pluginName": "@sendly/cli",
|
|
3265
|
+
"pluginType": "core",
|
|
3266
|
+
"strict": true,
|
|
3267
|
+
"isESM": true,
|
|
3268
|
+
"relativePath": [
|
|
3269
|
+
"dist",
|
|
3270
|
+
"commands",
|
|
3271
|
+
"verify",
|
|
3272
|
+
"send.js"
|
|
3273
|
+
]
|
|
3274
|
+
},
|
|
3275
|
+
"verify:status": {
|
|
3276
|
+
"aliases": [],
|
|
3277
|
+
"args": {
|
|
3278
|
+
"id": {
|
|
3279
|
+
"description": "Verification ID",
|
|
3280
|
+
"name": "id",
|
|
3281
|
+
"required": true
|
|
3282
|
+
}
|
|
3283
|
+
},
|
|
3284
|
+
"description": "Get verification status",
|
|
3285
|
+
"examples": [
|
|
3286
|
+
"<%= config.bin %> verify status ver_xxx",
|
|
3287
|
+
"<%= config.bin %> verify status ver_xxx --json"
|
|
3288
|
+
],
|
|
3289
|
+
"flags": {
|
|
3290
|
+
"json": {
|
|
3291
|
+
"description": "Output in JSON format",
|
|
3292
|
+
"name": "json",
|
|
3293
|
+
"allowNo": false,
|
|
3294
|
+
"type": "boolean"
|
|
3295
|
+
},
|
|
3296
|
+
"quiet": {
|
|
3297
|
+
"char": "q",
|
|
3298
|
+
"description": "Minimal output",
|
|
3299
|
+
"name": "quiet",
|
|
3300
|
+
"allowNo": false,
|
|
3301
|
+
"type": "boolean"
|
|
3302
|
+
}
|
|
3303
|
+
},
|
|
3304
|
+
"hasDynamicHelp": false,
|
|
3305
|
+
"hiddenAliases": [],
|
|
3306
|
+
"id": "verify:status",
|
|
3307
|
+
"pluginAlias": "@sendly/cli",
|
|
3308
|
+
"pluginName": "@sendly/cli",
|
|
3309
|
+
"pluginType": "core",
|
|
3310
|
+
"strict": true,
|
|
3311
|
+
"isESM": true,
|
|
3312
|
+
"relativePath": [
|
|
3313
|
+
"dist",
|
|
3314
|
+
"commands",
|
|
3315
|
+
"verify",
|
|
3316
|
+
"status.js"
|
|
3317
|
+
]
|
|
3318
|
+
},
|
|
3319
|
+
"webhooks:create": {
|
|
3320
|
+
"aliases": [],
|
|
3321
|
+
"args": {},
|
|
3322
|
+
"description": "Create a webhook",
|
|
3323
|
+
"examples": [
|
|
3324
|
+
"<%= config.bin %> webhooks create --url https://myapp.com/webhook --events message.delivered",
|
|
3325
|
+
"<%= config.bin %> webhooks create --url https://myapp.com/webhook --events message.delivered,message.failed --description \"Production webhook\"",
|
|
3326
|
+
"<%= config.bin %> webhooks create --url https://webhook.site/abc123 --events message.sent --json"
|
|
3327
|
+
],
|
|
3328
|
+
"flags": {
|
|
3329
|
+
"json": {
|
|
3330
|
+
"description": "Output in JSON format",
|
|
3331
|
+
"name": "json",
|
|
3332
|
+
"allowNo": false,
|
|
3333
|
+
"type": "boolean"
|
|
3334
|
+
},
|
|
3335
|
+
"quiet": {
|
|
3336
|
+
"char": "q",
|
|
3337
|
+
"description": "Minimal output",
|
|
3338
|
+
"name": "quiet",
|
|
3339
|
+
"allowNo": false,
|
|
3340
|
+
"type": "boolean"
|
|
3341
|
+
},
|
|
3342
|
+
"url": {
|
|
3343
|
+
"char": "u",
|
|
3344
|
+
"description": "Webhook URL (must be HTTPS)",
|
|
3345
|
+
"name": "url",
|
|
3346
|
+
"required": true,
|
|
1506
3347
|
"hasDynamicHelp": false,
|
|
1507
3348
|
"multiple": false,
|
|
1508
3349
|
"type": "option"
|
|
1509
3350
|
},
|
|
1510
|
-
"
|
|
1511
|
-
"char": "
|
|
1512
|
-
"description": "
|
|
1513
|
-
"name": "
|
|
3351
|
+
"events": {
|
|
3352
|
+
"char": "e",
|
|
3353
|
+
"description": "Comma-separated list of events to listen for",
|
|
3354
|
+
"name": "events",
|
|
3355
|
+
"required": true,
|
|
1514
3356
|
"hasDynamicHelp": false,
|
|
1515
3357
|
"multiple": false,
|
|
1516
3358
|
"type": "option"
|
|
1517
3359
|
},
|
|
1518
|
-
"
|
|
1519
|
-
"
|
|
1520
|
-
"
|
|
3360
|
+
"description": {
|
|
3361
|
+
"char": "d",
|
|
3362
|
+
"description": "Description for the webhook",
|
|
3363
|
+
"name": "description",
|
|
1521
3364
|
"hasDynamicHelp": false,
|
|
1522
3365
|
"multiple": false,
|
|
1523
3366
|
"type": "option"
|
|
1524
3367
|
},
|
|
1525
|
-
"
|
|
1526
|
-
"
|
|
1527
|
-
"
|
|
3368
|
+
"mode": {
|
|
3369
|
+
"char": "m",
|
|
3370
|
+
"description": "Event mode filter: all (default), test (sandbox only), live (production only)",
|
|
3371
|
+
"name": "mode",
|
|
3372
|
+
"default": "all",
|
|
1528
3373
|
"hasDynamicHelp": false,
|
|
1529
3374
|
"multiple": false,
|
|
3375
|
+
"options": [
|
|
3376
|
+
"all",
|
|
3377
|
+
"test",
|
|
3378
|
+
"live"
|
|
3379
|
+
],
|
|
1530
3380
|
"type": "option"
|
|
1531
3381
|
}
|
|
1532
3382
|
},
|
|
1533
3383
|
"hasDynamicHelp": false,
|
|
1534
3384
|
"hiddenAliases": [],
|
|
1535
|
-
"id": "
|
|
3385
|
+
"id": "webhooks:create",
|
|
1536
3386
|
"pluginAlias": "@sendly/cli",
|
|
1537
3387
|
"pluginName": "@sendly/cli",
|
|
1538
3388
|
"pluginType": "core",
|
|
@@ -1541,23 +3391,24 @@
|
|
|
1541
3391
|
"relativePath": [
|
|
1542
3392
|
"dist",
|
|
1543
3393
|
"commands",
|
|
1544
|
-
"
|
|
1545
|
-
"
|
|
3394
|
+
"webhooks",
|
|
3395
|
+
"create.js"
|
|
1546
3396
|
]
|
|
1547
3397
|
},
|
|
1548
|
-
"
|
|
3398
|
+
"webhooks:delete": {
|
|
1549
3399
|
"aliases": [],
|
|
1550
3400
|
"args": {
|
|
1551
3401
|
"id": {
|
|
1552
|
-
"description": "
|
|
3402
|
+
"description": "Webhook ID to delete",
|
|
1553
3403
|
"name": "id",
|
|
1554
3404
|
"required": true
|
|
1555
3405
|
}
|
|
1556
3406
|
},
|
|
1557
|
-
"description": "
|
|
3407
|
+
"description": "Delete a webhook",
|
|
1558
3408
|
"examples": [
|
|
1559
|
-
"<%= config.bin %>
|
|
1560
|
-
"<%= config.bin %>
|
|
3409
|
+
"<%= config.bin %> webhooks delete whk_abc123",
|
|
3410
|
+
"<%= config.bin %> webhooks delete whk_abc123 --yes",
|
|
3411
|
+
"<%= config.bin %> webhooks delete whk_abc123 --json"
|
|
1561
3412
|
],
|
|
1562
3413
|
"flags": {
|
|
1563
3414
|
"json": {
|
|
@@ -1572,11 +3423,18 @@
|
|
|
1572
3423
|
"name": "quiet",
|
|
1573
3424
|
"allowNo": false,
|
|
1574
3425
|
"type": "boolean"
|
|
3426
|
+
},
|
|
3427
|
+
"yes": {
|
|
3428
|
+
"char": "y",
|
|
3429
|
+
"description": "Skip confirmation prompt",
|
|
3430
|
+
"name": "yes",
|
|
3431
|
+
"allowNo": false,
|
|
3432
|
+
"type": "boolean"
|
|
1575
3433
|
}
|
|
1576
3434
|
},
|
|
1577
3435
|
"hasDynamicHelp": false,
|
|
1578
3436
|
"hiddenAliases": [],
|
|
1579
|
-
"id": "
|
|
3437
|
+
"id": "webhooks:delete",
|
|
1580
3438
|
"pluginAlias": "@sendly/cli",
|
|
1581
3439
|
"pluginName": "@sendly/cli",
|
|
1582
3440
|
"pluginType": "core",
|
|
@@ -1585,17 +3443,25 @@
|
|
|
1585
3443
|
"relativePath": [
|
|
1586
3444
|
"dist",
|
|
1587
3445
|
"commands",
|
|
1588
|
-
"
|
|
1589
|
-
"
|
|
3446
|
+
"webhooks",
|
|
3447
|
+
"delete.js"
|
|
1590
3448
|
]
|
|
1591
3449
|
},
|
|
1592
|
-
"
|
|
3450
|
+
"webhooks:deliveries": {
|
|
1593
3451
|
"aliases": [],
|
|
1594
|
-
"args": {
|
|
1595
|
-
|
|
3452
|
+
"args": {
|
|
3453
|
+
"id": {
|
|
3454
|
+
"description": "Webhook ID",
|
|
3455
|
+
"name": "id",
|
|
3456
|
+
"required": true
|
|
3457
|
+
}
|
|
3458
|
+
},
|
|
3459
|
+
"description": "View webhook delivery history",
|
|
1596
3460
|
"examples": [
|
|
1597
|
-
"<%= config.bin %>
|
|
1598
|
-
"<%= config.bin %>
|
|
3461
|
+
"<%= config.bin %> webhooks deliveries whk_abc123",
|
|
3462
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --limit 20",
|
|
3463
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --failed-only",
|
|
3464
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --json"
|
|
1599
3465
|
],
|
|
1600
3466
|
"flags": {
|
|
1601
3467
|
"json": {
|
|
@@ -1611,28 +3477,25 @@
|
|
|
1611
3477
|
"allowNo": false,
|
|
1612
3478
|
"type": "boolean"
|
|
1613
3479
|
},
|
|
1614
|
-
"
|
|
1615
|
-
"char": "
|
|
1616
|
-
"description": "
|
|
1617
|
-
"name": "
|
|
1618
|
-
"
|
|
3480
|
+
"limit": {
|
|
3481
|
+
"char": "l",
|
|
3482
|
+
"description": "Number of deliveries to show",
|
|
3483
|
+
"name": "limit",
|
|
3484
|
+
"default": 10,
|
|
1619
3485
|
"hasDynamicHelp": false,
|
|
1620
3486
|
"multiple": false,
|
|
1621
3487
|
"type": "option"
|
|
1622
3488
|
},
|
|
1623
|
-
"
|
|
1624
|
-
"
|
|
1625
|
-
"
|
|
1626
|
-
"
|
|
1627
|
-
"
|
|
1628
|
-
"hasDynamicHelp": false,
|
|
1629
|
-
"multiple": false,
|
|
1630
|
-
"type": "option"
|
|
3489
|
+
"failed-only": {
|
|
3490
|
+
"description": "Show only failed deliveries",
|
|
3491
|
+
"name": "failed-only",
|
|
3492
|
+
"allowNo": false,
|
|
3493
|
+
"type": "boolean"
|
|
1631
3494
|
}
|
|
1632
3495
|
},
|
|
1633
3496
|
"hasDynamicHelp": false,
|
|
1634
3497
|
"hiddenAliases": [],
|
|
1635
|
-
"id": "
|
|
3498
|
+
"id": "webhooks:deliveries",
|
|
1636
3499
|
"pluginAlias": "@sendly/cli",
|
|
1637
3500
|
"pluginName": "@sendly/cli",
|
|
1638
3501
|
"pluginType": "core",
|
|
@@ -1641,23 +3504,23 @@
|
|
|
1641
3504
|
"relativePath": [
|
|
1642
3505
|
"dist",
|
|
1643
3506
|
"commands",
|
|
1644
|
-
"
|
|
1645
|
-
"
|
|
3507
|
+
"webhooks",
|
|
3508
|
+
"deliveries.js"
|
|
1646
3509
|
]
|
|
1647
3510
|
},
|
|
1648
|
-
"
|
|
3511
|
+
"webhooks:get": {
|
|
1649
3512
|
"aliases": [],
|
|
1650
3513
|
"args": {
|
|
1651
3514
|
"id": {
|
|
1652
|
-
"description": "
|
|
3515
|
+
"description": "Webhook ID",
|
|
1653
3516
|
"name": "id",
|
|
1654
3517
|
"required": true
|
|
1655
3518
|
}
|
|
1656
3519
|
},
|
|
1657
|
-
"description": "
|
|
3520
|
+
"description": "Get webhook details",
|
|
1658
3521
|
"examples": [
|
|
1659
|
-
"<%= config.bin %>
|
|
1660
|
-
"<%= config.bin %>
|
|
3522
|
+
"<%= config.bin %> webhooks get whk_abc123",
|
|
3523
|
+
"<%= config.bin %> webhooks get whk_abc123 --json"
|
|
1661
3524
|
],
|
|
1662
3525
|
"flags": {
|
|
1663
3526
|
"json": {
|
|
@@ -1672,18 +3535,11 @@
|
|
|
1672
3535
|
"name": "quiet",
|
|
1673
3536
|
"allowNo": false,
|
|
1674
3537
|
"type": "boolean"
|
|
1675
|
-
},
|
|
1676
|
-
"force": {
|
|
1677
|
-
"char": "f",
|
|
1678
|
-
"description": "Skip confirmation",
|
|
1679
|
-
"name": "force",
|
|
1680
|
-
"allowNo": false,
|
|
1681
|
-
"type": "boolean"
|
|
1682
3538
|
}
|
|
1683
3539
|
},
|
|
1684
3540
|
"hasDynamicHelp": false,
|
|
1685
3541
|
"hiddenAliases": [],
|
|
1686
|
-
"id": "
|
|
3542
|
+
"id": "webhooks:get",
|
|
1687
3543
|
"pluginAlias": "@sendly/cli",
|
|
1688
3544
|
"pluginName": "@sendly/cli",
|
|
1689
3545
|
"pluginType": "core",
|
|
@@ -1692,23 +3548,17 @@
|
|
|
1692
3548
|
"relativePath": [
|
|
1693
3549
|
"dist",
|
|
1694
3550
|
"commands",
|
|
1695
|
-
"
|
|
1696
|
-
"
|
|
3551
|
+
"webhooks",
|
|
3552
|
+
"get.js"
|
|
1697
3553
|
]
|
|
1698
3554
|
},
|
|
1699
|
-
"
|
|
3555
|
+
"webhooks:list": {
|
|
1700
3556
|
"aliases": [],
|
|
1701
|
-
"args": {
|
|
1702
|
-
|
|
1703
|
-
"description": "Template ID",
|
|
1704
|
-
"name": "id",
|
|
1705
|
-
"required": true
|
|
1706
|
-
}
|
|
1707
|
-
},
|
|
1708
|
-
"description": "Get template details",
|
|
3557
|
+
"args": {},
|
|
3558
|
+
"description": "List configured webhooks",
|
|
1709
3559
|
"examples": [
|
|
1710
|
-
"<%= config.bin %>
|
|
1711
|
-
"<%= config.bin %>
|
|
3560
|
+
"<%= config.bin %> webhooks list",
|
|
3561
|
+
"<%= config.bin %> webhooks list --json"
|
|
1712
3562
|
],
|
|
1713
3563
|
"flags": {
|
|
1714
3564
|
"json": {
|
|
@@ -1727,7 +3577,7 @@
|
|
|
1727
3577
|
},
|
|
1728
3578
|
"hasDynamicHelp": false,
|
|
1729
3579
|
"hiddenAliases": [],
|
|
1730
|
-
"id": "
|
|
3580
|
+
"id": "webhooks:list",
|
|
1731
3581
|
"pluginAlias": "@sendly/cli",
|
|
1732
3582
|
"pluginName": "@sendly/cli",
|
|
1733
3583
|
"pluginType": "core",
|
|
@@ -1736,17 +3586,18 @@
|
|
|
1736
3586
|
"relativePath": [
|
|
1737
3587
|
"dist",
|
|
1738
3588
|
"commands",
|
|
1739
|
-
"
|
|
1740
|
-
"
|
|
3589
|
+
"webhooks",
|
|
3590
|
+
"list.js"
|
|
1741
3591
|
]
|
|
1742
3592
|
},
|
|
1743
|
-
"
|
|
3593
|
+
"webhooks:listen": {
|
|
1744
3594
|
"aliases": [],
|
|
1745
3595
|
"args": {},
|
|
1746
|
-
"description": "
|
|
3596
|
+
"description": "Listen for webhooks locally. Receives events in real-time via WebSocket and forwards them to your local server.",
|
|
1747
3597
|
"examples": [
|
|
1748
|
-
"<%= config.bin %>
|
|
1749
|
-
"<%= config.bin %>
|
|
3598
|
+
"<%= config.bin %> webhooks listen",
|
|
3599
|
+
"<%= config.bin %> webhooks listen --forward http://localhost:3000/webhook",
|
|
3600
|
+
"<%= config.bin %> webhooks listen --events message.delivered,message.failed"
|
|
1750
3601
|
],
|
|
1751
3602
|
"flags": {
|
|
1752
3603
|
"json": {
|
|
@@ -1761,11 +3612,29 @@
|
|
|
1761
3612
|
"name": "quiet",
|
|
1762
3613
|
"allowNo": false,
|
|
1763
3614
|
"type": "boolean"
|
|
3615
|
+
},
|
|
3616
|
+
"forward": {
|
|
3617
|
+
"char": "f",
|
|
3618
|
+
"description": "Local URL to forward events to",
|
|
3619
|
+
"name": "forward",
|
|
3620
|
+
"default": "http://localhost:3000/webhook",
|
|
3621
|
+
"hasDynamicHelp": false,
|
|
3622
|
+
"multiple": false,
|
|
3623
|
+
"type": "option"
|
|
3624
|
+
},
|
|
3625
|
+
"events": {
|
|
3626
|
+
"char": "e",
|
|
3627
|
+
"description": "Comma-separated list of events to listen for",
|
|
3628
|
+
"name": "events",
|
|
3629
|
+
"default": "message.sent,message.delivered,message.failed,message.bounced",
|
|
3630
|
+
"hasDynamicHelp": false,
|
|
3631
|
+
"multiple": false,
|
|
3632
|
+
"type": "option"
|
|
1764
3633
|
}
|
|
1765
3634
|
},
|
|
1766
3635
|
"hasDynamicHelp": false,
|
|
1767
3636
|
"hiddenAliases": [],
|
|
1768
|
-
"id": "
|
|
3637
|
+
"id": "webhooks:listen",
|
|
1769
3638
|
"pluginAlias": "@sendly/cli",
|
|
1770
3639
|
"pluginName": "@sendly/cli",
|
|
1771
3640
|
"pluginType": "core",
|
|
@@ -1774,17 +3643,24 @@
|
|
|
1774
3643
|
"relativePath": [
|
|
1775
3644
|
"dist",
|
|
1776
3645
|
"commands",
|
|
1777
|
-
"
|
|
1778
|
-
"
|
|
3646
|
+
"webhooks",
|
|
3647
|
+
"listen.js"
|
|
1779
3648
|
]
|
|
1780
3649
|
},
|
|
1781
|
-
"
|
|
3650
|
+
"webhooks:rotate-secret": {
|
|
1782
3651
|
"aliases": [],
|
|
1783
|
-
"args": {
|
|
1784
|
-
|
|
3652
|
+
"args": {
|
|
3653
|
+
"id": {
|
|
3654
|
+
"description": "Webhook ID",
|
|
3655
|
+
"name": "id",
|
|
3656
|
+
"required": true
|
|
3657
|
+
}
|
|
3658
|
+
},
|
|
3659
|
+
"description": "Rotate webhook secret",
|
|
1785
3660
|
"examples": [
|
|
1786
|
-
"<%= config.bin %>
|
|
1787
|
-
"<%= config.bin %>
|
|
3661
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123",
|
|
3662
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123 --yes",
|
|
3663
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123 --json"
|
|
1788
3664
|
],
|
|
1789
3665
|
"flags": {
|
|
1790
3666
|
"json": {
|
|
@@ -1799,11 +3675,18 @@
|
|
|
1799
3675
|
"name": "quiet",
|
|
1800
3676
|
"allowNo": false,
|
|
1801
3677
|
"type": "boolean"
|
|
3678
|
+
},
|
|
3679
|
+
"yes": {
|
|
3680
|
+
"char": "y",
|
|
3681
|
+
"description": "Skip confirmation prompt",
|
|
3682
|
+
"name": "yes",
|
|
3683
|
+
"allowNo": false,
|
|
3684
|
+
"type": "boolean"
|
|
1802
3685
|
}
|
|
1803
3686
|
},
|
|
1804
3687
|
"hasDynamicHelp": false,
|
|
1805
3688
|
"hiddenAliases": [],
|
|
1806
|
-
"id": "
|
|
3689
|
+
"id": "webhooks:rotate-secret",
|
|
1807
3690
|
"pluginAlias": "@sendly/cli",
|
|
1808
3691
|
"pluginName": "@sendly/cli",
|
|
1809
3692
|
"pluginType": "core",
|
|
@@ -1812,22 +3695,23 @@
|
|
|
1812
3695
|
"relativePath": [
|
|
1813
3696
|
"dist",
|
|
1814
3697
|
"commands",
|
|
1815
|
-
"
|
|
1816
|
-
"
|
|
3698
|
+
"webhooks",
|
|
3699
|
+
"rotate-secret.js"
|
|
1817
3700
|
]
|
|
1818
3701
|
},
|
|
1819
|
-
"
|
|
3702
|
+
"webhooks:test": {
|
|
1820
3703
|
"aliases": [],
|
|
1821
3704
|
"args": {
|
|
1822
3705
|
"id": {
|
|
1823
|
-
"description": "
|
|
3706
|
+
"description": "Webhook ID to test",
|
|
1824
3707
|
"name": "id",
|
|
1825
3708
|
"required": true
|
|
1826
3709
|
}
|
|
1827
3710
|
},
|
|
1828
|
-
"description": "
|
|
3711
|
+
"description": "Send a test event to a webhook",
|
|
1829
3712
|
"examples": [
|
|
1830
|
-
"<%= config.bin %>
|
|
3713
|
+
"<%= config.bin %> webhooks test whk_abc123",
|
|
3714
|
+
"<%= config.bin %> webhooks test whk_abc123 --json"
|
|
1831
3715
|
],
|
|
1832
3716
|
"flags": {
|
|
1833
3717
|
"json": {
|
|
@@ -1846,7 +3730,7 @@
|
|
|
1846
3730
|
},
|
|
1847
3731
|
"hasDynamicHelp": false,
|
|
1848
3732
|
"hiddenAliases": [],
|
|
1849
|
-
"id": "
|
|
3733
|
+
"id": "webhooks:test",
|
|
1850
3734
|
"pluginAlias": "@sendly/cli",
|
|
1851
3735
|
"pluginName": "@sendly/cli",
|
|
1852
3736
|
"pluginType": "core",
|
|
@@ -1855,18 +3739,26 @@
|
|
|
1855
3739
|
"relativePath": [
|
|
1856
3740
|
"dist",
|
|
1857
3741
|
"commands",
|
|
1858
|
-
"
|
|
1859
|
-
"
|
|
3742
|
+
"webhooks",
|
|
3743
|
+
"test.js"
|
|
1860
3744
|
]
|
|
1861
3745
|
},
|
|
1862
|
-
"webhooks:
|
|
3746
|
+
"webhooks:update": {
|
|
1863
3747
|
"aliases": [],
|
|
1864
|
-
"args": {
|
|
1865
|
-
|
|
3748
|
+
"args": {
|
|
3749
|
+
"id": {
|
|
3750
|
+
"description": "Webhook ID to update",
|
|
3751
|
+
"name": "id",
|
|
3752
|
+
"required": true
|
|
3753
|
+
}
|
|
3754
|
+
},
|
|
3755
|
+
"description": "Update a webhook",
|
|
1866
3756
|
"examples": [
|
|
1867
|
-
"<%= config.bin %> webhooks
|
|
1868
|
-
"<%= config.bin %> webhooks
|
|
1869
|
-
"<%= config.bin %> webhooks
|
|
3757
|
+
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook",
|
|
3758
|
+
"<%= config.bin %> webhooks update whk_abc123 --events message.delivered,message.failed",
|
|
3759
|
+
"<%= config.bin %> webhooks update whk_abc123 --description \"Updated production webhook\"",
|
|
3760
|
+
"<%= config.bin %> webhooks update whk_abc123 --active false",
|
|
3761
|
+
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook --events message.sent --json"
|
|
1870
3762
|
],
|
|
1871
3763
|
"flags": {
|
|
1872
3764
|
"json": {
|
|
@@ -1884,35 +3776,39 @@
|
|
|
1884
3776
|
},
|
|
1885
3777
|
"url": {
|
|
1886
3778
|
"char": "u",
|
|
1887
|
-
"description": "
|
|
3779
|
+
"description": "Update webhook URL (must be HTTPS)",
|
|
1888
3780
|
"name": "url",
|
|
1889
|
-
"required": true,
|
|
1890
3781
|
"hasDynamicHelp": false,
|
|
1891
3782
|
"multiple": false,
|
|
1892
3783
|
"type": "option"
|
|
1893
3784
|
},
|
|
1894
3785
|
"events": {
|
|
1895
3786
|
"char": "e",
|
|
1896
|
-
"description": "
|
|
3787
|
+
"description": "Update events list (comma-separated)",
|
|
1897
3788
|
"name": "events",
|
|
1898
|
-
"required": true,
|
|
1899
3789
|
"hasDynamicHelp": false,
|
|
1900
3790
|
"multiple": false,
|
|
1901
3791
|
"type": "option"
|
|
1902
3792
|
},
|
|
1903
3793
|
"description": {
|
|
1904
3794
|
"char": "d",
|
|
1905
|
-
"description": "
|
|
3795
|
+
"description": "Update description",
|
|
1906
3796
|
"name": "description",
|
|
1907
3797
|
"hasDynamicHelp": false,
|
|
1908
3798
|
"multiple": false,
|
|
1909
3799
|
"type": "option"
|
|
1910
3800
|
},
|
|
3801
|
+
"active": {
|
|
3802
|
+
"char": "a",
|
|
3803
|
+
"description": "Enable or disable the webhook",
|
|
3804
|
+
"name": "active",
|
|
3805
|
+
"allowNo": true,
|
|
3806
|
+
"type": "boolean"
|
|
3807
|
+
},
|
|
1911
3808
|
"mode": {
|
|
1912
3809
|
"char": "m",
|
|
1913
|
-
"description": "
|
|
3810
|
+
"description": "Update event mode filter: all, test (sandbox only), live (production only)",
|
|
1914
3811
|
"name": "mode",
|
|
1915
|
-
"default": "all",
|
|
1916
3812
|
"hasDynamicHelp": false,
|
|
1917
3813
|
"multiple": false,
|
|
1918
3814
|
"options": [
|
|
@@ -1925,7 +3821,7 @@
|
|
|
1925
3821
|
},
|
|
1926
3822
|
"hasDynamicHelp": false,
|
|
1927
3823
|
"hiddenAliases": [],
|
|
1928
|
-
"id": "webhooks:
|
|
3824
|
+
"id": "webhooks:update",
|
|
1929
3825
|
"pluginAlias": "@sendly/cli",
|
|
1930
3826
|
"pluginName": "@sendly/cli",
|
|
1931
3827
|
"pluginType": "core",
|
|
@@ -1935,23 +3831,22 @@
|
|
|
1935
3831
|
"dist",
|
|
1936
3832
|
"commands",
|
|
1937
3833
|
"webhooks",
|
|
1938
|
-
"
|
|
3834
|
+
"update.js"
|
|
1939
3835
|
]
|
|
1940
3836
|
},
|
|
1941
|
-
"
|
|
3837
|
+
"contacts:lists:add": {
|
|
1942
3838
|
"aliases": [],
|
|
1943
3839
|
"args": {
|
|
1944
|
-
"
|
|
1945
|
-
"description": "
|
|
1946
|
-
"name": "
|
|
3840
|
+
"listId": {
|
|
3841
|
+
"description": "Contact list ID",
|
|
3842
|
+
"name": "listId",
|
|
1947
3843
|
"required": true
|
|
1948
3844
|
}
|
|
1949
3845
|
},
|
|
1950
|
-
"description": "
|
|
3846
|
+
"description": "Add contacts to a list",
|
|
1951
3847
|
"examples": [
|
|
1952
|
-
"<%= config.bin %>
|
|
1953
|
-
"<%= config.bin %>
|
|
1954
|
-
"<%= config.bin %> webhooks delete whk_abc123 --json"
|
|
3848
|
+
"<%= config.bin %> contacts lists add lst_xxx --contacts cnt_abc,cnt_def",
|
|
3849
|
+
"<%= config.bin %> contacts lists add lst_xxx --contacts cnt_abc --contacts cnt_def"
|
|
1955
3850
|
],
|
|
1956
3851
|
"flags": {
|
|
1957
3852
|
"json": {
|
|
@@ -1967,17 +3862,19 @@
|
|
|
1967
3862
|
"allowNo": false,
|
|
1968
3863
|
"type": "boolean"
|
|
1969
3864
|
},
|
|
1970
|
-
"
|
|
1971
|
-
"char": "
|
|
1972
|
-
"description": "
|
|
1973
|
-
"name": "
|
|
1974
|
-
"
|
|
1975
|
-
"
|
|
3865
|
+
"contacts": {
|
|
3866
|
+
"char": "c",
|
|
3867
|
+
"description": "Contact IDs to add (comma-separated or multiple flags)",
|
|
3868
|
+
"name": "contacts",
|
|
3869
|
+
"required": true,
|
|
3870
|
+
"hasDynamicHelp": false,
|
|
3871
|
+
"multiple": true,
|
|
3872
|
+
"type": "option"
|
|
1976
3873
|
}
|
|
1977
3874
|
},
|
|
1978
3875
|
"hasDynamicHelp": false,
|
|
1979
3876
|
"hiddenAliases": [],
|
|
1980
|
-
"id": "
|
|
3877
|
+
"id": "contacts:lists:add",
|
|
1981
3878
|
"pluginAlias": "@sendly/cli",
|
|
1982
3879
|
"pluginName": "@sendly/cli",
|
|
1983
3880
|
"pluginType": "core",
|
|
@@ -1986,25 +3883,18 @@
|
|
|
1986
3883
|
"relativePath": [
|
|
1987
3884
|
"dist",
|
|
1988
3885
|
"commands",
|
|
1989
|
-
"
|
|
1990
|
-
"
|
|
3886
|
+
"contacts",
|
|
3887
|
+
"lists",
|
|
3888
|
+
"add.js"
|
|
1991
3889
|
]
|
|
1992
3890
|
},
|
|
1993
|
-
"
|
|
3891
|
+
"contacts:lists:create": {
|
|
1994
3892
|
"aliases": [],
|
|
1995
|
-
"args": {
|
|
1996
|
-
|
|
1997
|
-
"description": "Webhook ID",
|
|
1998
|
-
"name": "id",
|
|
1999
|
-
"required": true
|
|
2000
|
-
}
|
|
2001
|
-
},
|
|
2002
|
-
"description": "View webhook delivery history",
|
|
3893
|
+
"args": {},
|
|
3894
|
+
"description": "Create a new contact list",
|
|
2003
3895
|
"examples": [
|
|
2004
|
-
"<%= config.bin %>
|
|
2005
|
-
"<%= config.bin %>
|
|
2006
|
-
"<%= config.bin %> webhooks deliveries whk_abc123 --failed-only",
|
|
2007
|
-
"<%= config.bin %> webhooks deliveries whk_abc123 --json"
|
|
3896
|
+
"<%= config.bin %> contacts lists create --name \"VIP Customers\"",
|
|
3897
|
+
"<%= config.bin %> contacts lists create --name \"Newsletter\" --description \"Weekly newsletter subscribers\""
|
|
2008
3898
|
],
|
|
2009
3899
|
"flags": {
|
|
2010
3900
|
"json": {
|
|
@@ -2020,25 +3910,27 @@
|
|
|
2020
3910
|
"allowNo": false,
|
|
2021
3911
|
"type": "boolean"
|
|
2022
3912
|
},
|
|
2023
|
-
"
|
|
2024
|
-
"char": "
|
|
2025
|
-
"description": "
|
|
2026
|
-
"name": "
|
|
2027
|
-
"
|
|
3913
|
+
"name": {
|
|
3914
|
+
"char": "n",
|
|
3915
|
+
"description": "List name",
|
|
3916
|
+
"name": "name",
|
|
3917
|
+
"required": true,
|
|
2028
3918
|
"hasDynamicHelp": false,
|
|
2029
3919
|
"multiple": false,
|
|
2030
3920
|
"type": "option"
|
|
2031
3921
|
},
|
|
2032
|
-
"
|
|
2033
|
-
"
|
|
2034
|
-
"
|
|
2035
|
-
"
|
|
2036
|
-
"
|
|
3922
|
+
"description": {
|
|
3923
|
+
"char": "d",
|
|
3924
|
+
"description": "List description",
|
|
3925
|
+
"name": "description",
|
|
3926
|
+
"hasDynamicHelp": false,
|
|
3927
|
+
"multiple": false,
|
|
3928
|
+
"type": "option"
|
|
2037
3929
|
}
|
|
2038
3930
|
},
|
|
2039
3931
|
"hasDynamicHelp": false,
|
|
2040
3932
|
"hiddenAliases": [],
|
|
2041
|
-
"id": "
|
|
3933
|
+
"id": "contacts:lists:create",
|
|
2042
3934
|
"pluginAlias": "@sendly/cli",
|
|
2043
3935
|
"pluginName": "@sendly/cli",
|
|
2044
3936
|
"pluginType": "core",
|
|
@@ -2047,23 +3939,24 @@
|
|
|
2047
3939
|
"relativePath": [
|
|
2048
3940
|
"dist",
|
|
2049
3941
|
"commands",
|
|
2050
|
-
"
|
|
2051
|
-
"
|
|
3942
|
+
"contacts",
|
|
3943
|
+
"lists",
|
|
3944
|
+
"create.js"
|
|
2052
3945
|
]
|
|
2053
3946
|
},
|
|
2054
|
-
"
|
|
3947
|
+
"contacts:lists:delete": {
|
|
2055
3948
|
"aliases": [],
|
|
2056
3949
|
"args": {
|
|
2057
3950
|
"id": {
|
|
2058
|
-
"description": "
|
|
3951
|
+
"description": "Contact list ID to delete",
|
|
2059
3952
|
"name": "id",
|
|
2060
3953
|
"required": true
|
|
2061
3954
|
}
|
|
2062
3955
|
},
|
|
2063
|
-
"description": "
|
|
3956
|
+
"description": "Delete a contact list (does not delete the contacts)",
|
|
2064
3957
|
"examples": [
|
|
2065
|
-
"<%= config.bin %>
|
|
2066
|
-
"<%= config.bin %>
|
|
3958
|
+
"<%= config.bin %> contacts lists delete lst_xxx",
|
|
3959
|
+
"<%= config.bin %> contacts lists delete lst_xxx --yes"
|
|
2067
3960
|
],
|
|
2068
3961
|
"flags": {
|
|
2069
3962
|
"json": {
|
|
@@ -2078,49 +3971,18 @@
|
|
|
2078
3971
|
"name": "quiet",
|
|
2079
3972
|
"allowNo": false,
|
|
2080
3973
|
"type": "boolean"
|
|
2081
|
-
}
|
|
2082
|
-
},
|
|
2083
|
-
"hasDynamicHelp": false,
|
|
2084
|
-
"hiddenAliases": [],
|
|
2085
|
-
"id": "webhooks:get",
|
|
2086
|
-
"pluginAlias": "@sendly/cli",
|
|
2087
|
-
"pluginName": "@sendly/cli",
|
|
2088
|
-
"pluginType": "core",
|
|
2089
|
-
"strict": true,
|
|
2090
|
-
"isESM": true,
|
|
2091
|
-
"relativePath": [
|
|
2092
|
-
"dist",
|
|
2093
|
-
"commands",
|
|
2094
|
-
"webhooks",
|
|
2095
|
-
"get.js"
|
|
2096
|
-
]
|
|
2097
|
-
},
|
|
2098
|
-
"webhooks:list": {
|
|
2099
|
-
"aliases": [],
|
|
2100
|
-
"args": {},
|
|
2101
|
-
"description": "List configured webhooks",
|
|
2102
|
-
"examples": [
|
|
2103
|
-
"<%= config.bin %> webhooks list",
|
|
2104
|
-
"<%= config.bin %> webhooks list --json"
|
|
2105
|
-
],
|
|
2106
|
-
"flags": {
|
|
2107
|
-
"json": {
|
|
2108
|
-
"description": "Output in JSON format",
|
|
2109
|
-
"name": "json",
|
|
2110
|
-
"allowNo": false,
|
|
2111
|
-
"type": "boolean"
|
|
2112
3974
|
},
|
|
2113
|
-
"
|
|
2114
|
-
"char": "
|
|
2115
|
-
"description": "
|
|
2116
|
-
"name": "
|
|
3975
|
+
"yes": {
|
|
3976
|
+
"char": "y",
|
|
3977
|
+
"description": "Skip confirmation prompt",
|
|
3978
|
+
"name": "yes",
|
|
2117
3979
|
"allowNo": false,
|
|
2118
3980
|
"type": "boolean"
|
|
2119
3981
|
}
|
|
2120
3982
|
},
|
|
2121
3983
|
"hasDynamicHelp": false,
|
|
2122
3984
|
"hiddenAliases": [],
|
|
2123
|
-
"id": "
|
|
3985
|
+
"id": "contacts:lists:delete",
|
|
2124
3986
|
"pluginAlias": "@sendly/cli",
|
|
2125
3987
|
"pluginName": "@sendly/cli",
|
|
2126
3988
|
"pluginType": "core",
|
|
@@ -2129,18 +3991,24 @@
|
|
|
2129
3991
|
"relativePath": [
|
|
2130
3992
|
"dist",
|
|
2131
3993
|
"commands",
|
|
2132
|
-
"
|
|
2133
|
-
"
|
|
3994
|
+
"contacts",
|
|
3995
|
+
"lists",
|
|
3996
|
+
"delete.js"
|
|
2134
3997
|
]
|
|
2135
3998
|
},
|
|
2136
|
-
"
|
|
3999
|
+
"contacts:lists:get": {
|
|
2137
4000
|
"aliases": [],
|
|
2138
|
-
"args": {
|
|
2139
|
-
|
|
4001
|
+
"args": {
|
|
4002
|
+
"id": {
|
|
4003
|
+
"description": "Contact list ID",
|
|
4004
|
+
"name": "id",
|
|
4005
|
+
"required": true
|
|
4006
|
+
}
|
|
4007
|
+
},
|
|
4008
|
+
"description": "Get contact list details",
|
|
2140
4009
|
"examples": [
|
|
2141
|
-
"<%= config.bin %>
|
|
2142
|
-
"<%= config.bin %>
|
|
2143
|
-
"<%= config.bin %> webhooks listen --events message.delivered,message.failed"
|
|
4010
|
+
"<%= config.bin %> contacts lists get lst_xxx",
|
|
4011
|
+
"<%= config.bin %> contacts lists get lst_xxx --json"
|
|
2144
4012
|
],
|
|
2145
4013
|
"flags": {
|
|
2146
4014
|
"json": {
|
|
@@ -2155,29 +4023,11 @@
|
|
|
2155
4023
|
"name": "quiet",
|
|
2156
4024
|
"allowNo": false,
|
|
2157
4025
|
"type": "boolean"
|
|
2158
|
-
},
|
|
2159
|
-
"forward": {
|
|
2160
|
-
"char": "f",
|
|
2161
|
-
"description": "Local URL to forward events to",
|
|
2162
|
-
"name": "forward",
|
|
2163
|
-
"default": "http://localhost:3000/webhook",
|
|
2164
|
-
"hasDynamicHelp": false,
|
|
2165
|
-
"multiple": false,
|
|
2166
|
-
"type": "option"
|
|
2167
|
-
},
|
|
2168
|
-
"events": {
|
|
2169
|
-
"char": "e",
|
|
2170
|
-
"description": "Comma-separated list of events to listen for",
|
|
2171
|
-
"name": "events",
|
|
2172
|
-
"default": "message.sent,message.delivered,message.failed,message.bounced",
|
|
2173
|
-
"hasDynamicHelp": false,
|
|
2174
|
-
"multiple": false,
|
|
2175
|
-
"type": "option"
|
|
2176
4026
|
}
|
|
2177
4027
|
},
|
|
2178
4028
|
"hasDynamicHelp": false,
|
|
2179
4029
|
"hiddenAliases": [],
|
|
2180
|
-
"id": "
|
|
4030
|
+
"id": "contacts:lists:get",
|
|
2181
4031
|
"pluginAlias": "@sendly/cli",
|
|
2182
4032
|
"pluginName": "@sendly/cli",
|
|
2183
4033
|
"pluginType": "core",
|
|
@@ -2186,24 +4036,18 @@
|
|
|
2186
4036
|
"relativePath": [
|
|
2187
4037
|
"dist",
|
|
2188
4038
|
"commands",
|
|
2189
|
-
"
|
|
2190
|
-
"
|
|
4039
|
+
"contacts",
|
|
4040
|
+
"lists",
|
|
4041
|
+
"get.js"
|
|
2191
4042
|
]
|
|
2192
4043
|
},
|
|
2193
|
-
"
|
|
4044
|
+
"contacts:lists": {
|
|
2194
4045
|
"aliases": [],
|
|
2195
|
-
"args": {
|
|
2196
|
-
|
|
2197
|
-
"description": "Webhook ID",
|
|
2198
|
-
"name": "id",
|
|
2199
|
-
"required": true
|
|
2200
|
-
}
|
|
2201
|
-
},
|
|
2202
|
-
"description": "Rotate webhook secret",
|
|
4046
|
+
"args": {},
|
|
4047
|
+
"description": "List all contact lists",
|
|
2203
4048
|
"examples": [
|
|
2204
|
-
"<%= config.bin %>
|
|
2205
|
-
"<%= config.bin %>
|
|
2206
|
-
"<%= config.bin %> webhooks rotate-secret whk_abc123 --json"
|
|
4049
|
+
"<%= config.bin %> contacts lists",
|
|
4050
|
+
"<%= config.bin %> contacts lists --json"
|
|
2207
4051
|
],
|
|
2208
4052
|
"flags": {
|
|
2209
4053
|
"json": {
|
|
@@ -2218,18 +4062,11 @@
|
|
|
2218
4062
|
"name": "quiet",
|
|
2219
4063
|
"allowNo": false,
|
|
2220
4064
|
"type": "boolean"
|
|
2221
|
-
},
|
|
2222
|
-
"yes": {
|
|
2223
|
-
"char": "y",
|
|
2224
|
-
"description": "Skip confirmation prompt",
|
|
2225
|
-
"name": "yes",
|
|
2226
|
-
"allowNo": false,
|
|
2227
|
-
"type": "boolean"
|
|
2228
4065
|
}
|
|
2229
4066
|
},
|
|
2230
4067
|
"hasDynamicHelp": false,
|
|
2231
4068
|
"hiddenAliases": [],
|
|
2232
|
-
"id": "
|
|
4069
|
+
"id": "contacts:lists",
|
|
2233
4070
|
"pluginAlias": "@sendly/cli",
|
|
2234
4071
|
"pluginName": "@sendly/cli",
|
|
2235
4072
|
"pluginType": "core",
|
|
@@ -2238,23 +4075,28 @@
|
|
|
2238
4075
|
"relativePath": [
|
|
2239
4076
|
"dist",
|
|
2240
4077
|
"commands",
|
|
2241
|
-
"
|
|
2242
|
-
"
|
|
4078
|
+
"contacts",
|
|
4079
|
+
"lists",
|
|
4080
|
+
"index.js"
|
|
2243
4081
|
]
|
|
2244
4082
|
},
|
|
2245
|
-
"
|
|
4083
|
+
"contacts:lists:remove": {
|
|
2246
4084
|
"aliases": [],
|
|
2247
4085
|
"args": {
|
|
2248
|
-
"
|
|
2249
|
-
"description": "
|
|
2250
|
-
"name": "
|
|
4086
|
+
"listId": {
|
|
4087
|
+
"description": "Contact list ID",
|
|
4088
|
+
"name": "listId",
|
|
4089
|
+
"required": true
|
|
4090
|
+
},
|
|
4091
|
+
"contactId": {
|
|
4092
|
+
"description": "Contact ID to remove",
|
|
4093
|
+
"name": "contactId",
|
|
2251
4094
|
"required": true
|
|
2252
4095
|
}
|
|
2253
4096
|
},
|
|
2254
|
-
"description": "
|
|
4097
|
+
"description": "Remove a contact from a list",
|
|
2255
4098
|
"examples": [
|
|
2256
|
-
"<%= config.bin %>
|
|
2257
|
-
"<%= config.bin %> webhooks test whk_abc123 --json"
|
|
4099
|
+
"<%= config.bin %> contacts lists remove lst_xxx cnt_abc"
|
|
2258
4100
|
],
|
|
2259
4101
|
"flags": {
|
|
2260
4102
|
"json": {
|
|
@@ -2273,7 +4115,7 @@
|
|
|
2273
4115
|
},
|
|
2274
4116
|
"hasDynamicHelp": false,
|
|
2275
4117
|
"hiddenAliases": [],
|
|
2276
|
-
"id": "
|
|
4118
|
+
"id": "contacts:lists:remove",
|
|
2277
4119
|
"pluginAlias": "@sendly/cli",
|
|
2278
4120
|
"pluginName": "@sendly/cli",
|
|
2279
4121
|
"pluginType": "core",
|
|
@@ -2282,26 +4124,24 @@
|
|
|
2282
4124
|
"relativePath": [
|
|
2283
4125
|
"dist",
|
|
2284
4126
|
"commands",
|
|
2285
|
-
"
|
|
2286
|
-
"
|
|
4127
|
+
"contacts",
|
|
4128
|
+
"lists",
|
|
4129
|
+
"remove.js"
|
|
2287
4130
|
]
|
|
2288
4131
|
},
|
|
2289
|
-
"
|
|
4132
|
+
"contacts:lists:update": {
|
|
2290
4133
|
"aliases": [],
|
|
2291
4134
|
"args": {
|
|
2292
4135
|
"id": {
|
|
2293
|
-
"description": "
|
|
4136
|
+
"description": "Contact list ID",
|
|
2294
4137
|
"name": "id",
|
|
2295
4138
|
"required": true
|
|
2296
4139
|
}
|
|
2297
4140
|
},
|
|
2298
|
-
"description": "Update a
|
|
4141
|
+
"description": "Update a contact list",
|
|
2299
4142
|
"examples": [
|
|
2300
|
-
"<%= config.bin %>
|
|
2301
|
-
"<%= config.bin %>
|
|
2302
|
-
"<%= config.bin %> webhooks update whk_abc123 --description \"Updated production webhook\"",
|
|
2303
|
-
"<%= config.bin %> webhooks update whk_abc123 --active false",
|
|
2304
|
-
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook --events message.sent --json"
|
|
4143
|
+
"<%= config.bin %> contacts lists update lst_xxx --name \"VIP Customers\"",
|
|
4144
|
+
"<%= config.bin %> contacts lists update lst_xxx --description \"Updated desc\""
|
|
2305
4145
|
],
|
|
2306
4146
|
"flags": {
|
|
2307
4147
|
"json": {
|
|
@@ -2317,54 +4157,26 @@
|
|
|
2317
4157
|
"allowNo": false,
|
|
2318
4158
|
"type": "boolean"
|
|
2319
4159
|
},
|
|
2320
|
-
"
|
|
2321
|
-
"char": "
|
|
2322
|
-
"description": "
|
|
2323
|
-
"name": "
|
|
2324
|
-
"hasDynamicHelp": false,
|
|
2325
|
-
"multiple": false,
|
|
2326
|
-
"type": "option"
|
|
2327
|
-
},
|
|
2328
|
-
"events": {
|
|
2329
|
-
"char": "e",
|
|
2330
|
-
"description": "Update events list (comma-separated)",
|
|
2331
|
-
"name": "events",
|
|
4160
|
+
"name": {
|
|
4161
|
+
"char": "n",
|
|
4162
|
+
"description": "List name",
|
|
4163
|
+
"name": "name",
|
|
2332
4164
|
"hasDynamicHelp": false,
|
|
2333
4165
|
"multiple": false,
|
|
2334
4166
|
"type": "option"
|
|
2335
4167
|
},
|
|
2336
4168
|
"description": {
|
|
2337
4169
|
"char": "d",
|
|
2338
|
-
"description": "
|
|
4170
|
+
"description": "List description",
|
|
2339
4171
|
"name": "description",
|
|
2340
4172
|
"hasDynamicHelp": false,
|
|
2341
4173
|
"multiple": false,
|
|
2342
4174
|
"type": "option"
|
|
2343
|
-
},
|
|
2344
|
-
"active": {
|
|
2345
|
-
"char": "a",
|
|
2346
|
-
"description": "Enable or disable the webhook",
|
|
2347
|
-
"name": "active",
|
|
2348
|
-
"allowNo": true,
|
|
2349
|
-
"type": "boolean"
|
|
2350
|
-
},
|
|
2351
|
-
"mode": {
|
|
2352
|
-
"char": "m",
|
|
2353
|
-
"description": "Update event mode filter: all, test (sandbox only), live (production only)",
|
|
2354
|
-
"name": "mode",
|
|
2355
|
-
"hasDynamicHelp": false,
|
|
2356
|
-
"multiple": false,
|
|
2357
|
-
"options": [
|
|
2358
|
-
"all",
|
|
2359
|
-
"test",
|
|
2360
|
-
"live"
|
|
2361
|
-
],
|
|
2362
|
-
"type": "option"
|
|
2363
4175
|
}
|
|
2364
4176
|
},
|
|
2365
4177
|
"hasDynamicHelp": false,
|
|
2366
4178
|
"hiddenAliases": [],
|
|
2367
|
-
"id": "
|
|
4179
|
+
"id": "contacts:lists:update",
|
|
2368
4180
|
"pluginAlias": "@sendly/cli",
|
|
2369
4181
|
"pluginName": "@sendly/cli",
|
|
2370
4182
|
"pluginType": "core",
|
|
@@ -2373,10 +4185,11 @@
|
|
|
2373
4185
|
"relativePath": [
|
|
2374
4186
|
"dist",
|
|
2375
4187
|
"commands",
|
|
2376
|
-
"
|
|
4188
|
+
"contacts",
|
|
4189
|
+
"lists",
|
|
2377
4190
|
"update.js"
|
|
2378
4191
|
]
|
|
2379
4192
|
}
|
|
2380
4193
|
},
|
|
2381
|
-
"version": "3.
|
|
4194
|
+
"version": "3.14.0"
|
|
2382
4195
|
}
|