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.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/CHANGELOG.md +17 -0
- data/Gemfile +17 -0
- data/LICENSE +21 -0
- data/README.md +240 -0
- data/Rakefile +12 -0
- data/examples/basic_usage.rb +74 -0
- data/lib/halo_msp_api/client.rb +216 -0
- data/lib/halo_msp_api/configuration.rb +20 -0
- data/lib/halo_msp_api/error.rb +25 -0
- data/lib/halo_msp_api/resources/actions.rb +86 -0
- data/lib/halo_msp_api/resources/agents.rb +100 -0
- data/lib/halo_msp_api/resources/appointments.rb +67 -0
- data/lib/halo_msp_api/resources/assets.rb +147 -0
- data/lib/halo_msp_api/resources/base.rb +68 -0
- data/lib/halo_msp_api/resources/clients.rb +115 -0
- data/lib/halo_msp_api/resources/integrations.rb +275 -0
- data/lib/halo_msp_api/resources/invoices.rb +141 -0
- data/lib/halo_msp_api/resources/knowledge_base.rb +89 -0
- data/lib/halo_msp_api/resources/organisations.rb +32 -0
- data/lib/halo_msp_api/resources/purchase_orders.rb +57 -0
- data/lib/halo_msp_api/resources/quotations.rb +47 -0
- data/lib/halo_msp_api/resources/reports.rb +88 -0
- data/lib/halo_msp_api/resources/sales_orders.rb +57 -0
- data/lib/halo_msp_api/resources/services.rb +177 -0
- data/lib/halo_msp_api/resources/slas.rb +84 -0
- data/lib/halo_msp_api/resources/suppliers.rb +58 -0
- data/lib/halo_msp_api/resources/tickets.rb +207 -0
- data/lib/halo_msp_api/resources/users.rb +84 -0
- data/lib/halo_msp_api/resources/webhooks.rb +89 -0
- data/lib/halo_msp_api/version.rb +5 -0
- data/lib/halo_msp_api.rb +43 -0
- data/swagger.json +168737 -0
- metadata +193 -0
@@ -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
|