halo_msp_api 0.1.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.
@@ -0,0 +1,275 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Integrations < Base
6
+ # Integration Data methods - these handle the massive number of third-party integrations
7
+
8
+ # GET methods for various integrations
9
+ def get_addigy(params = {})
10
+ get("/IntegrationData/Get/Addigy", params)
11
+ end
12
+
13
+ def get_amazon_seller(params = {})
14
+ get("/IntegrationData/Get/AmazonSeller", params)
15
+ end
16
+
17
+ def get_arrow_sphere(params = {})
18
+ get("/IntegrationData/Get/ArrowSphere", params)
19
+ end
20
+
21
+ def get_atera(params = {})
22
+ get("/IntegrationData/Get/Atera", params)
23
+ end
24
+
25
+ def get_automate(params = {})
26
+ get("/IntegrationData/Get/Automate", params)
27
+ end
28
+
29
+ def get_autotask(params = {})
30
+ get("/IntegrationData/Get/Autotask", params)
31
+ end
32
+
33
+ def get_auvik(params = {})
34
+ get("/IntegrationData/Get/Auvik", params)
35
+ end
36
+
37
+ def get_avalara(params = {})
38
+ get("/IntegrationData/Get/Avalara", params)
39
+ end
40
+
41
+ def get_azure_ad(params = {})
42
+ get("/IntegrationData/Get/AzureAD", params)
43
+ end
44
+
45
+ def get_azure_ad_delta(params = {})
46
+ get("/IntegrationData/Get/AzureAD/Delta", params)
47
+ end
48
+
49
+ def get_azure_sentinel(params = {})
50
+ get("/IntegrationData/Get/AzureSentinel", params)
51
+ end
52
+
53
+ def get_business_central(params = {})
54
+ get("/IntegrationData/Get/BusinessCentral", params)
55
+ end
56
+
57
+ def get_confluence(params = {})
58
+ get("/IntegrationData/Get/Confluence", params)
59
+ end
60
+
61
+ def get_connectwise(params = {})
62
+ get("/IntegrationData/Get/ConnectWise", params)
63
+ end
64
+
65
+ def get_connectwise_control(params = {})
66
+ get("/IntegrationData/Get/ConnectwiseControl", params)
67
+ end
68
+
69
+ def get_connectwise_rmm(params = {})
70
+ get("/IntegrationData/Get/ConnectwiseRmm", params)
71
+ end
72
+
73
+ def get_datto(params = {})
74
+ get("/IntegrationData/Get/Datto", params)
75
+ end
76
+
77
+ def get_datto_commerce(params = {})
78
+ get("/IntegrationData/Get/DattoCommerce", params)
79
+ end
80
+
81
+ def get_dynamics_crm(params = {})
82
+ get("/IntegrationData/Get/DynamicsCRM", params)
83
+ end
84
+
85
+ def get_dynatrace(params = {})
86
+ get("/IntegrationData/Get/Dynatrace", params)
87
+ end
88
+
89
+ def get_exact_online(params = {})
90
+ get("/IntegrationData/Get/ExactOnline", params)
91
+ end
92
+
93
+ def get_facebook(params = {})
94
+ get("/IntegrationData/Get/Facebook", params)
95
+ end
96
+
97
+ def get_freshdesk(params = {})
98
+ get("/IntegrationData/Get/Freshdesk", params)
99
+ end
100
+
101
+ def get_google_business(params = {})
102
+ get("/IntegrationData/Get/GoogleBusiness", params)
103
+ end
104
+
105
+ def get_google_workplace(params = {})
106
+ get("/IntegrationData/Get/GoogleWorkplace", params)
107
+ end
108
+
109
+ def get_hubspot(params = {})
110
+ get("/IntegrationData/Get/HubSpot", params)
111
+ end
112
+
113
+ def get_intune(params = {})
114
+ get("/IntegrationData/Get/Intune", params)
115
+ end
116
+
117
+ def get_it_glue(params = {})
118
+ get("/IntegrationData/Get/ITGlue", params)
119
+ end
120
+
121
+ def get_jamf(params = {})
122
+ get("/IntegrationData/Get/Jamf", params)
123
+ end
124
+
125
+ def get_jira(params = {})
126
+ get("/IntegrationData/Get/Jira", params)
127
+ end
128
+
129
+ def get_jira_service_management(params = {})
130
+ get("/IntegrationData/Get/JiraServiceManagement", params)
131
+ end
132
+
133
+ def get_lansweeper(params = {})
134
+ get("/IntegrationData/Get/Lansweeper", params)
135
+ end
136
+
137
+ def get_microsoft_csp(params = {})
138
+ get("/IntegrationData/Get/MicrosoftCSP", params)
139
+ end
140
+
141
+ def get_ninja_rmm(params = {})
142
+ get("/IntegrationData/Get/NinjaRMM", params)
143
+ end
144
+
145
+ def get_okta(params = {})
146
+ get("/IntegrationData/Get/Okta", params)
147
+ end
148
+
149
+ def get_pager_duty(params = {})
150
+ get("/IntegrationData/Get/PagerDuty", params)
151
+ end
152
+
153
+ def get_quickbooks_online(params = {})
154
+ get("/IntegrationData/Get/QuickBooksOnline", params)
155
+ end
156
+
157
+ def get_salesforce(params = {})
158
+ get("/IntegrationData/Get/Salesforce", params)
159
+ end
160
+
161
+ def get_service_now(params = {})
162
+ get("/IntegrationData/Get/ServiceNow", params)
163
+ end
164
+
165
+ def get_shopify(params = {})
166
+ get("/IntegrationData/Get/Shopify", params)
167
+ end
168
+
169
+ def get_slack(params = {})
170
+ get("/IntegrationData/Get/Slack", params)
171
+ end
172
+
173
+ def get_stripe(params = {})
174
+ get("/IntegrationData/Get/Stripe", params)
175
+ end
176
+
177
+ def get_xero(params = {})
178
+ get("/IntegrationData/Get/Xero", params)
179
+ end
180
+
181
+ # Import methods for various integrations
182
+ def import_business_central(data)
183
+ post("/IntegrationData/Import/BusinessCentral", data)
184
+ end
185
+
186
+ def import_exact_online(data)
187
+ post("/IntegrationData/Import/ExactOnline", data)
188
+ end
189
+
190
+ def import_jira(data)
191
+ post("/IntegrationData/Import/Jira", data)
192
+ end
193
+
194
+ def import_quickbooks_online(data)
195
+ post("/IntegrationData/Import/QuickBooksOnline", data)
196
+ end
197
+
198
+ def import_xero(data)
199
+ post("/IntegrationData/Import/Xero", data)
200
+ end
201
+
202
+ # Link methods
203
+ def link_jira(data)
204
+ post("/IntegrationData/Link/Jira", data)
205
+ end
206
+
207
+ def unlink_jira(data)
208
+ post("/IntegrationData/Unlink/Jira", data)
209
+ end
210
+
211
+ # Search methods
212
+ def search_jira(params = {})
213
+ get("/IntegrationData/Search/Jira", params)
214
+ end
215
+
216
+ # Validation methods
217
+ def validate_jira(data)
218
+ post("/IntegrationData/Validate/Jira", data)
219
+ end
220
+
221
+ # Integration Configuration methods
222
+ # GET /IntegrationConfiguration - List Integration configurations
223
+ def configurations(params = {})
224
+ get("/IntegrationConfiguration", params)
225
+ end
226
+
227
+ # GET /IntegrationConfiguration/{id} - Get specific Integration configuration
228
+ def configuration(id, params = {})
229
+ get("/IntegrationConfiguration/#{id}", params)
230
+ end
231
+
232
+ # POST /IntegrationConfiguration - Create Integration configuration
233
+ def create_configuration(data)
234
+ post("/IntegrationConfiguration", data)
235
+ end
236
+
237
+ # PUT /IntegrationConfiguration/{id} - Update Integration configuration
238
+ def update_configuration(id, data)
239
+ put("/IntegrationConfiguration/#{id}", data)
240
+ end
241
+
242
+ # DELETE /IntegrationConfiguration/{id} - Delete Integration configuration
243
+ def delete_configuration(id)
244
+ delete("/IntegrationConfiguration/#{id}")
245
+ end
246
+
247
+ # Integration Error methods
248
+ # GET /IntegrationError - List Integration errors
249
+ def errors(params = {})
250
+ get("/IntegrationError", params)
251
+ end
252
+
253
+ # GET /IntegrationError/{id} - Get specific Integration error
254
+ def error(id, params = {})
255
+ get("/IntegrationError/#{id}", params)
256
+ end
257
+
258
+ # Integration Request methods
259
+ # GET /IntegrationRequest - List Integration requests
260
+ def requests(params = {})
261
+ get("/IntegrationRequest", params)
262
+ end
263
+
264
+ # GET /IntegrationRequest/{id} - Get specific Integration request
265
+ def request(id, params = {})
266
+ get("/IntegrationRequest/#{id}", params)
267
+ end
268
+
269
+ # POST /IntegrationRequest - Create Integration request
270
+ def create_request(data)
271
+ post("/IntegrationRequest", data)
272
+ end
273
+ end
274
+ end
275
+ end
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Invoices < Base
6
+ # GET /Invoice - List of Invoices
7
+ def list(params = {})
8
+ list_resource("Invoice", params)
9
+ end
10
+
11
+ # GET /Invoice/{id} - Get a specific Invoice
12
+ def get(id, params = {})
13
+ get_resource("Invoice", id, params)
14
+ end
15
+
16
+ # POST /Invoice - Create a new Invoice
17
+ def create(data)
18
+ create_resource("Invoice", data)
19
+ end
20
+
21
+ # PUT /Invoice/{id} - Update an Invoice
22
+ def update(id, data)
23
+ update_resource("Invoice", id, data)
24
+ end
25
+
26
+ # DELETE /Invoice/{id} - Delete an Invoice
27
+ def delete(id)
28
+ delete_resource("Invoice", id)
29
+ end
30
+
31
+ # POST /Invoice/{id}/void - Void an Invoice
32
+ def void(id, data = {})
33
+ post(resource_path("Invoice", "#{id}/void"), data)
34
+ end
35
+
36
+ # GET /Invoice/PDF/{id} - Get Invoice PDF
37
+ def pdf(id, params = {})
38
+ get(resource_path("Invoice", "PDF/#{id}"), params)
39
+ end
40
+
41
+ # POST /Invoice/updatelines - Update Invoice lines
42
+ def update_lines(data)
43
+ post(resource_path("Invoice", nil, "updatelines"), data)
44
+ end
45
+
46
+ # GET /Invoice/View - Get Invoice view
47
+ def view(params = {})
48
+ get(resource_path("Invoice", nil, "View"), params)
49
+ end
50
+
51
+ # Invoice Change methods
52
+ # GET /InvoiceChange - List Invoice changes
53
+ def changes(params = {})
54
+ get("/InvoiceChange", params)
55
+ end
56
+
57
+ # POST /InvoiceChange - Create Invoice change
58
+ def create_change(data)
59
+ post("/InvoiceChange", data)
60
+ end
61
+
62
+ # Invoice Detail Pro Rata methods
63
+ # GET /InvoiceDetailProRata - List Invoice detail pro rata
64
+ def detail_pro_rata(params = {})
65
+ get("/InvoiceDetailProRata", params)
66
+ end
67
+
68
+ # POST /InvoiceDetailProRata - Create Invoice detail pro rata
69
+ def create_detail_pro_rata(data)
70
+ post("/InvoiceDetailProRata", data)
71
+ end
72
+
73
+ # Invoice Payment methods
74
+ # GET /InvoicePayment - List Invoice payments
75
+ def payments(params = {})
76
+ get("/InvoicePayment", params)
77
+ end
78
+
79
+ # GET /InvoicePayment/{id} - Get specific Invoice payment
80
+ def payment(id, params = {})
81
+ get("/InvoicePayment/#{id}", params)
82
+ end
83
+
84
+ # POST /InvoicePayment - Create Invoice payment
85
+ def create_payment(data)
86
+ post("/InvoicePayment", data)
87
+ end
88
+
89
+ # PUT /InvoicePayment/{id} - Update Invoice payment
90
+ def update_payment(id, data)
91
+ put("/InvoicePayment/#{id}", data)
92
+ end
93
+
94
+ # DELETE /InvoicePayment/{id} - Delete Invoice payment
95
+ def delete_payment(id)
96
+ delete("/InvoicePayment/#{id}")
97
+ end
98
+
99
+ # Recurring Invoice methods
100
+ # GET /RecurringInvoice - List Recurring invoices
101
+ def recurring_invoices(params = {})
102
+ get("/RecurringInvoice", params)
103
+ end
104
+
105
+ # GET /RecurringInvoice/{id} - Get specific Recurring invoice
106
+ def recurring_invoice(id, params = {})
107
+ get("/RecurringInvoice/#{id}", params)
108
+ end
109
+
110
+ # POST /RecurringInvoice - Create Recurring invoice
111
+ def create_recurring_invoice(data)
112
+ post("/RecurringInvoice", data)
113
+ end
114
+
115
+ # PUT /RecurringInvoice/{id} - Update Recurring invoice
116
+ def update_recurring_invoice(id, data)
117
+ put("/RecurringInvoice/#{id}", data)
118
+ end
119
+
120
+ # DELETE /RecurringInvoice/{id} - Delete Recurring invoice
121
+ def delete_recurring_invoice(id)
122
+ delete("/RecurringInvoice/#{id}")
123
+ end
124
+
125
+ # GET /RecurringInvoice/Lines - Get Recurring invoice lines
126
+ def recurring_invoice_lines(params = {})
127
+ get("/RecurringInvoice/Lines", params)
128
+ end
129
+
130
+ # POST /RecurringInvoice/process - Process Recurring invoices
131
+ def process_recurring_invoices(data)
132
+ post("/RecurringInvoice/process", data)
133
+ end
134
+
135
+ # POST /RecurringInvoice/updatelines - Update Recurring invoice lines
136
+ def update_recurring_invoice_lines(data)
137
+ post("/RecurringInvoice/updatelines", data)
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,89 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class KnowledgeBase < Base
6
+ # GET /KBArticle - List of Knowledge Base Articles
7
+ def articles(params = {})
8
+ get("/KBArticle", params)
9
+ end
10
+
11
+ # GET /KBArticle/{id} - Get a specific Knowledge Base Article
12
+ def article(id, params = {})
13
+ get("/KBArticle/#{id}", params)
14
+ end
15
+
16
+ # POST /KBArticle - Create a new Knowledge Base Article
17
+ def create_article(data)
18
+ post("/KBArticle", data)
19
+ end
20
+
21
+ # PUT /KBArticle/{id} - Update a Knowledge Base Article
22
+ def update_article(id, data)
23
+ put("/KBArticle/#{id}", data)
24
+ end
25
+
26
+ # DELETE /KBArticle/{id} - Delete a Knowledge Base Article
27
+ def delete_article(id)
28
+ delete("/KBArticle/#{id}")
29
+ end
30
+
31
+ # GET /KBArticle/Search - Search Knowledge Base Articles
32
+ def search_articles(params = {})
33
+ get("/KBArticle/Search", params)
34
+ end
35
+
36
+ # Knowledge Base Category methods
37
+ # GET /KBCategory - List Knowledge Base Categories
38
+ def categories(params = {})
39
+ get("/KBCategory", params)
40
+ end
41
+
42
+ # GET /KBCategory/{id} - Get specific Knowledge Base Category
43
+ def category(id, params = {})
44
+ get("/KBCategory/#{id}", params)
45
+ end
46
+
47
+ # POST /KBCategory - Create Knowledge Base Category
48
+ def create_category(data)
49
+ post("/KBCategory", data)
50
+ end
51
+
52
+ # PUT /KBCategory/{id} - Update Knowledge Base Category
53
+ def update_category(id, data)
54
+ put("/KBCategory/#{id}", data)
55
+ end
56
+
57
+ # DELETE /KBCategory/{id} - Delete Knowledge Base Category
58
+ def delete_category(id)
59
+ delete("/KBCategory/#{id}")
60
+ end
61
+
62
+ # Knowledge Base Keywords methods
63
+ # GET /KBKeywords - List Knowledge Base Keywords
64
+ def keywords(params = {})
65
+ get("/KBKeywords", params)
66
+ end
67
+
68
+ # GET /KBKeywords/{id} - Get specific Knowledge Base Keywords
69
+ def keyword(id, params = {})
70
+ get("/KBKeywords/#{id}", params)
71
+ end
72
+
73
+ # POST /KBKeywords - Create Knowledge Base Keywords
74
+ def create_keyword(data)
75
+ post("/KBKeywords", data)
76
+ end
77
+
78
+ # PUT /KBKeywords/{id} - Update Knowledge Base Keywords
79
+ def update_keyword(id, data)
80
+ put("/KBKeywords/#{id}", data)
81
+ end
82
+
83
+ # DELETE /KBKeywords/{id} - Delete Knowledge Base Keywords
84
+ def delete_keyword(id)
85
+ delete("/KBKeywords/#{id}")
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Organisations < Base
6
+ # GET /Organisation - List of Organisations
7
+ def list(params = {})
8
+ list_resource("Organisation", params)
9
+ end
10
+
11
+ # GET /Organisation/{id} - Get a specific Organisation
12
+ def get(id, params = {})
13
+ get_resource("Organisation", id, params)
14
+ end
15
+
16
+ # POST /Organisation - Create a new Organisation
17
+ def create(data)
18
+ create_resource("Organisation", data)
19
+ end
20
+
21
+ # PUT /Organisation/{id} - Update an Organisation
22
+ def update(id, data)
23
+ update_resource("Organisation", id, data)
24
+ end
25
+
26
+ # DELETE /Organisation/{id} - Delete an Organisation
27
+ def delete(id)
28
+ delete_resource("Organisation", id)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class PurchaseOrders < Base
6
+ # GET /PurchaseOrder - List of Purchase Orders
7
+ def list(params = {})
8
+ list_resource("PurchaseOrder", params)
9
+ end
10
+
11
+ # GET /PurchaseOrder/{id} - Get a specific Purchase Order
12
+ def get(id, params = {})
13
+ get_resource("PurchaseOrder", id, params)
14
+ end
15
+
16
+ # POST /PurchaseOrder - Create a new Purchase Order
17
+ def create(data)
18
+ create_resource("PurchaseOrder", data)
19
+ end
20
+
21
+ # PUT /PurchaseOrder/{id} - Update a Purchase Order
22
+ def update(id, data)
23
+ update_resource("PurchaseOrder", id, data)
24
+ end
25
+
26
+ # DELETE /PurchaseOrder/{id} - Delete a Purchase Order
27
+ def delete(id)
28
+ delete_resource("PurchaseOrder", id)
29
+ end
30
+
31
+ # POST /PurchaseOrder/Approval - Purchase Order approval
32
+ def approval(data)
33
+ post(resource_path("PurchaseOrder", nil, "Approval"), data)
34
+ end
35
+
36
+ # GET /PurchaseOrder/Lines - Get Purchase Order lines
37
+ def lines(params = {})
38
+ get(resource_path("PurchaseOrder", nil, "Lines"), params)
39
+ end
40
+
41
+ # GET /PurchaseOrder/NextRef - Get next Purchase Order reference
42
+ def next_ref(params = {})
43
+ get(resource_path("PurchaseOrder", nil, "NextRef"), params)
44
+ end
45
+
46
+ # POST /PurchaseOrder/updatelines - Update Purchase Order lines
47
+ def update_lines(data)
48
+ post(resource_path("PurchaseOrder", nil, "updatelines"), data)
49
+ end
50
+
51
+ # GET /PurchaseOrder/View - Get Purchase Order view
52
+ def view(params = {})
53
+ get(resource_path("PurchaseOrder", nil, "View"), params)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HaloMspApi
4
+ module Resources
5
+ class Quotations < Base
6
+ # GET /Quotation - List of Quotations
7
+ def list(params = {})
8
+ list_resource("Quotation", params)
9
+ end
10
+
11
+ # GET /Quotation/{id} - Get a specific Quotation
12
+ def get(id, params = {})
13
+ get_resource("Quotation", id, params)
14
+ end
15
+
16
+ # POST /Quotation - Create a new Quotation
17
+ def create(data)
18
+ create_resource("Quotation", data)
19
+ end
20
+
21
+ # PUT /Quotation/{id} - Update a Quotation
22
+ def update(id, data)
23
+ update_resource("Quotation", id, data)
24
+ end
25
+
26
+ # DELETE /Quotation/{id} - Delete a Quotation
27
+ def delete(id)
28
+ delete_resource("Quotation", id)
29
+ end
30
+
31
+ # POST /Quotation/Approval - Quotation approval
32
+ def approval(data)
33
+ post(resource_path("Quotation", nil, "Approval"), data)
34
+ end
35
+
36
+ # GET /Quotation/Lines - Get Quotation lines
37
+ def lines(params = {})
38
+ get(resource_path("Quotation", nil, "Lines"), params)
39
+ end
40
+
41
+ # GET /Quotation/View - Get Quotation view
42
+ def view(params = {})
43
+ get(resource_path("Quotation", nil, "View"), params)
44
+ end
45
+ end
46
+ end
47
+ end