connectwise-rest 0.23.3 → 1.0.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/.eslintrc +19 -52
- package/.gitattributes +1 -0
- package/.github/workflows/codeql-analysis.yml +70 -0
- package/.github/workflows/node.js.yml +42 -0
- package/.mocharc.json +5 -0
- package/.prettierrc +7 -0
- package/.travis.yml +4 -2
- package/README.md +243 -230
- package/api-extractor.json +364 -0
- package/dist/Automate/AVTemplatePoliciesAPI.d.ts +27 -0
- package/dist/Automate/AVTemplatePoliciesAPI.d.ts.map +1 -0
- package/dist/Automate/AVTemplatePoliciesAPI.js +87 -0
- package/dist/Automate/AVTemplatePoliciesAPI.js.map +1 -0
- package/dist/Automate/ClientsAPI.d.ts +34 -0
- package/dist/Automate/ClientsAPI.d.ts.map +1 -0
- package/dist/Automate/ClientsAPI.js +114 -0
- package/dist/Automate/ClientsAPI.js.map +1 -0
- package/dist/Automate/CommandsAPI.d.ts +15 -0
- package/dist/Automate/CommandsAPI.d.ts.map +1 -0
- package/dist/Automate/CommandsAPI.js +31 -0
- package/dist/Automate/CommandsAPI.js.map +1 -0
- package/dist/Automate/ComputersAPI.d.ts +94 -0
- package/dist/Automate/ComputersAPI.d.ts.map +1 -0
- package/dist/Automate/ComputersAPI.js +353 -0
- package/dist/Automate/ComputersAPI.js.map +1 -0
- package/dist/Automate/ContactsAPI.d.ts +18 -0
- package/dist/Automate/ContactsAPI.d.ts.map +1 -0
- package/dist/Automate/ContactsAPI.js +45 -0
- package/dist/Automate/ContactsAPI.js.map +1 -0
- package/dist/Automate/DataViewsAPI.d.ts +16 -0
- package/dist/Automate/DataViewsAPI.d.ts.map +1 -0
- package/dist/Automate/DataViewsAPI.js +31 -0
- package/dist/Automate/DataViewsAPI.js.map +1 -0
- package/dist/Automate/DrivesAPI.d.ts +19 -0
- package/dist/Automate/DrivesAPI.d.ts.map +1 -0
- package/dist/Automate/DrivesAPI.js +52 -0
- package/dist/Automate/DrivesAPI.js.map +1 -0
- package/dist/Automate/EventLogsAPI.d.ts +14 -0
- package/dist/Automate/EventLogsAPI.d.ts.map +1 -0
- package/dist/Automate/EventLogsAPI.js +24 -0
- package/dist/Automate/EventLogsAPI.js.map +1 -0
- package/dist/Automate/LocationsAPI.d.ts +42 -0
- package/dist/Automate/LocationsAPI.d.ts.map +1 -0
- package/dist/Automate/LocationsAPI.js +133 -0
- package/dist/Automate/LocationsAPI.js.map +1 -0
- package/dist/Automate/MaintenanceWindowDefinitionsAPI.d.ts +14 -0
- package/dist/Automate/MaintenanceWindowDefinitionsAPI.d.ts.map +1 -0
- package/dist/Automate/MaintenanceWindowDefinitionsAPI.js +24 -0
- package/dist/Automate/MaintenanceWindowDefinitionsAPI.js.map +1 -0
- package/dist/Automate/MonitorsAPI.d.ts +23 -0
- package/dist/Automate/MonitorsAPI.d.ts.map +1 -0
- package/dist/Automate/MonitorsAPI.js +80 -0
- package/dist/Automate/MonitorsAPI.js.map +1 -0
- package/dist/Automate/NetworkDevicesAPI.d.ts +17 -0
- package/dist/Automate/NetworkDevicesAPI.d.ts.map +1 -0
- package/dist/Automate/NetworkDevicesAPI.js +38 -0
- package/dist/Automate/NetworkDevicesAPI.js.map +1 -0
- package/dist/Automate/PatchingAPI.d.ts +27 -0
- package/dist/Automate/PatchingAPI.d.ts.map +1 -0
- package/dist/Automate/PatchingAPI.js +94 -0
- package/dist/Automate/PatchingAPI.js.map +1 -0
- package/dist/Automate/RemoteAgentAPI.d.ts +18 -0
- package/dist/Automate/RemoteAgentAPI.d.ts.map +1 -0
- package/dist/Automate/RemoteAgentAPI.js +45 -0
- package/dist/Automate/RemoteAgentAPI.js.map +1 -0
- package/dist/Automate/ScriptingAPI.d.ts +32 -0
- package/dist/Automate/ScriptingAPI.d.ts.map +1 -0
- package/dist/Automate/ScriptingAPI.js +104 -0
- package/dist/Automate/ScriptingAPI.js.map +1 -0
- package/dist/Automate/SearchesAPI.d.ts +17 -0
- package/dist/Automate/SearchesAPI.d.ts.map +1 -0
- package/dist/Automate/SearchesAPI.js +38 -0
- package/dist/Automate/SearchesAPI.js.map +1 -0
- package/dist/Automate/SystemAPI.d.ts +72 -0
- package/dist/Automate/SystemAPI.d.ts.map +1 -0
- package/dist/Automate/SystemAPI.js +268 -0
- package/dist/Automate/SystemAPI.js.map +1 -0
- package/dist/Automate/TicketsAPI.d.ts +10 -0
- package/dist/Automate/TicketsAPI.d.ts.map +1 -0
- package/dist/Automate/TicketsAPI.js +24 -0
- package/dist/Automate/TicketsAPI.js.map +1 -0
- package/dist/Automate/UserProfilesAPI.d.ts +14 -0
- package/dist/Automate/UserProfilesAPI.d.ts.map +1 -0
- package/dist/Automate/UserProfilesAPI.js +23 -0
- package/dist/Automate/UserProfilesAPI.js.map +1 -0
- package/dist/Automate.d.ts +48 -0
- package/dist/Automate.d.ts.map +1 -0
- package/dist/Automate.js +167 -0
- package/dist/Automate.js.map +1 -0
- package/dist/AutomateAPI.d.ts +96 -0
- package/dist/AutomateAPI.d.ts.map +1 -0
- package/dist/AutomateAPI.js +168 -0
- package/dist/AutomateAPI.js.map +1 -0
- package/dist/AutomateTypes.d.ts +10437 -0
- package/dist/AutomateTypes.d.ts.map +1 -0
- package/dist/AutomateTypes.js +3 -0
- package/dist/AutomateTypes.js.map +1 -0
- package/dist/BaseAPI.d.ts +13 -0
- package/dist/BaseAPI.d.ts.map +1 -0
- package/dist/BaseAPI.js +53 -0
- package/dist/BaseAPI.js.map +1 -0
- package/dist/Manage/CompanyAPI.d.ts +573 -0
- package/dist/Manage/CompanyAPI.d.ts.map +1 -0
- package/dist/Manage/CompanyAPI.js +3294 -0
- package/dist/Manage/CompanyAPI.js.map +1 -0
- package/dist/Manage/ConfigurationsAPI.d.ts +24 -0
- package/dist/Manage/ConfigurationsAPI.d.ts.map +1 -0
- package/dist/Manage/ConfigurationsAPI.js +73 -0
- package/dist/Manage/ConfigurationsAPI.js.map +1 -0
- package/dist/Manage/ExpenseAPI.d.ts +68 -0
- package/dist/Manage/ExpenseAPI.d.ts.map +1 -0
- package/dist/Manage/ExpenseAPI.js +306 -0
- package/dist/Manage/ExpenseAPI.js.map +1 -0
- package/dist/Manage/FinanceAPI.d.ts +460 -0
- package/dist/Manage/FinanceAPI.d.ts.map +1 -0
- package/dist/Manage/FinanceAPI.js +2587 -0
- package/dist/Manage/FinanceAPI.js.map +1 -0
- package/dist/Manage/MarketingAPI.d.ts +120 -0
- package/dist/Manage/MarketingAPI.d.ts.map +1 -0
- package/dist/Manage/MarketingAPI.js +629 -0
- package/dist/Manage/MarketingAPI.js.map +1 -0
- package/dist/Manage/ProcurementAPI.d.ts +373 -0
- package/dist/Manage/ProcurementAPI.d.ts.map +1 -0
- package/dist/Manage/ProcurementAPI.js +2098 -0
- package/dist/Manage/ProcurementAPI.js.map +1 -0
- package/dist/Manage/ProjectAPI.d.ts +179 -0
- package/dist/Manage/ProjectAPI.d.ts.map +1 -0
- package/dist/Manage/ProjectAPI.js +940 -0
- package/dist/Manage/ProjectAPI.js.map +1 -0
- package/dist/Manage/SalesAPI.d.ts +254 -0
- package/dist/Manage/SalesAPI.d.ts.map +1 -0
- package/dist/Manage/SalesAPI.js +1392 -0
- package/dist/Manage/SalesAPI.js.map +1 -0
- package/dist/Manage/ScheduleAPI.d.ts +111 -0
- package/dist/Manage/ScheduleAPI.d.ts.map +1 -0
- package/dist/Manage/ScheduleAPI.js +575 -0
- package/dist/Manage/ScheduleAPI.js.map +1 -0
- package/dist/Manage/ServiceAPI.d.ts +419 -0
- package/dist/Manage/ServiceAPI.d.ts.map +1 -0
- package/dist/Manage/ServiceAPI.js +2334 -0
- package/dist/Manage/ServiceAPI.js.map +1 -0
- package/dist/Manage/SystemAPI.d.ts +809 -0
- package/dist/Manage/SystemAPI.d.ts.map +1 -0
- package/dist/Manage/SystemAPI.js +4531 -0
- package/dist/Manage/SystemAPI.js.map +1 -0
- package/dist/Manage/TimeAPI.d.ts +157 -0
- package/dist/Manage/TimeAPI.d.ts.map +1 -0
- package/dist/Manage/TimeAPI.js +835 -0
- package/dist/Manage/TimeAPI.js.map +1 -0
- package/dist/Manage.d.ts +34 -0
- package/dist/Manage.d.ts.map +1 -0
- package/dist/Manage.js +127 -0
- package/dist/Manage.js.map +1 -0
- package/dist/ManageAPI.d.ts +99 -0
- package/dist/ManageAPI.d.ts.map +1 -0
- package/dist/ManageAPI.js +112 -0
- package/dist/ManageAPI.js.map +1 -0
- package/dist/ManageTypes.d.ts +91320 -0
- package/dist/ManageTypes.d.ts.map +1 -0
- package/dist/ManageTypes.js +7 -0
- package/dist/ManageTypes.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +46 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/Callback.d.ts +67 -0
- package/dist/utils/Callback.d.ts.map +1 -0
- package/dist/utils/Callback.js +109 -0
- package/dist/utils/Callback.js.map +1 -0
- package/dist/utils/Series.d.ts +36 -0
- package/dist/utils/Series.d.ts.map +1 -0
- package/dist/utils/Series.js +64 -0
- package/dist/utils/Series.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +11 -0
- package/dist/utils/index.js.map +1 -0
- package/generator/automate-generator.js +75 -0
- package/generator/automate-json.js +61 -0
- package/generator/automate-types.js +15 -0
- package/generator/generator.d.ts +67 -0
- package/generator/generator.js +255 -0
- package/generator/manage-generator.js +71 -0
- package/generator/manage-types.js +14 -0
- package/package.json +48 -21
- package/src/Automate/AVTemplatePoliciesAPI.ts +114 -0
- package/src/Automate/ClientsAPI.ts +161 -0
- package/src/Automate/CommandsAPI.ts +33 -0
- package/src/Automate/ComputersAPI.ts +550 -0
- package/src/Automate/ContactsAPI.ts +56 -0
- package/src/Automate/DataViewsAPI.ts +36 -0
- package/src/Automate/DrivesAPI.ts +74 -0
- package/src/Automate/EventLogsAPI.ts +25 -0
- package/src/Automate/LocationsAPI.ts +206 -0
- package/src/Automate/MaintenanceWindowDefinitionsAPI.ts +28 -0
- package/src/Automate/MonitorsAPI.ts +94 -0
- package/src/Automate/NetworkDevicesAPI.ts +44 -0
- package/src/Automate/PatchingAPI.ts +109 -0
- package/src/Automate/RemoteAgentAPI.ts +58 -0
- package/src/Automate/ScriptingAPI.ts +137 -0
- package/src/Automate/SearchesAPI.ts +42 -0
- package/src/Automate/SystemAPI.ts +386 -0
- package/src/Automate/TicketsAPI.ts +24 -0
- package/src/Automate/UserProfilesAPI.ts +25 -0
- package/src/Automate.ts +216 -0
- package/src/AutomateAPI.ts +144 -0
- package/src/AutomateTypes.ts +10492 -0
- package/src/BaseAPI.ts +83 -0
- package/src/Manage/CompanyAPI.ts +4851 -0
- package/src/Manage/ConfigurationsAPI.ts +107 -0
- package/src/Manage/ExpenseAPI.ts +395 -0
- package/src/Manage/FinanceAPI.ts +3851 -0
- package/src/Manage/MarketingAPI.ts +935 -0
- package/src/Manage/ProcurementAPI.ts +3044 -0
- package/src/Manage/ProjectAPI.ts +1400 -0
- package/src/Manage/SalesAPI.ts +1922 -0
- package/src/Manage/ScheduleAPI.ts +751 -0
- package/src/Manage/ServiceAPI.ts +3401 -0
- package/src/Manage/SystemAPI.ts +6269 -0
- package/src/Manage/TimeAPI.ts +1121 -0
- package/src/Manage.ts +152 -0
- package/src/ManageAPI.ts +133 -0
- package/src/ManageTypes.ts +91318 -0
- package/src/index.ts +18 -0
- package/src/types.ts +66 -0
- package/src/utils/Callback.ts +145 -0
- package/src/utils/Series.ts +83 -0
- package/src/utils/index.ts +7 -0
- package/swagger-errors.md +30 -0
- package/test/.env.example +12 -4
- package/test/test-utils.ts +27 -0
- package/test/test.ts +320 -0
- package/tsconfig.json +29 -0
- package/doc.md +0 -5984
- package/docs/jsdoc.json +0 -15
- package/index.js +0 -10
- package/src/CompanyAPI/Companies.js +0 -149
- package/src/CompanyAPI/CompanyCompanyTypeAssociations.js +0 -111
- package/src/CompanyAPI/CompanySites.js +0 -70
- package/src/CompanyAPI/CompanyTeams.js +0 -108
- package/src/CompanyAPI/CompanyTypeInfos.js +0 -58
- package/src/CompanyAPI/CompanyTypes.js +0 -52
- package/src/CompanyAPI/Configurations.js +0 -152
- package/src/CompanyAPI/ContactContactTypeAssociations.js +0 -55
- package/src/CompanyAPI/ContactRelationships.js +0 -36
- package/src/CompanyAPI/Contacts.js +0 -199
- package/src/CompanyAPI/index.js +0 -53
- package/src/ConnectWise.js +0 -339
- package/src/ConnectWiseRest.js +0 -512
- package/src/FinanceAPI/Additions.js +0 -127
- package/src/FinanceAPI/Adjustments.js +0 -109
- package/src/FinanceAPI/AgreementSites.js +0 -108
- package/src/FinanceAPI/Agreements.js +0 -220
- package/src/FinanceAPI/BoardDefaults.js +0 -109
- package/src/FinanceAPI/WorkRoles.js +0 -113
- package/src/FinanceAPI/WorkTypeExclusions.js +0 -78
- package/src/FinanceAPI/WorkTypes.js +0 -124
- package/src/FinanceAPI/index.js +0 -50
- package/src/ProjectAPI/Projects.js +0 -142
- package/src/ProjectAPI/index.js +0 -28
- package/src/SalesAPI/Activities.js +0 -149
- package/src/SalesAPI/index.js +0 -14
- package/src/ScheduleAPI/ScheduleEntries.js +0 -109
- package/src/ScheduleAPI/ScheduleTypes.js +0 -101
- package/src/ScheduleAPI/index.js +0 -30
- package/src/ServiceDeskAPI/BoardItems.js +0 -134
- package/src/ServiceDeskAPI/BoardSubTypes.js +0 -112
- package/src/ServiceDeskAPI/BoardTeams.js +0 -108
- package/src/ServiceDeskAPI/BoardTypes.js +0 -139
- package/src/ServiceDeskAPI/Boards.js +0 -100
- package/src/ServiceDeskAPI/Priorities.js +0 -47
- package/src/ServiceDeskAPI/ServiceNotes.js +0 -172
- package/src/ServiceDeskAPI/Statuses.js +0 -116
- package/src/ServiceDeskAPI/Tickets.js +0 -588
- package/src/ServiceDeskAPI/index.js +0 -53
- package/src/SystemAPI/Members.js +0 -139
- package/src/SystemAPI/Reports.js +0 -116
- package/src/SystemAPI/index.js +0 -32
- package/src/TimeAPI/TimeEntries.js +0 -121
- package/src/TimeAPI/index.js +0 -27
- package/src/utils/Callback.js +0 -125
- package/src/utils/Series.js +0 -64
- package/src/utils/index.js +0 -21
- package/test/test.js +0 -114
package/README.md
CHANGED
|
@@ -1,230 +1,243 @@
|
|
|
1
|
-
# connectwise-rest
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/connectwise-rest) [](https://www.npmjs.com/package/connectwise-rest) [](https://travis-ci.org/covenanttechnologysolutions/connectwise-rest)
|
|
4
|
-
|
|
5
|
-
A
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
|
138
|
-
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
1
|
+
# connectwise-rest
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/connectwise-rest) [](https://www.npmjs.com/package/connectwise-rest) [](https://travis-ci.org/covenanttechnologysolutions/connectwise-rest)
|
|
4
|
+
|
|
5
|
+
A Node.JS TypeScript module for interacting with the ConnectWise Manage and Automate REST APIs. This module provides bindings for ease of development against the ConnectWise REST APIs.
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
### Manage
|
|
10
|
+
|
|
11
|
+
- ConnectWise Manage 2018.1+, though these functions are written for ConnectWise Manage 2021.1 APIs.
|
|
12
|
+
- ConnectWise Manage API keys (available on ConnectWise 2015.3+), or API Only Member keys (only available on ConnectWise 2015.6+). See the [documentation](https://developer.connectwise.com/Authentication) for more details.
|
|
13
|
+
### Automate
|
|
14
|
+
|
|
15
|
+
- ConnectWise Automate 2020+
|
|
16
|
+
- ConnectWise Automate integrator login, your own generated token, or user account with 2FA.
|
|
17
|
+
|
|
18
|
+
## Documentation
|
|
19
|
+
|
|
20
|
+
See the full documentation [here](https://covenanttechnologysolutions.github.io/connectwise-rest/index.html)
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
### Manage
|
|
25
|
+
|
|
26
|
+
```javascript
|
|
27
|
+
// ESM
|
|
28
|
+
import { AutomateAPI } from 'connectwise-rest';
|
|
29
|
+
// CommonJS
|
|
30
|
+
const { AutomateAPI } = require('connectwise-rest');
|
|
31
|
+
|
|
32
|
+
const cwm = new ManageAPI({
|
|
33
|
+
companyId: 'company',
|
|
34
|
+
companyUrl: 'your.connectwise.com',
|
|
35
|
+
publicKey: '<public key>',
|
|
36
|
+
privateKey: '<private key>',
|
|
37
|
+
clientId: '<your client id>',
|
|
38
|
+
entryPoint: 'v4_6_release', // optional, defaults to 'v4_6_release'
|
|
39
|
+
apiVersion: '3.0.0', // optional, defaults to '3.0.0'
|
|
40
|
+
timeout: 20000, // optional, request connection timeout in ms, defaults to 20000
|
|
41
|
+
retry: false, // optional, defaults to false
|
|
42
|
+
retryOptions: { // optional, override retry behavior, defaults as shown
|
|
43
|
+
retries: 4, // maximum number of retries
|
|
44
|
+
minTimeout: 50, // number of ms to wait between retries
|
|
45
|
+
maxTimeout: 20000, // maximum number of ms between retries
|
|
46
|
+
randomize: true, // randomize timeouts
|
|
47
|
+
},
|
|
48
|
+
debug: false, // optional, enable debug logging
|
|
49
|
+
logger: (level, text, meta) => { } // optional, pass in logging function
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
cwm.ServiceDeskAPI.Tickets.getTicketById(1234)
|
|
53
|
+
.then((ticket) => {
|
|
54
|
+
//do something with results
|
|
55
|
+
})
|
|
56
|
+
.catch((error) => {
|
|
57
|
+
//handle errors
|
|
58
|
+
});
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Automate
|
|
63
|
+
|
|
64
|
+
```javascript
|
|
65
|
+
// ESM
|
|
66
|
+
import { AutomateAPI } from 'connectwise-rest';
|
|
67
|
+
// CommonJS
|
|
68
|
+
const { AutomateAPI } = require('connectwise-rest');
|
|
69
|
+
|
|
70
|
+
const cwa = new ManageAPI({
|
|
71
|
+
companyId: 'company',
|
|
72
|
+
serverUrl: 'your.connectwise.com',
|
|
73
|
+
clientId: '<your client id>',
|
|
74
|
+
// One of the following: token, integrator username and password or username, password and two-factor code
|
|
75
|
+
token: '<bearer token>',
|
|
76
|
+
|
|
77
|
+
// or integrator username/password:
|
|
78
|
+
username: '<username>',
|
|
79
|
+
password: '<private key>',
|
|
80
|
+
twoFactorPasscode: '<2fa code>',
|
|
81
|
+
|
|
82
|
+
timeout: 20000, // optional, request connection timeout in ms, defaults to 20000
|
|
83
|
+
retry: false, // optional, defaults to false
|
|
84
|
+
retryOptions: { // optional, override retry behavior, defaults as shown
|
|
85
|
+
retries: 4, // maximum number of retries
|
|
86
|
+
minTimeout: 50, // number of ms to wait between retries
|
|
87
|
+
maxTimeout: 20000, // maximum number of ms between retries
|
|
88
|
+
randomize: true, // randomize timeouts
|
|
89
|
+
},
|
|
90
|
+
debug: false, // optional, enable debug logging
|
|
91
|
+
logger: (level, text, meta) => { } // optional, pass in logging function
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
cwa.ComputersAPI.getComputerList()
|
|
95
|
+
.then((computers) => {
|
|
96
|
+
//do something with results
|
|
97
|
+
})
|
|
98
|
+
.catch((error) => {
|
|
99
|
+
//handle errors
|
|
100
|
+
});
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### APIs Without Typings
|
|
104
|
+
|
|
105
|
+
You can also manually access the API without typings:
|
|
106
|
+
|
|
107
|
+
```javascript
|
|
108
|
+
|
|
109
|
+
const { Manage, Automate } = require('connectwise-rest');
|
|
110
|
+
|
|
111
|
+
const cwm = new Manage(CWMOptions);
|
|
112
|
+
const cwa = new Automate(CWAOptions);
|
|
113
|
+
|
|
114
|
+
// use cwa.request or cwm.request
|
|
115
|
+
cwm.request({
|
|
116
|
+
path: '/path/to/api',
|
|
117
|
+
method: 'POST',
|
|
118
|
+
params: {
|
|
119
|
+
'queryParam1': 'val1',
|
|
120
|
+
'queryParam2': 'val2'
|
|
121
|
+
},
|
|
122
|
+
data: {
|
|
123
|
+
'dataValue': 'val1',
|
|
124
|
+
})
|
|
125
|
+
.then((result) => {
|
|
126
|
+
//do something with results
|
|
127
|
+
})
|
|
128
|
+
.catch((error) => {
|
|
129
|
+
//handle errors
|
|
130
|
+
});
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Cloud-Hosted ConnectWise Manage
|
|
134
|
+
|
|
135
|
+
To access cloud-hosted ConnectWise, use the `companyUrl` of `api-na.myconnectwise.net` and override the default `entryPoint`.
|
|
136
|
+
|
|
137
|
+
| Region | URL |
|
|
138
|
+
| --- |--------------------------------|
|
|
139
|
+
| North America | api-na.myconnectwise.net |
|
|
140
|
+
| Europe | api-eu.myconnectwise.net |
|
|
141
|
+
| Australia | api-aus.myconnectwise.net |
|
|
142
|
+
| Demo | api-staging.connectwisedev.com |
|
|
143
|
+
|
|
144
|
+
```javascript
|
|
145
|
+
options = {
|
|
146
|
+
companyId: 'company',
|
|
147
|
+
companyUrl: 'api-na.myconnectwise.net',
|
|
148
|
+
entryPoint: 'v2022.1', // change to the current hosted version
|
|
149
|
+
publicKey: '<public key>',
|
|
150
|
+
privateKey: '<private key>'
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Examples
|
|
155
|
+
|
|
156
|
+
### Code Examples
|
|
157
|
+
|
|
158
|
+
Get ticket 1234 and print ticket number, summary and status.
|
|
159
|
+
|
|
160
|
+
```javascript
|
|
161
|
+
|
|
162
|
+
cwm.ServiceAPI.getServiceTicketsById(1234)
|
|
163
|
+
.then((ticket) => { console.log(ticket.id, ticket.summary, ticket.status.name); })
|
|
164
|
+
.catch((err) => { console.log(err); });
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Create new ticket on service board, then print the returned ticket number, or any errors
|
|
168
|
+
|
|
169
|
+
```javascript
|
|
170
|
+
cwm.ServiceAPI.postServiceTickets({
|
|
171
|
+
summary: "This is the summary",
|
|
172
|
+
board: {
|
|
173
|
+
name: "Service Board"
|
|
174
|
+
},
|
|
175
|
+
company: {
|
|
176
|
+
identifier: "ABC" //company ID
|
|
177
|
+
},
|
|
178
|
+
initialDescription: "ticket description",
|
|
179
|
+
recordType: "ServiceTicket"
|
|
180
|
+
//can also pass in any other Ticket object settings as needed
|
|
181
|
+
})
|
|
182
|
+
.then((ticket) => { console.log(ticket.id); })
|
|
183
|
+
.catch((err) => { console.log(err); });
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Change the status of a ticket
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
cwa.ServiceAPI.patchServiceTicketsById(1234, [{
|
|
191
|
+
op: 'replace',
|
|
192
|
+
path: 'status',
|
|
193
|
+
value: {id: 123} //id of the status to change to, find with boards.getBoards and status.getStatuses
|
|
194
|
+
}, {
|
|
195
|
+
//second or more operations
|
|
196
|
+
}])
|
|
197
|
+
.then((res) => {
|
|
198
|
+
//do something with returned ticket
|
|
199
|
+
})
|
|
200
|
+
.catch((err) => {
|
|
201
|
+
//do something with errors
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Manage Conditions Example
|
|
207
|
+
|
|
208
|
+
Valid example conditions string:
|
|
209
|
+
|
|
210
|
+
```javascript
|
|
211
|
+
|
|
212
|
+
const conditions = '(contact/name like "Fred%" and closedFlag = false) and dateEntered > [2015-12-23T05:53:27Z] or summary contains "test" AND summary != "Some Summary"'
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Error message returned from server when invalid conditions are passed in:
|
|
217
|
+
> Expected a boolean value, not a numeric. String values should be enclosed with double or single quotes; DateTime values should be enclosed in square brackets; numbers should consist of only digits, and optionally a decimal point and a negation sign; boolean values should be indicated with the keywords true or false; null values should be indicated by the keyword null.
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
### Callbacks
|
|
221
|
+
|
|
222
|
+
This library includes an express style callback middleware that will parse and verify the payload signature.
|
|
223
|
+
|
|
224
|
+
```javascript
|
|
225
|
+
const {utils} = require('connectwise-rest')
|
|
226
|
+
const CWCallback = utils.Callback;
|
|
227
|
+
|
|
228
|
+
router.post('/your/callback', CWCallback.middleware((err, req, res, verified, payload) => {
|
|
229
|
+
if (err) {
|
|
230
|
+
//handle error, parsing, malformed object, etc
|
|
231
|
+
res.status(500).end();
|
|
232
|
+
} else if (!verified) {
|
|
233
|
+
// send 403 on verification failure,
|
|
234
|
+
// or handle some other way
|
|
235
|
+
res.status(403).end();
|
|
236
|
+
} else {
|
|
237
|
+
res.status(200).end()
|
|
238
|
+
}
|
|
239
|
+
const {action, id} = req.query;
|
|
240
|
+
// do something with the payload
|
|
241
|
+
}));
|
|
242
|
+
|
|
243
|
+
```
|