@sendly/cli 3.6.0 → 3.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/commands/logout.js +15 -2
- package/dist/lib/auth.js +1 -2
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js +110 -17
- package/oclif.manifest.json +463 -463
- package/package.json +1 -1
package/oclif.manifest.json
CHANGED
|
@@ -796,18 +796,14 @@
|
|
|
796
796
|
"tail.js"
|
|
797
797
|
]
|
|
798
798
|
},
|
|
799
|
-
"
|
|
799
|
+
"webhooks:create": {
|
|
800
800
|
"aliases": [],
|
|
801
801
|
"args": {},
|
|
802
|
-
"description": "
|
|
802
|
+
"description": "Create a webhook",
|
|
803
803
|
"examples": [
|
|
804
|
-
"<%= config.bin %>
|
|
805
|
-
"<%= config.bin %>
|
|
806
|
-
"<%= config.bin %>
|
|
807
|
-
"<%= config.bin %> sms batch --file recipients.csv --dry-run",
|
|
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"
|
|
804
|
+
"<%= config.bin %> webhooks create --url https://myapp.com/webhook --events message.delivered",
|
|
805
|
+
"<%= config.bin %> webhooks create --url https://myapp.com/webhook --events message.delivered,message.failed --description \"Production webhook\"",
|
|
806
|
+
"<%= config.bin %> webhooks create --url https://webhook.site/abc123 --events message.sent --json"
|
|
811
807
|
],
|
|
812
808
|
"flags": {
|
|
813
809
|
"json": {
|
|
@@ -823,94 +819,50 @@
|
|
|
823
819
|
"allowNo": false,
|
|
824
820
|
"type": "boolean"
|
|
825
821
|
},
|
|
826
|
-
"
|
|
827
|
-
"char": "
|
|
828
|
-
"description": "
|
|
829
|
-
"
|
|
830
|
-
|
|
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",
|
|
822
|
+
"url": {
|
|
823
|
+
"char": "u",
|
|
824
|
+
"description": "Webhook URL (must be HTTPS)",
|
|
825
|
+
"name": "url",
|
|
826
|
+
"required": true,
|
|
848
827
|
"hasDynamicHelp": false,
|
|
849
828
|
"multiple": false,
|
|
850
829
|
"type": "option"
|
|
851
830
|
},
|
|
852
|
-
"
|
|
853
|
-
"char": "
|
|
854
|
-
"description": "
|
|
855
|
-
"name": "
|
|
831
|
+
"events": {
|
|
832
|
+
"char": "e",
|
|
833
|
+
"description": "Comma-separated list of events to listen for",
|
|
834
|
+
"name": "events",
|
|
835
|
+
"required": true,
|
|
856
836
|
"hasDynamicHelp": false,
|
|
857
837
|
"multiple": false,
|
|
858
838
|
"type": "option"
|
|
859
839
|
},
|
|
860
|
-
"
|
|
861
|
-
"char": "
|
|
862
|
-
"description": "
|
|
863
|
-
"name": "
|
|
840
|
+
"description": {
|
|
841
|
+
"char": "d",
|
|
842
|
+
"description": "Description for the webhook",
|
|
843
|
+
"name": "description",
|
|
864
844
|
"hasDynamicHelp": false,
|
|
865
845
|
"multiple": false,
|
|
866
846
|
"type": "option"
|
|
867
847
|
},
|
|
868
|
-
"
|
|
869
|
-
"
|
|
870
|
-
"
|
|
871
|
-
"
|
|
848
|
+
"mode": {
|
|
849
|
+
"char": "m",
|
|
850
|
+
"description": "Event mode filter: all (default), test (sandbox only), live (production only)",
|
|
851
|
+
"name": "mode",
|
|
852
|
+
"default": "all",
|
|
872
853
|
"hasDynamicHelp": false,
|
|
873
854
|
"multiple": false,
|
|
874
855
|
"options": [
|
|
875
|
-
"
|
|
876
|
-
"
|
|
877
|
-
|
|
878
|
-
"type": "option"
|
|
879
|
-
},
|
|
880
|
-
"dry-run": {
|
|
881
|
-
"char": "d",
|
|
882
|
-
"description": "Preview batch without sending (validates access, shows cost and compliance breakdown)",
|
|
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"
|
|
856
|
+
"all",
|
|
857
|
+
"test",
|
|
858
|
+
"live"
|
|
893
859
|
],
|
|
894
|
-
"name": "reuse",
|
|
895
|
-
"hasDynamicHelp": false,
|
|
896
|
-
"multiple": false,
|
|
897
860
|
"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
861
|
}
|
|
910
862
|
},
|
|
911
863
|
"hasDynamicHelp": false,
|
|
912
864
|
"hiddenAliases": [],
|
|
913
|
-
"id": "
|
|
865
|
+
"id": "webhooks:create",
|
|
914
866
|
"pluginAlias": "@sendly/cli",
|
|
915
867
|
"pluginName": "@sendly/cli",
|
|
916
868
|
"pluginType": "core",
|
|
@@ -919,23 +871,24 @@
|
|
|
919
871
|
"relativePath": [
|
|
920
872
|
"dist",
|
|
921
873
|
"commands",
|
|
922
|
-
"
|
|
923
|
-
"
|
|
874
|
+
"webhooks",
|
|
875
|
+
"create.js"
|
|
924
876
|
]
|
|
925
877
|
},
|
|
926
|
-
"
|
|
878
|
+
"webhooks:delete": {
|
|
927
879
|
"aliases": [],
|
|
928
880
|
"args": {
|
|
929
881
|
"id": {
|
|
930
|
-
"description": "
|
|
882
|
+
"description": "Webhook ID to delete",
|
|
931
883
|
"name": "id",
|
|
932
884
|
"required": true
|
|
933
885
|
}
|
|
934
886
|
},
|
|
935
|
-
"description": "
|
|
887
|
+
"description": "Delete a webhook",
|
|
936
888
|
"examples": [
|
|
937
|
-
"<%= config.bin %>
|
|
938
|
-
"<%= config.bin %>
|
|
889
|
+
"<%= config.bin %> webhooks delete whk_abc123",
|
|
890
|
+
"<%= config.bin %> webhooks delete whk_abc123 --yes",
|
|
891
|
+
"<%= config.bin %> webhooks delete whk_abc123 --json"
|
|
939
892
|
],
|
|
940
893
|
"flags": {
|
|
941
894
|
"json": {
|
|
@@ -950,11 +903,18 @@
|
|
|
950
903
|
"name": "quiet",
|
|
951
904
|
"allowNo": false,
|
|
952
905
|
"type": "boolean"
|
|
906
|
+
},
|
|
907
|
+
"yes": {
|
|
908
|
+
"char": "y",
|
|
909
|
+
"description": "Skip confirmation prompt",
|
|
910
|
+
"name": "yes",
|
|
911
|
+
"allowNo": false,
|
|
912
|
+
"type": "boolean"
|
|
953
913
|
}
|
|
954
914
|
},
|
|
955
915
|
"hasDynamicHelp": false,
|
|
956
916
|
"hiddenAliases": [],
|
|
957
|
-
"id": "
|
|
917
|
+
"id": "webhooks:delete",
|
|
958
918
|
"pluginAlias": "@sendly/cli",
|
|
959
919
|
"pluginName": "@sendly/cli",
|
|
960
920
|
"pluginType": "core",
|
|
@@ -963,23 +923,25 @@
|
|
|
963
923
|
"relativePath": [
|
|
964
924
|
"dist",
|
|
965
925
|
"commands",
|
|
966
|
-
"
|
|
967
|
-
"
|
|
926
|
+
"webhooks",
|
|
927
|
+
"delete.js"
|
|
968
928
|
]
|
|
969
929
|
},
|
|
970
|
-
"
|
|
930
|
+
"webhooks:deliveries": {
|
|
971
931
|
"aliases": [],
|
|
972
932
|
"args": {
|
|
973
933
|
"id": {
|
|
974
|
-
"description": "
|
|
934
|
+
"description": "Webhook ID",
|
|
975
935
|
"name": "id",
|
|
976
936
|
"required": true
|
|
977
937
|
}
|
|
978
938
|
},
|
|
979
|
-
"description": "
|
|
939
|
+
"description": "View webhook delivery history",
|
|
980
940
|
"examples": [
|
|
981
|
-
"<%= config.bin %>
|
|
982
|
-
"<%= config.bin %>
|
|
941
|
+
"<%= config.bin %> webhooks deliveries whk_abc123",
|
|
942
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --limit 20",
|
|
943
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --failed-only",
|
|
944
|
+
"<%= config.bin %> webhooks deliveries whk_abc123 --json"
|
|
983
945
|
],
|
|
984
946
|
"flags": {
|
|
985
947
|
"json": {
|
|
@@ -994,11 +956,26 @@
|
|
|
994
956
|
"name": "quiet",
|
|
995
957
|
"allowNo": false,
|
|
996
958
|
"type": "boolean"
|
|
959
|
+
},
|
|
960
|
+
"limit": {
|
|
961
|
+
"char": "l",
|
|
962
|
+
"description": "Number of deliveries to show",
|
|
963
|
+
"name": "limit",
|
|
964
|
+
"default": 10,
|
|
965
|
+
"hasDynamicHelp": false,
|
|
966
|
+
"multiple": false,
|
|
967
|
+
"type": "option"
|
|
968
|
+
},
|
|
969
|
+
"failed-only": {
|
|
970
|
+
"description": "Show only failed deliveries",
|
|
971
|
+
"name": "failed-only",
|
|
972
|
+
"allowNo": false,
|
|
973
|
+
"type": "boolean"
|
|
997
974
|
}
|
|
998
975
|
},
|
|
999
976
|
"hasDynamicHelp": false,
|
|
1000
977
|
"hiddenAliases": [],
|
|
1001
|
-
"id": "
|
|
978
|
+
"id": "webhooks:deliveries",
|
|
1002
979
|
"pluginAlias": "@sendly/cli",
|
|
1003
980
|
"pluginName": "@sendly/cli",
|
|
1004
981
|
"pluginType": "core",
|
|
@@ -1007,21 +984,23 @@
|
|
|
1007
984
|
"relativePath": [
|
|
1008
985
|
"dist",
|
|
1009
986
|
"commands",
|
|
1010
|
-
"
|
|
1011
|
-
"
|
|
987
|
+
"webhooks",
|
|
988
|
+
"deliveries.js"
|
|
1012
989
|
]
|
|
1013
990
|
},
|
|
1014
|
-
"
|
|
991
|
+
"webhooks:get": {
|
|
1015
992
|
"aliases": [],
|
|
1016
|
-
"args": {
|
|
1017
|
-
|
|
993
|
+
"args": {
|
|
994
|
+
"id": {
|
|
995
|
+
"description": "Webhook ID",
|
|
996
|
+
"name": "id",
|
|
997
|
+
"required": true
|
|
998
|
+
}
|
|
999
|
+
},
|
|
1000
|
+
"description": "Get webhook details",
|
|
1018
1001
|
"examples": [
|
|
1019
|
-
"<%= config.bin %>
|
|
1020
|
-
"<%= config.bin %>
|
|
1021
|
-
"<%= config.bin %> sms list --page 2",
|
|
1022
|
-
"<%= config.bin %> sms list --status delivered",
|
|
1023
|
-
"<%= config.bin %> sms list --sandbox",
|
|
1024
|
-
"<%= config.bin %> sms list --json"
|
|
1002
|
+
"<%= config.bin %> webhooks get whk_abc123",
|
|
1003
|
+
"<%= config.bin %> webhooks get whk_abc123 --json"
|
|
1025
1004
|
],
|
|
1026
1005
|
"flags": {
|
|
1027
1006
|
"json": {
|
|
@@ -1036,49 +1015,11 @@
|
|
|
1036
1015
|
"name": "quiet",
|
|
1037
1016
|
"allowNo": false,
|
|
1038
1017
|
"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
1018
|
}
|
|
1078
1019
|
},
|
|
1079
1020
|
"hasDynamicHelp": false,
|
|
1080
1021
|
"hiddenAliases": [],
|
|
1081
|
-
"id": "
|
|
1022
|
+
"id": "webhooks:get",
|
|
1082
1023
|
"pluginAlias": "@sendly/cli",
|
|
1083
1024
|
"pluginName": "@sendly/cli",
|
|
1084
1025
|
"pluginType": "core",
|
|
@@ -1087,19 +1028,17 @@
|
|
|
1087
1028
|
"relativePath": [
|
|
1088
1029
|
"dist",
|
|
1089
1030
|
"commands",
|
|
1090
|
-
"
|
|
1091
|
-
"
|
|
1031
|
+
"webhooks",
|
|
1032
|
+
"get.js"
|
|
1092
1033
|
]
|
|
1093
1034
|
},
|
|
1094
|
-
"
|
|
1035
|
+
"webhooks:list": {
|
|
1095
1036
|
"aliases": [],
|
|
1096
1037
|
"args": {},
|
|
1097
|
-
"description": "
|
|
1038
|
+
"description": "List configured webhooks",
|
|
1098
1039
|
"examples": [
|
|
1099
|
-
"<%= config.bin %>
|
|
1100
|
-
"<%= config.bin %>
|
|
1101
|
-
"<%= config.bin %> sms schedule --to +15551234567 --text \"Your code: 123456\" --at \"2025-01-20T10:00:00Z\" --type transactional",
|
|
1102
|
-
"<%= config.bin %> sms schedule --to +15551234567 --text \"Hello!\" --at \"2025-01-20T10:00:00Z\" --json"
|
|
1040
|
+
"<%= config.bin %> webhooks list",
|
|
1041
|
+
"<%= config.bin %> webhooks list --json"
|
|
1103
1042
|
],
|
|
1104
1043
|
"flags": {
|
|
1105
1044
|
"json": {
|
|
@@ -1114,58 +1053,11 @@
|
|
|
1114
1053
|
"name": "quiet",
|
|
1115
1054
|
"allowNo": false,
|
|
1116
1055
|
"type": "boolean"
|
|
1117
|
-
},
|
|
1118
|
-
"to": {
|
|
1119
|
-
"char": "t",
|
|
1120
|
-
"description": "Recipient phone number (E.164 format)",
|
|
1121
|
-
"name": "to",
|
|
1122
|
-
"required": true,
|
|
1123
|
-
"hasDynamicHelp": false,
|
|
1124
|
-
"multiple": false,
|
|
1125
|
-
"type": "option"
|
|
1126
|
-
},
|
|
1127
|
-
"text": {
|
|
1128
|
-
"char": "m",
|
|
1129
|
-
"description": "Message text",
|
|
1130
|
-
"name": "text",
|
|
1131
|
-
"required": true,
|
|
1132
|
-
"hasDynamicHelp": false,
|
|
1133
|
-
"multiple": false,
|
|
1134
|
-
"type": "option"
|
|
1135
|
-
},
|
|
1136
|
-
"at": {
|
|
1137
|
-
"char": "a",
|
|
1138
|
-
"description": "Scheduled time (ISO 8601 format, e.g., 2025-01-20T10:00:00Z)",
|
|
1139
|
-
"name": "at",
|
|
1140
|
-
"required": true,
|
|
1141
|
-
"hasDynamicHelp": false,
|
|
1142
|
-
"multiple": false,
|
|
1143
|
-
"type": "option"
|
|
1144
|
-
},
|
|
1145
|
-
"from": {
|
|
1146
|
-
"char": "f",
|
|
1147
|
-
"description": "Sender ID or phone number",
|
|
1148
|
-
"name": "from",
|
|
1149
|
-
"hasDynamicHelp": false,
|
|
1150
|
-
"multiple": false,
|
|
1151
|
-
"type": "option"
|
|
1152
|
-
},
|
|
1153
|
-
"type": {
|
|
1154
|
-
"description": "Message type: marketing (default) or transactional. Transactional messages bypass quiet hours.",
|
|
1155
|
-
"name": "type",
|
|
1156
|
-
"default": "marketing",
|
|
1157
|
-
"hasDynamicHelp": false,
|
|
1158
|
-
"multiple": false,
|
|
1159
|
-
"options": [
|
|
1160
|
-
"marketing",
|
|
1161
|
-
"transactional"
|
|
1162
|
-
],
|
|
1163
|
-
"type": "option"
|
|
1164
1056
|
}
|
|
1165
1057
|
},
|
|
1166
1058
|
"hasDynamicHelp": false,
|
|
1167
1059
|
"hiddenAliases": [],
|
|
1168
|
-
"id": "
|
|
1060
|
+
"id": "webhooks:list",
|
|
1169
1061
|
"pluginAlias": "@sendly/cli",
|
|
1170
1062
|
"pluginName": "@sendly/cli",
|
|
1171
1063
|
"pluginType": "core",
|
|
@@ -1174,19 +1066,18 @@
|
|
|
1174
1066
|
"relativePath": [
|
|
1175
1067
|
"dist",
|
|
1176
1068
|
"commands",
|
|
1177
|
-
"
|
|
1178
|
-
"
|
|
1069
|
+
"webhooks",
|
|
1070
|
+
"list.js"
|
|
1179
1071
|
]
|
|
1180
1072
|
},
|
|
1181
|
-
"
|
|
1073
|
+
"webhooks:listen": {
|
|
1182
1074
|
"aliases": [],
|
|
1183
1075
|
"args": {},
|
|
1184
|
-
"description": "
|
|
1076
|
+
"description": "Listen for webhooks locally. Receives events in real-time via WebSocket and forwards them to your local server.",
|
|
1185
1077
|
"examples": [
|
|
1186
|
-
"<%= config.bin %>
|
|
1187
|
-
"<%= config.bin %>
|
|
1188
|
-
"<%= config.bin %>
|
|
1189
|
-
"<%= config.bin %> sms scheduled --json"
|
|
1078
|
+
"<%= config.bin %> webhooks listen",
|
|
1079
|
+
"<%= config.bin %> webhooks listen --forward http://localhost:3000/webhook",
|
|
1080
|
+
"<%= config.bin %> webhooks listen --events message.delivered,message.failed"
|
|
1190
1081
|
],
|
|
1191
1082
|
"flags": {
|
|
1192
1083
|
"json": {
|
|
@@ -1202,19 +1093,20 @@
|
|
|
1202
1093
|
"allowNo": false,
|
|
1203
1094
|
"type": "boolean"
|
|
1204
1095
|
},
|
|
1205
|
-
"
|
|
1206
|
-
"char": "
|
|
1207
|
-
"description": "
|
|
1208
|
-
"name": "
|
|
1209
|
-
"default":
|
|
1096
|
+
"forward": {
|
|
1097
|
+
"char": "f",
|
|
1098
|
+
"description": "Local URL to forward events to",
|
|
1099
|
+
"name": "forward",
|
|
1100
|
+
"default": "http://localhost:3000/webhook",
|
|
1210
1101
|
"hasDynamicHelp": false,
|
|
1211
1102
|
"multiple": false,
|
|
1212
1103
|
"type": "option"
|
|
1213
1104
|
},
|
|
1214
|
-
"
|
|
1215
|
-
"char": "
|
|
1216
|
-
"description": "
|
|
1217
|
-
"name": "
|
|
1105
|
+
"events": {
|
|
1106
|
+
"char": "e",
|
|
1107
|
+
"description": "Comma-separated list of events to listen for",
|
|
1108
|
+
"name": "events",
|
|
1109
|
+
"default": "message.sent,message.delivered,message.failed,message.bounced",
|
|
1218
1110
|
"hasDynamicHelp": false,
|
|
1219
1111
|
"multiple": false,
|
|
1220
1112
|
"type": "option"
|
|
@@ -1222,7 +1114,7 @@
|
|
|
1222
1114
|
},
|
|
1223
1115
|
"hasDynamicHelp": false,
|
|
1224
1116
|
"hiddenAliases": [],
|
|
1225
|
-
"id": "
|
|
1117
|
+
"id": "webhooks:listen",
|
|
1226
1118
|
"pluginAlias": "@sendly/cli",
|
|
1227
1119
|
"pluginName": "@sendly/cli",
|
|
1228
1120
|
"pluginType": "core",
|
|
@@ -1231,19 +1123,24 @@
|
|
|
1231
1123
|
"relativePath": [
|
|
1232
1124
|
"dist",
|
|
1233
1125
|
"commands",
|
|
1234
|
-
"
|
|
1235
|
-
"
|
|
1126
|
+
"webhooks",
|
|
1127
|
+
"listen.js"
|
|
1236
1128
|
]
|
|
1237
1129
|
},
|
|
1238
|
-
"
|
|
1130
|
+
"webhooks:rotate-secret": {
|
|
1239
1131
|
"aliases": [],
|
|
1240
|
-
"args": {
|
|
1241
|
-
|
|
1132
|
+
"args": {
|
|
1133
|
+
"id": {
|
|
1134
|
+
"description": "Webhook ID",
|
|
1135
|
+
"name": "id",
|
|
1136
|
+
"required": true
|
|
1137
|
+
}
|
|
1138
|
+
},
|
|
1139
|
+
"description": "Rotate webhook secret",
|
|
1242
1140
|
"examples": [
|
|
1243
|
-
"<%= config.bin %>
|
|
1244
|
-
"<%= config.bin %>
|
|
1245
|
-
"<%= config.bin %>
|
|
1246
|
-
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --json"
|
|
1141
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123",
|
|
1142
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123 --yes",
|
|
1143
|
+
"<%= config.bin %> webhooks rotate-secret whk_abc123 --json"
|
|
1247
1144
|
],
|
|
1248
1145
|
"flags": {
|
|
1249
1146
|
"json": {
|
|
@@ -1259,48 +1156,17 @@
|
|
|
1259
1156
|
"allowNo": false,
|
|
1260
1157
|
"type": "boolean"
|
|
1261
1158
|
},
|
|
1262
|
-
"
|
|
1263
|
-
"char": "
|
|
1264
|
-
"description": "
|
|
1265
|
-
"name": "
|
|
1266
|
-
"
|
|
1267
|
-
"
|
|
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"
|
|
1159
|
+
"yes": {
|
|
1160
|
+
"char": "y",
|
|
1161
|
+
"description": "Skip confirmation prompt",
|
|
1162
|
+
"name": "yes",
|
|
1163
|
+
"allowNo": false,
|
|
1164
|
+
"type": "boolean"
|
|
1299
1165
|
}
|
|
1300
1166
|
},
|
|
1301
1167
|
"hasDynamicHelp": false,
|
|
1302
1168
|
"hiddenAliases": [],
|
|
1303
|
-
"id": "
|
|
1169
|
+
"id": "webhooks:rotate-secret",
|
|
1304
1170
|
"pluginAlias": "@sendly/cli",
|
|
1305
1171
|
"pluginName": "@sendly/cli",
|
|
1306
1172
|
"pluginType": "core",
|
|
@@ -1309,18 +1175,23 @@
|
|
|
1309
1175
|
"relativePath": [
|
|
1310
1176
|
"dist",
|
|
1311
1177
|
"commands",
|
|
1312
|
-
"
|
|
1313
|
-
"
|
|
1178
|
+
"webhooks",
|
|
1179
|
+
"rotate-secret.js"
|
|
1314
1180
|
]
|
|
1315
1181
|
},
|
|
1316
|
-
"webhooks:
|
|
1182
|
+
"webhooks:test": {
|
|
1317
1183
|
"aliases": [],
|
|
1318
|
-
"args": {
|
|
1319
|
-
|
|
1184
|
+
"args": {
|
|
1185
|
+
"id": {
|
|
1186
|
+
"description": "Webhook ID to test",
|
|
1187
|
+
"name": "id",
|
|
1188
|
+
"required": true
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"description": "Send a test event to a webhook",
|
|
1320
1192
|
"examples": [
|
|
1321
|
-
"<%= config.bin %> webhooks
|
|
1322
|
-
"<%= config.bin %> webhooks
|
|
1323
|
-
"<%= config.bin %> webhooks create --url https://webhook.site/abc123 --events message.sent --json"
|
|
1193
|
+
"<%= config.bin %> webhooks test whk_abc123",
|
|
1194
|
+
"<%= config.bin %> webhooks test whk_abc123 --json"
|
|
1324
1195
|
],
|
|
1325
1196
|
"flags": {
|
|
1326
1197
|
"json": {
|
|
@@ -1335,51 +1206,11 @@
|
|
|
1335
1206
|
"name": "quiet",
|
|
1336
1207
|
"allowNo": false,
|
|
1337
1208
|
"type": "boolean"
|
|
1338
|
-
},
|
|
1339
|
-
"url": {
|
|
1340
|
-
"char": "u",
|
|
1341
|
-
"description": "Webhook URL (must be HTTPS)",
|
|
1342
|
-
"name": "url",
|
|
1343
|
-
"required": true,
|
|
1344
|
-
"hasDynamicHelp": false,
|
|
1345
|
-
"multiple": false,
|
|
1346
|
-
"type": "option"
|
|
1347
|
-
},
|
|
1348
|
-
"events": {
|
|
1349
|
-
"char": "e",
|
|
1350
|
-
"description": "Comma-separated list of events to listen for",
|
|
1351
|
-
"name": "events",
|
|
1352
|
-
"required": true,
|
|
1353
|
-
"hasDynamicHelp": false,
|
|
1354
|
-
"multiple": false,
|
|
1355
|
-
"type": "option"
|
|
1356
|
-
},
|
|
1357
|
-
"description": {
|
|
1358
|
-
"char": "d",
|
|
1359
|
-
"description": "Description for the webhook",
|
|
1360
|
-
"name": "description",
|
|
1361
|
-
"hasDynamicHelp": false,
|
|
1362
|
-
"multiple": false,
|
|
1363
|
-
"type": "option"
|
|
1364
|
-
},
|
|
1365
|
-
"mode": {
|
|
1366
|
-
"char": "m",
|
|
1367
|
-
"description": "Event mode filter: all (default), test (sandbox only), live (production only)",
|
|
1368
|
-
"name": "mode",
|
|
1369
|
-
"default": "all",
|
|
1370
|
-
"hasDynamicHelp": false,
|
|
1371
|
-
"multiple": false,
|
|
1372
|
-
"options": [
|
|
1373
|
-
"all",
|
|
1374
|
-
"test",
|
|
1375
|
-
"live"
|
|
1376
|
-
],
|
|
1377
|
-
"type": "option"
|
|
1378
1209
|
}
|
|
1379
1210
|
},
|
|
1380
1211
|
"hasDynamicHelp": false,
|
|
1381
1212
|
"hiddenAliases": [],
|
|
1382
|
-
"id": "webhooks:
|
|
1213
|
+
"id": "webhooks:test",
|
|
1383
1214
|
"pluginAlias": "@sendly/cli",
|
|
1384
1215
|
"pluginName": "@sendly/cli",
|
|
1385
1216
|
"pluginType": "core",
|
|
@@ -1389,23 +1220,25 @@
|
|
|
1389
1220
|
"dist",
|
|
1390
1221
|
"commands",
|
|
1391
1222
|
"webhooks",
|
|
1392
|
-
"
|
|
1223
|
+
"test.js"
|
|
1393
1224
|
]
|
|
1394
1225
|
},
|
|
1395
|
-
"webhooks:
|
|
1226
|
+
"webhooks:update": {
|
|
1396
1227
|
"aliases": [],
|
|
1397
1228
|
"args": {
|
|
1398
1229
|
"id": {
|
|
1399
|
-
"description": "Webhook ID to
|
|
1230
|
+
"description": "Webhook ID to update",
|
|
1400
1231
|
"name": "id",
|
|
1401
1232
|
"required": true
|
|
1402
1233
|
}
|
|
1403
1234
|
},
|
|
1404
|
-
"description": "
|
|
1235
|
+
"description": "Update a webhook",
|
|
1405
1236
|
"examples": [
|
|
1406
|
-
"<%= config.bin %> webhooks
|
|
1407
|
-
"<%= config.bin %> webhooks
|
|
1408
|
-
"<%= config.bin %> webhooks
|
|
1237
|
+
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook",
|
|
1238
|
+
"<%= config.bin %> webhooks update whk_abc123 --events message.delivered,message.failed",
|
|
1239
|
+
"<%= config.bin %> webhooks update whk_abc123 --description \"Updated production webhook\"",
|
|
1240
|
+
"<%= config.bin %> webhooks update whk_abc123 --active false",
|
|
1241
|
+
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook --events message.sent --json"
|
|
1409
1242
|
],
|
|
1410
1243
|
"flags": {
|
|
1411
1244
|
"json": {
|
|
@@ -1421,17 +1254,54 @@
|
|
|
1421
1254
|
"allowNo": false,
|
|
1422
1255
|
"type": "boolean"
|
|
1423
1256
|
},
|
|
1424
|
-
"
|
|
1425
|
-
"char": "
|
|
1426
|
-
"description": "
|
|
1427
|
-
"name": "
|
|
1428
|
-
"
|
|
1257
|
+
"url": {
|
|
1258
|
+
"char": "u",
|
|
1259
|
+
"description": "Update webhook URL (must be HTTPS)",
|
|
1260
|
+
"name": "url",
|
|
1261
|
+
"hasDynamicHelp": false,
|
|
1262
|
+
"multiple": false,
|
|
1263
|
+
"type": "option"
|
|
1264
|
+
},
|
|
1265
|
+
"events": {
|
|
1266
|
+
"char": "e",
|
|
1267
|
+
"description": "Update events list (comma-separated)",
|
|
1268
|
+
"name": "events",
|
|
1269
|
+
"hasDynamicHelp": false,
|
|
1270
|
+
"multiple": false,
|
|
1271
|
+
"type": "option"
|
|
1272
|
+
},
|
|
1273
|
+
"description": {
|
|
1274
|
+
"char": "d",
|
|
1275
|
+
"description": "Update description",
|
|
1276
|
+
"name": "description",
|
|
1277
|
+
"hasDynamicHelp": false,
|
|
1278
|
+
"multiple": false,
|
|
1279
|
+
"type": "option"
|
|
1280
|
+
},
|
|
1281
|
+
"active": {
|
|
1282
|
+
"char": "a",
|
|
1283
|
+
"description": "Enable or disable the webhook",
|
|
1284
|
+
"name": "active",
|
|
1285
|
+
"allowNo": true,
|
|
1429
1286
|
"type": "boolean"
|
|
1287
|
+
},
|
|
1288
|
+
"mode": {
|
|
1289
|
+
"char": "m",
|
|
1290
|
+
"description": "Update event mode filter: all, test (sandbox only), live (production only)",
|
|
1291
|
+
"name": "mode",
|
|
1292
|
+
"hasDynamicHelp": false,
|
|
1293
|
+
"multiple": false,
|
|
1294
|
+
"options": [
|
|
1295
|
+
"all",
|
|
1296
|
+
"test",
|
|
1297
|
+
"live"
|
|
1298
|
+
],
|
|
1299
|
+
"type": "option"
|
|
1430
1300
|
}
|
|
1431
1301
|
},
|
|
1432
1302
|
"hasDynamicHelp": false,
|
|
1433
1303
|
"hiddenAliases": [],
|
|
1434
|
-
"id": "webhooks:
|
|
1304
|
+
"id": "webhooks:update",
|
|
1435
1305
|
"pluginAlias": "@sendly/cli",
|
|
1436
1306
|
"pluginName": "@sendly/cli",
|
|
1437
1307
|
"pluginType": "core",
|
|
@@ -1441,24 +1311,21 @@
|
|
|
1441
1311
|
"dist",
|
|
1442
1312
|
"commands",
|
|
1443
1313
|
"webhooks",
|
|
1444
|
-
"
|
|
1314
|
+
"update.js"
|
|
1445
1315
|
]
|
|
1446
1316
|
},
|
|
1447
|
-
"
|
|
1317
|
+
"sms:batch": {
|
|
1448
1318
|
"aliases": [],
|
|
1449
|
-
"args": {
|
|
1450
|
-
|
|
1451
|
-
"description": "Webhook ID",
|
|
1452
|
-
"name": "id",
|
|
1453
|
-
"required": true
|
|
1454
|
-
}
|
|
1455
|
-
},
|
|
1456
|
-
"description": "View webhook delivery history",
|
|
1319
|
+
"args": {},
|
|
1320
|
+
"description": "Send batch SMS messages (uploads CSV to cloud for audit trail)",
|
|
1457
1321
|
"examples": [
|
|
1458
|
-
"<%= config.bin %>
|
|
1459
|
-
"<%= config.bin %>
|
|
1460
|
-
"<%= config.bin %>
|
|
1461
|
-
"<%= config.bin %>
|
|
1322
|
+
"<%= config.bin %> sms batch --file recipients.csv",
|
|
1323
|
+
"<%= config.bin %> sms batch --file phones.csv --text \"Hello everyone!\"",
|
|
1324
|
+
"<%= config.bin %> sms batch --to +15551234567,+15559876543 --text \"Hello!\"",
|
|
1325
|
+
"<%= config.bin %> sms batch --file recipients.csv --dry-run",
|
|
1326
|
+
"<%= config.bin %> sms batch --file phones.csv --text \"Code: 123\" --type transactional",
|
|
1327
|
+
"<%= config.bin %> sms batch --reuse abc123-def456",
|
|
1328
|
+
"<%= config.bin %> sms batch --history"
|
|
1462
1329
|
],
|
|
1463
1330
|
"flags": {
|
|
1464
1331
|
"json": {
|
|
@@ -1474,25 +1341,94 @@
|
|
|
1474
1341
|
"allowNo": false,
|
|
1475
1342
|
"type": "boolean"
|
|
1476
1343
|
},
|
|
1477
|
-
"
|
|
1478
|
-
"char": "
|
|
1479
|
-
"description": "
|
|
1480
|
-
"
|
|
1481
|
-
|
|
1344
|
+
"file": {
|
|
1345
|
+
"char": "F",
|
|
1346
|
+
"description": "CSV file with phone numbers (and optional message text)",
|
|
1347
|
+
"exclusive": [
|
|
1348
|
+
"to",
|
|
1349
|
+
"reuse",
|
|
1350
|
+
"history"
|
|
1351
|
+
],
|
|
1352
|
+
"name": "file",
|
|
1482
1353
|
"hasDynamicHelp": false,
|
|
1483
1354
|
"multiple": false,
|
|
1484
1355
|
"type": "option"
|
|
1485
1356
|
},
|
|
1486
|
-
"
|
|
1487
|
-
"
|
|
1488
|
-
"
|
|
1357
|
+
"to": {
|
|
1358
|
+
"char": "t",
|
|
1359
|
+
"description": "Comma-separated recipient phone numbers (E.164 format)",
|
|
1360
|
+
"exclusive": [
|
|
1361
|
+
"file",
|
|
1362
|
+
"reuse",
|
|
1363
|
+
"history"
|
|
1364
|
+
],
|
|
1365
|
+
"name": "to",
|
|
1366
|
+
"hasDynamicHelp": false,
|
|
1367
|
+
"multiple": false,
|
|
1368
|
+
"type": "option"
|
|
1369
|
+
},
|
|
1370
|
+
"text": {
|
|
1371
|
+
"char": "m",
|
|
1372
|
+
"description": "Message text (required with --to, optional with --file if CSV has text column)",
|
|
1373
|
+
"name": "text",
|
|
1374
|
+
"hasDynamicHelp": false,
|
|
1375
|
+
"multiple": false,
|
|
1376
|
+
"type": "option"
|
|
1377
|
+
},
|
|
1378
|
+
"from": {
|
|
1379
|
+
"char": "f",
|
|
1380
|
+
"description": "Sender ID or phone number for all messages",
|
|
1381
|
+
"name": "from",
|
|
1382
|
+
"hasDynamicHelp": false,
|
|
1383
|
+
"multiple": false,
|
|
1384
|
+
"type": "option"
|
|
1385
|
+
},
|
|
1386
|
+
"type": {
|
|
1387
|
+
"description": "Message type: marketing (default) or transactional. Transactional bypasses quiet hours.",
|
|
1388
|
+
"name": "type",
|
|
1389
|
+
"default": "marketing",
|
|
1390
|
+
"hasDynamicHelp": false,
|
|
1391
|
+
"multiple": false,
|
|
1392
|
+
"options": [
|
|
1393
|
+
"marketing",
|
|
1394
|
+
"transactional"
|
|
1395
|
+
],
|
|
1396
|
+
"type": "option"
|
|
1397
|
+
},
|
|
1398
|
+
"dry-run": {
|
|
1399
|
+
"char": "d",
|
|
1400
|
+
"description": "Preview batch without sending (validates access, shows cost and compliance breakdown)",
|
|
1401
|
+
"name": "dry-run",
|
|
1402
|
+
"allowNo": false,
|
|
1403
|
+
"type": "boolean"
|
|
1404
|
+
},
|
|
1405
|
+
"reuse": {
|
|
1406
|
+
"description": "Re-use a previous batch upload by ID (see --history)",
|
|
1407
|
+
"exclusive": [
|
|
1408
|
+
"file",
|
|
1409
|
+
"to",
|
|
1410
|
+
"history"
|
|
1411
|
+
],
|
|
1412
|
+
"name": "reuse",
|
|
1413
|
+
"hasDynamicHelp": false,
|
|
1414
|
+
"multiple": false,
|
|
1415
|
+
"type": "option"
|
|
1416
|
+
},
|
|
1417
|
+
"history": {
|
|
1418
|
+
"description": "Show recent batch upload history",
|
|
1419
|
+
"exclusive": [
|
|
1420
|
+
"file",
|
|
1421
|
+
"to",
|
|
1422
|
+
"reuse"
|
|
1423
|
+
],
|
|
1424
|
+
"name": "history",
|
|
1489
1425
|
"allowNo": false,
|
|
1490
1426
|
"type": "boolean"
|
|
1491
1427
|
}
|
|
1492
1428
|
},
|
|
1493
1429
|
"hasDynamicHelp": false,
|
|
1494
1430
|
"hiddenAliases": [],
|
|
1495
|
-
"id": "
|
|
1431
|
+
"id": "sms:batch",
|
|
1496
1432
|
"pluginAlias": "@sendly/cli",
|
|
1497
1433
|
"pluginName": "@sendly/cli",
|
|
1498
1434
|
"pluginType": "core",
|
|
@@ -1501,23 +1437,23 @@
|
|
|
1501
1437
|
"relativePath": [
|
|
1502
1438
|
"dist",
|
|
1503
1439
|
"commands",
|
|
1504
|
-
"
|
|
1505
|
-
"
|
|
1440
|
+
"sms",
|
|
1441
|
+
"batch.js"
|
|
1506
1442
|
]
|
|
1507
1443
|
},
|
|
1508
|
-
"
|
|
1444
|
+
"sms:cancel": {
|
|
1509
1445
|
"aliases": [],
|
|
1510
1446
|
"args": {
|
|
1511
1447
|
"id": {
|
|
1512
|
-
"description": "
|
|
1448
|
+
"description": "Scheduled message ID to cancel",
|
|
1513
1449
|
"name": "id",
|
|
1514
1450
|
"required": true
|
|
1515
1451
|
}
|
|
1516
1452
|
},
|
|
1517
|
-
"description": "
|
|
1453
|
+
"description": "Cancel a scheduled message",
|
|
1518
1454
|
"examples": [
|
|
1519
|
-
"<%= config.bin %>
|
|
1520
|
-
"<%= config.bin %>
|
|
1455
|
+
"<%= config.bin %> sms cancel sched_abc123",
|
|
1456
|
+
"<%= config.bin %> sms cancel sched_abc123 --json"
|
|
1521
1457
|
],
|
|
1522
1458
|
"flags": {
|
|
1523
1459
|
"json": {
|
|
@@ -1536,7 +1472,7 @@
|
|
|
1536
1472
|
},
|
|
1537
1473
|
"hasDynamicHelp": false,
|
|
1538
1474
|
"hiddenAliases": [],
|
|
1539
|
-
"id": "
|
|
1475
|
+
"id": "sms:cancel",
|
|
1540
1476
|
"pluginAlias": "@sendly/cli",
|
|
1541
1477
|
"pluginName": "@sendly/cli",
|
|
1542
1478
|
"pluginType": "core",
|
|
@@ -1545,17 +1481,23 @@
|
|
|
1545
1481
|
"relativePath": [
|
|
1546
1482
|
"dist",
|
|
1547
1483
|
"commands",
|
|
1548
|
-
"
|
|
1549
|
-
"
|
|
1484
|
+
"sms",
|
|
1485
|
+
"cancel.js"
|
|
1550
1486
|
]
|
|
1551
1487
|
},
|
|
1552
|
-
"
|
|
1488
|
+
"sms:get": {
|
|
1553
1489
|
"aliases": [],
|
|
1554
|
-
"args": {
|
|
1555
|
-
|
|
1490
|
+
"args": {
|
|
1491
|
+
"id": {
|
|
1492
|
+
"description": "Message ID",
|
|
1493
|
+
"name": "id",
|
|
1494
|
+
"required": true
|
|
1495
|
+
}
|
|
1496
|
+
},
|
|
1497
|
+
"description": "Get details of a specific message",
|
|
1556
1498
|
"examples": [
|
|
1557
|
-
"<%= config.bin %>
|
|
1558
|
-
"<%= config.bin %>
|
|
1499
|
+
"<%= config.bin %> sms get msg_abc123",
|
|
1500
|
+
"<%= config.bin %> sms get msg_abc123 --json"
|
|
1559
1501
|
],
|
|
1560
1502
|
"flags": {
|
|
1561
1503
|
"json": {
|
|
@@ -1574,7 +1516,7 @@
|
|
|
1574
1516
|
},
|
|
1575
1517
|
"hasDynamicHelp": false,
|
|
1576
1518
|
"hiddenAliases": [],
|
|
1577
|
-
"id": "
|
|
1519
|
+
"id": "sms:get",
|
|
1578
1520
|
"pluginAlias": "@sendly/cli",
|
|
1579
1521
|
"pluginName": "@sendly/cli",
|
|
1580
1522
|
"pluginType": "core",
|
|
@@ -1583,18 +1525,21 @@
|
|
|
1583
1525
|
"relativePath": [
|
|
1584
1526
|
"dist",
|
|
1585
1527
|
"commands",
|
|
1586
|
-
"
|
|
1587
|
-
"
|
|
1528
|
+
"sms",
|
|
1529
|
+
"get.js"
|
|
1588
1530
|
]
|
|
1589
1531
|
},
|
|
1590
|
-
"
|
|
1532
|
+
"sms:list": {
|
|
1591
1533
|
"aliases": [],
|
|
1592
1534
|
"args": {},
|
|
1593
|
-
"description": "
|
|
1535
|
+
"description": "List sent messages",
|
|
1594
1536
|
"examples": [
|
|
1595
|
-
"<%= config.bin %>
|
|
1596
|
-
"<%= config.bin %>
|
|
1597
|
-
"<%= config.bin %>
|
|
1537
|
+
"<%= config.bin %> sms list",
|
|
1538
|
+
"<%= config.bin %> sms list --limit 10",
|
|
1539
|
+
"<%= config.bin %> sms list --page 2",
|
|
1540
|
+
"<%= config.bin %> sms list --status delivered",
|
|
1541
|
+
"<%= config.bin %> sms list --sandbox",
|
|
1542
|
+
"<%= config.bin %> sms list --json"
|
|
1598
1543
|
],
|
|
1599
1544
|
"flags": {
|
|
1600
1545
|
"json": {
|
|
@@ -1610,28 +1555,48 @@
|
|
|
1610
1555
|
"allowNo": false,
|
|
1611
1556
|
"type": "boolean"
|
|
1612
1557
|
},
|
|
1613
|
-
"
|
|
1614
|
-
"char": "
|
|
1615
|
-
"description": "
|
|
1616
|
-
"name": "
|
|
1617
|
-
"default":
|
|
1558
|
+
"limit": {
|
|
1559
|
+
"char": "l",
|
|
1560
|
+
"description": "Number of messages per page",
|
|
1561
|
+
"name": "limit",
|
|
1562
|
+
"default": 20,
|
|
1618
1563
|
"hasDynamicHelp": false,
|
|
1619
1564
|
"multiple": false,
|
|
1620
1565
|
"type": "option"
|
|
1621
1566
|
},
|
|
1622
|
-
"
|
|
1623
|
-
"char": "
|
|
1624
|
-
"description": "
|
|
1625
|
-
"name": "
|
|
1626
|
-
"
|
|
1567
|
+
"page": {
|
|
1568
|
+
"char": "p",
|
|
1569
|
+
"description": "Page number (starts at 1)",
|
|
1570
|
+
"name": "page",
|
|
1571
|
+
"hasDynamicHelp": false,
|
|
1572
|
+
"multiple": false,
|
|
1573
|
+
"type": "option"
|
|
1574
|
+
},
|
|
1575
|
+
"offset": {
|
|
1576
|
+
"description": "Offset from start (alternative to --page)",
|
|
1577
|
+
"name": "offset",
|
|
1578
|
+
"hasDynamicHelp": false,
|
|
1579
|
+
"multiple": false,
|
|
1580
|
+
"type": "option"
|
|
1581
|
+
},
|
|
1582
|
+
"status": {
|
|
1583
|
+
"char": "s",
|
|
1584
|
+
"description": "Filter by status (queued, sent, delivered, failed)",
|
|
1585
|
+
"name": "status",
|
|
1627
1586
|
"hasDynamicHelp": false,
|
|
1628
1587
|
"multiple": false,
|
|
1629
1588
|
"type": "option"
|
|
1589
|
+
},
|
|
1590
|
+
"sandbox": {
|
|
1591
|
+
"description": "Show sandbox/test messages (live keys only)",
|
|
1592
|
+
"name": "sandbox",
|
|
1593
|
+
"allowNo": false,
|
|
1594
|
+
"type": "boolean"
|
|
1630
1595
|
}
|
|
1631
1596
|
},
|
|
1632
1597
|
"hasDynamicHelp": false,
|
|
1633
1598
|
"hiddenAliases": [],
|
|
1634
|
-
"id": "
|
|
1599
|
+
"id": "sms:list",
|
|
1635
1600
|
"pluginAlias": "@sendly/cli",
|
|
1636
1601
|
"pluginName": "@sendly/cli",
|
|
1637
1602
|
"pluginType": "core",
|
|
@@ -1640,24 +1605,19 @@
|
|
|
1640
1605
|
"relativePath": [
|
|
1641
1606
|
"dist",
|
|
1642
1607
|
"commands",
|
|
1643
|
-
"
|
|
1644
|
-
"
|
|
1608
|
+
"sms",
|
|
1609
|
+
"list.js"
|
|
1645
1610
|
]
|
|
1646
1611
|
},
|
|
1647
|
-
"
|
|
1612
|
+
"sms:schedule": {
|
|
1648
1613
|
"aliases": [],
|
|
1649
|
-
"args": {
|
|
1650
|
-
|
|
1651
|
-
"description": "Webhook ID",
|
|
1652
|
-
"name": "id",
|
|
1653
|
-
"required": true
|
|
1654
|
-
}
|
|
1655
|
-
},
|
|
1656
|
-
"description": "Rotate webhook secret",
|
|
1614
|
+
"args": {},
|
|
1615
|
+
"description": "Schedule an SMS message for future delivery",
|
|
1657
1616
|
"examples": [
|
|
1658
|
-
"<%= config.bin %>
|
|
1659
|
-
"<%= config.bin %>
|
|
1660
|
-
"<%= config.bin %>
|
|
1617
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Reminder!\" --at \"2025-01-20T10:00:00Z\"",
|
|
1618
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Meeting in 1 hour\" --at \"2025-01-15T14:00:00Z\" --from \"Sendly\"",
|
|
1619
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Your code: 123456\" --at \"2025-01-20T10:00:00Z\" --type transactional",
|
|
1620
|
+
"<%= config.bin %> sms schedule --to +15551234567 --text \"Hello!\" --at \"2025-01-20T10:00:00Z\" --json"
|
|
1661
1621
|
],
|
|
1662
1622
|
"flags": {
|
|
1663
1623
|
"json": {
|
|
@@ -1673,17 +1633,57 @@
|
|
|
1673
1633
|
"allowNo": false,
|
|
1674
1634
|
"type": "boolean"
|
|
1675
1635
|
},
|
|
1676
|
-
"
|
|
1677
|
-
"char": "
|
|
1678
|
-
"description": "
|
|
1679
|
-
"name": "
|
|
1680
|
-
"
|
|
1681
|
-
"
|
|
1636
|
+
"to": {
|
|
1637
|
+
"char": "t",
|
|
1638
|
+
"description": "Recipient phone number (E.164 format)",
|
|
1639
|
+
"name": "to",
|
|
1640
|
+
"required": true,
|
|
1641
|
+
"hasDynamicHelp": false,
|
|
1642
|
+
"multiple": false,
|
|
1643
|
+
"type": "option"
|
|
1644
|
+
},
|
|
1645
|
+
"text": {
|
|
1646
|
+
"char": "m",
|
|
1647
|
+
"description": "Message text",
|
|
1648
|
+
"name": "text",
|
|
1649
|
+
"required": true,
|
|
1650
|
+
"hasDynamicHelp": false,
|
|
1651
|
+
"multiple": false,
|
|
1652
|
+
"type": "option"
|
|
1653
|
+
},
|
|
1654
|
+
"at": {
|
|
1655
|
+
"char": "a",
|
|
1656
|
+
"description": "Scheduled time (ISO 8601 format, e.g., 2025-01-20T10:00:00Z)",
|
|
1657
|
+
"name": "at",
|
|
1658
|
+
"required": true,
|
|
1659
|
+
"hasDynamicHelp": false,
|
|
1660
|
+
"multiple": false,
|
|
1661
|
+
"type": "option"
|
|
1662
|
+
},
|
|
1663
|
+
"from": {
|
|
1664
|
+
"char": "f",
|
|
1665
|
+
"description": "Sender ID or phone number",
|
|
1666
|
+
"name": "from",
|
|
1667
|
+
"hasDynamicHelp": false,
|
|
1668
|
+
"multiple": false,
|
|
1669
|
+
"type": "option"
|
|
1670
|
+
},
|
|
1671
|
+
"type": {
|
|
1672
|
+
"description": "Message type: marketing (default) or transactional. Transactional messages bypass quiet hours.",
|
|
1673
|
+
"name": "type",
|
|
1674
|
+
"default": "marketing",
|
|
1675
|
+
"hasDynamicHelp": false,
|
|
1676
|
+
"multiple": false,
|
|
1677
|
+
"options": [
|
|
1678
|
+
"marketing",
|
|
1679
|
+
"transactional"
|
|
1680
|
+
],
|
|
1681
|
+
"type": "option"
|
|
1682
1682
|
}
|
|
1683
1683
|
},
|
|
1684
1684
|
"hasDynamicHelp": false,
|
|
1685
1685
|
"hiddenAliases": [],
|
|
1686
|
-
"id": "
|
|
1686
|
+
"id": "sms:schedule",
|
|
1687
1687
|
"pluginAlias": "@sendly/cli",
|
|
1688
1688
|
"pluginName": "@sendly/cli",
|
|
1689
1689
|
"pluginType": "core",
|
|
@@ -1692,23 +1692,19 @@
|
|
|
1692
1692
|
"relativePath": [
|
|
1693
1693
|
"dist",
|
|
1694
1694
|
"commands",
|
|
1695
|
-
"
|
|
1696
|
-
"
|
|
1695
|
+
"sms",
|
|
1696
|
+
"schedule.js"
|
|
1697
1697
|
]
|
|
1698
1698
|
},
|
|
1699
|
-
"
|
|
1699
|
+
"sms:scheduled": {
|
|
1700
1700
|
"aliases": [],
|
|
1701
|
-
"args": {
|
|
1702
|
-
|
|
1703
|
-
"description": "Webhook ID to test",
|
|
1704
|
-
"name": "id",
|
|
1705
|
-
"required": true
|
|
1706
|
-
}
|
|
1707
|
-
},
|
|
1708
|
-
"description": "Send a test event to a webhook",
|
|
1701
|
+
"args": {},
|
|
1702
|
+
"description": "List scheduled messages",
|
|
1709
1703
|
"examples": [
|
|
1710
|
-
"<%= config.bin %>
|
|
1711
|
-
"<%= config.bin %>
|
|
1704
|
+
"<%= config.bin %> sms scheduled",
|
|
1705
|
+
"<%= config.bin %> sms scheduled --limit 10",
|
|
1706
|
+
"<%= config.bin %> sms scheduled --status scheduled",
|
|
1707
|
+
"<%= config.bin %> sms scheduled --json"
|
|
1712
1708
|
],
|
|
1713
1709
|
"flags": {
|
|
1714
1710
|
"json": {
|
|
@@ -1723,11 +1719,28 @@
|
|
|
1723
1719
|
"name": "quiet",
|
|
1724
1720
|
"allowNo": false,
|
|
1725
1721
|
"type": "boolean"
|
|
1722
|
+
},
|
|
1723
|
+
"limit": {
|
|
1724
|
+
"char": "l",
|
|
1725
|
+
"description": "Number of messages to show",
|
|
1726
|
+
"name": "limit",
|
|
1727
|
+
"default": 20,
|
|
1728
|
+
"hasDynamicHelp": false,
|
|
1729
|
+
"multiple": false,
|
|
1730
|
+
"type": "option"
|
|
1731
|
+
},
|
|
1732
|
+
"status": {
|
|
1733
|
+
"char": "s",
|
|
1734
|
+
"description": "Filter by status (scheduled, sent, cancelled, failed)",
|
|
1735
|
+
"name": "status",
|
|
1736
|
+
"hasDynamicHelp": false,
|
|
1737
|
+
"multiple": false,
|
|
1738
|
+
"type": "option"
|
|
1726
1739
|
}
|
|
1727
1740
|
},
|
|
1728
1741
|
"hasDynamicHelp": false,
|
|
1729
1742
|
"hiddenAliases": [],
|
|
1730
|
-
"id": "
|
|
1743
|
+
"id": "sms:scheduled",
|
|
1731
1744
|
"pluginAlias": "@sendly/cli",
|
|
1732
1745
|
"pluginName": "@sendly/cli",
|
|
1733
1746
|
"pluginType": "core",
|
|
@@ -1736,26 +1749,19 @@
|
|
|
1736
1749
|
"relativePath": [
|
|
1737
1750
|
"dist",
|
|
1738
1751
|
"commands",
|
|
1739
|
-
"
|
|
1740
|
-
"
|
|
1752
|
+
"sms",
|
|
1753
|
+
"scheduled.js"
|
|
1741
1754
|
]
|
|
1742
1755
|
},
|
|
1743
|
-
"
|
|
1756
|
+
"sms:send": {
|
|
1744
1757
|
"aliases": [],
|
|
1745
|
-
"args": {
|
|
1746
|
-
|
|
1747
|
-
"description": "Webhook ID to update",
|
|
1748
|
-
"name": "id",
|
|
1749
|
-
"required": true
|
|
1750
|
-
}
|
|
1751
|
-
},
|
|
1752
|
-
"description": "Update a webhook",
|
|
1758
|
+
"args": {},
|
|
1759
|
+
"description": "Send an SMS message",
|
|
1753
1760
|
"examples": [
|
|
1754
|
-
"<%= config.bin %>
|
|
1755
|
-
"<%= config.bin %>
|
|
1756
|
-
"<%= config.bin %>
|
|
1757
|
-
"<%= config.bin %>
|
|
1758
|
-
"<%= config.bin %> webhooks update whk_abc123 --url https://newdomain.com/webhook --events message.sent --json"
|
|
1761
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\"",
|
|
1762
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --from \"Sendly\"",
|
|
1763
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --type transactional",
|
|
1764
|
+
"<%= config.bin %> sms send --to +15551234567 --text \"Hello!\" --json"
|
|
1759
1765
|
],
|
|
1760
1766
|
"flags": {
|
|
1761
1767
|
"json": {
|
|
@@ -1771,54 +1777,48 @@
|
|
|
1771
1777
|
"allowNo": false,
|
|
1772
1778
|
"type": "boolean"
|
|
1773
1779
|
},
|
|
1774
|
-
"
|
|
1775
|
-
"char": "
|
|
1776
|
-
"description": "
|
|
1777
|
-
"name": "
|
|
1780
|
+
"to": {
|
|
1781
|
+
"char": "t",
|
|
1782
|
+
"description": "Recipient phone number (E.164 format)",
|
|
1783
|
+
"name": "to",
|
|
1784
|
+
"required": true,
|
|
1778
1785
|
"hasDynamicHelp": false,
|
|
1779
1786
|
"multiple": false,
|
|
1780
1787
|
"type": "option"
|
|
1781
1788
|
},
|
|
1782
|
-
"
|
|
1783
|
-
"char": "
|
|
1784
|
-
"description": "
|
|
1785
|
-
"name": "
|
|
1789
|
+
"text": {
|
|
1790
|
+
"char": "m",
|
|
1791
|
+
"description": "Message text",
|
|
1792
|
+
"name": "text",
|
|
1793
|
+
"required": true,
|
|
1786
1794
|
"hasDynamicHelp": false,
|
|
1787
1795
|
"multiple": false,
|
|
1788
1796
|
"type": "option"
|
|
1789
1797
|
},
|
|
1790
|
-
"
|
|
1791
|
-
"char": "
|
|
1792
|
-
"description": "
|
|
1793
|
-
"name": "
|
|
1798
|
+
"from": {
|
|
1799
|
+
"char": "f",
|
|
1800
|
+
"description": "Sender ID or phone number",
|
|
1801
|
+
"name": "from",
|
|
1794
1802
|
"hasDynamicHelp": false,
|
|
1795
1803
|
"multiple": false,
|
|
1796
1804
|
"type": "option"
|
|
1797
1805
|
},
|
|
1798
|
-
"
|
|
1799
|
-
"
|
|
1800
|
-
"
|
|
1801
|
-
"
|
|
1802
|
-
"allowNo": true,
|
|
1803
|
-
"type": "boolean"
|
|
1804
|
-
},
|
|
1805
|
-
"mode": {
|
|
1806
|
-
"char": "m",
|
|
1807
|
-
"description": "Update event mode filter: all, test (sandbox only), live (production only)",
|
|
1808
|
-
"name": "mode",
|
|
1806
|
+
"type": {
|
|
1807
|
+
"description": "Message type: marketing (default) or transactional",
|
|
1808
|
+
"name": "type",
|
|
1809
|
+
"default": "marketing",
|
|
1809
1810
|
"hasDynamicHelp": false,
|
|
1810
1811
|
"multiple": false,
|
|
1811
1812
|
"options": [
|
|
1812
|
-
"
|
|
1813
|
-
"
|
|
1814
|
-
"live"
|
|
1813
|
+
"marketing",
|
|
1814
|
+
"transactional"
|
|
1815
1815
|
],
|
|
1816
1816
|
"type": "option"
|
|
1817
1817
|
}
|
|
1818
1818
|
},
|
|
1819
1819
|
"hasDynamicHelp": false,
|
|
1820
1820
|
"hiddenAliases": [],
|
|
1821
|
-
"id": "
|
|
1821
|
+
"id": "sms:send",
|
|
1822
1822
|
"pluginAlias": "@sendly/cli",
|
|
1823
1823
|
"pluginName": "@sendly/cli",
|
|
1824
1824
|
"pluginType": "core",
|
|
@@ -1827,10 +1827,10 @@
|
|
|
1827
1827
|
"relativePath": [
|
|
1828
1828
|
"dist",
|
|
1829
1829
|
"commands",
|
|
1830
|
-
"
|
|
1831
|
-
"
|
|
1830
|
+
"sms",
|
|
1831
|
+
"send.js"
|
|
1832
1832
|
]
|
|
1833
1833
|
}
|
|
1834
1834
|
},
|
|
1835
|
-
"version": "3.6.
|
|
1835
|
+
"version": "3.6.1"
|
|
1836
1836
|
}
|