Class: HighLevel::Resources::Invoices

Inherits:
Base
  • Object
show all
Defined in:
lib/high_level/resources/invoices.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from HighLevel::Resources::Base

Instance Method Details

#auto_payment_invoice_schedule(schedule_id:, body:, **_opts) ⇒ Object

Manage Auto payment for an schedule invoice

API to manage auto payment for a schedule



179
180
181
182
183
184
185
186
# File 'lib/high_level/resources/invoices.rb', line 179

def auto_payment_invoice_schedule(schedule_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/schedule/#{schedule_id}/auto-payment",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#cancel_invoice_schedule(schedule_id:, body:, **_opts) ⇒ Object

Cancel an scheduled invoice

API to cancel a scheduled invoice by schedule id



191
192
193
194
195
196
197
198
# File 'lib/high_level/resources/invoices.rb', line 191

def cancel_invoice_schedule(schedule_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/schedule/#{schedule_id}/cancel",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_estimate_template(body:, **_opts) ⇒ Object

Create Estimate Template

Create a new estimate template



443
444
445
446
447
448
449
450
# File 'lib/high_level/resources/invoices.rb', line 443

def create_estimate_template(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/estimate/template",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_invoice(body:, **_opts) ⇒ Object

Create Invoice

API to create an invoice



503
504
505
506
507
508
509
510
# File 'lib/high_level/resources/invoices.rb', line 503

def create_invoice(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_invoice_from_estimate(estimate_id:, body:, **_opts) ⇒ Object

Create Invoice from Estimate

Create a new invoice from an existing estimate



395
396
397
398
399
400
401
402
# File 'lib/high_level/resources/invoices.rb', line 395

def create_invoice_from_estimate(estimate_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/estimate/#{estimate_id}/invoice",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_invoice_schedule(body:, **_opts) ⇒ Object

Create Invoice Schedule

API to create an invoice Schedule



108
109
110
111
112
113
114
115
# File 'lib/high_level/resources/invoices.rb', line 108

def create_invoice_schedule(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/schedule",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_invoice_template(body:, **_opts) ⇒ Object

Create template

API to create a template



24
25
26
27
28
29
30
31
# File 'lib/high_level/resources/invoices.rb', line 24

def create_invoice_template(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/template",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#create_new_estimate(body:, **_opts) ⇒ Object

Create New Estimate

Create a new estimate with the provided details



335
336
337
338
339
340
341
342
# File 'lib/high_level/resources/invoices.rb', line 335

def create_new_estimate(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/estimate",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#delete_estimate(estimate_id:, body:, **_opts) ⇒ Object

Delete Estimate

Delete an existing estimate



359
360
361
362
363
364
365
366
# File 'lib/high_level/resources/invoices.rb', line 359

def delete_estimate(estimate_id:, body:, **_opts)
  request(
    method: :delete,
    path: "/invoices/estimate/#{estimate_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#delete_estimate_template(template_id:, body:, **_opts) ⇒ Object

Delete Estimate Template

Delete an existing estimate template



467
468
469
470
471
472
473
474
# File 'lib/high_level/resources/invoices.rb', line 467

def delete_estimate_template(template_id:, body:, **_opts)
  request(
    method: :delete,
    path: "/invoices/estimate/template/#{template_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#delete_invoice(invoice_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Delete invoice

API to delete invoice by invoice id



263
264
265
266
267
268
269
270
# File 'lib/high_level/resources/invoices.rb', line 263

def delete_invoice(invoice_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :delete,
    path: "/invoices/#{invoice_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#delete_invoice_schedule(schedule_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Delete schedule

API to delete an schedule by schedule id



144
145
146
147
148
149
150
151
# File 'lib/high_level/resources/invoices.rb', line 144

def delete_invoice_schedule(schedule_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :delete,
    path: "/invoices/schedule/#{schedule_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#delete_invoice_template(template_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Delete template

API to update an template by template id



60
61
62
63
64
65
66
67
# File 'lib/high_level/resources/invoices.rb', line 60

def delete_invoice_template(template_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :delete,
    path: "/invoices/template/#{template_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#generate_estimate_number(alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Generate Estimate Number

Get the next estimate number for the given location



371
372
373
374
375
376
377
378
# File 'lib/high_level/resources/invoices.rb', line 371

def generate_estimate_number(alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/estimate/number/generate",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#generate_invoice_number(alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Generate Invoice Number

Get the next invoice number for the given location



215
216
217
218
219
220
221
222
# File 'lib/high_level/resources/invoices.rb', line 215

def generate_invoice_number(alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/generate-invoice-number",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#get_invoice(invoice_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Get invoice

API to get invoice by invoice id



239
240
241
242
243
244
245
246
# File 'lib/high_level/resources/invoices.rb', line 239

def get_invoice(invoice_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/#{invoice_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#get_invoice_schedule(schedule_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Get an schedule

API to get an schedule by schedule id



120
121
122
123
124
125
126
127
# File 'lib/high_level/resources/invoices.rb', line 120

def get_invoice_schedule(schedule_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/schedule/#{schedule_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#get_invoice_settings(alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Get Invoice Settings

Get the invoice settings for the given location



227
228
229
230
231
232
233
234
# File 'lib/high_level/resources/invoices.rb', line 227

def get_invoice_settings(alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/settings",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#get_invoice_template(template_id:, alt_id: nil, alt_type: nil, **_opts) ⇒ Object

Get an template

API to get an template by template id



36
37
38
39
40
41
42
43
# File 'lib/high_level/resources/invoices.rb', line 36

def get_invoice_template(template_id:, alt_id: nil, alt_type: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/template/#{template_id}",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type }.compact
  )
end

#list_estimate_templates(alt_id: nil, alt_type: nil, search: nil, limit: nil, offset: nil, **_opts) ⇒ Object

List Estimate Templates

Get a list of estimate templates or a specific template by ID



431
432
433
434
435
436
437
438
# File 'lib/high_level/resources/invoices.rb', line 431

def list_estimate_templates(alt_id: nil, alt_type: nil, search: nil, limit: nil, offset: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/estimate/template",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "search" => search, "limit" => limit, "offset" => offset }.compact
  )
end

#list_estimates(alt_id: nil, alt_type: nil, start_at: nil, end_at: nil, search: nil, status: nil, contact_id: nil, limit: nil, offset: nil, **_opts) ⇒ Object

List Estimates

Get a paginated list of estimates



407
408
409
410
411
412
413
414
# File 'lib/high_level/resources/invoices.rb', line 407

def list_estimates(alt_id: nil, alt_type: nil, start_at: nil, end_at: nil, search: nil, status: nil, contact_id: nil, limit: nil, offset: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/estimate/list",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "startAt" => start_at, "endAt" => end_at, "search" => search, "status" => status, "contactId" => contact_id, "limit" => limit, "offset" => offset }.compact
  )
end

#list_invoice_schedules(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, limit: nil, offset: nil, **_opts) ⇒ Object

List schedules

API to get list of schedules



96
97
98
99
100
101
102
103
# File 'lib/high_level/resources/invoices.rb', line 96

def list_invoice_schedules(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, limit: nil, offset: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/schedule",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "status" => status, "startAt" => start_at, "endAt" => end_at, "search" => search, "paymentMode" => payment_mode, "limit" => limit, "offset" => offset }.compact
  )
end

#list_invoice_templates(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, limit: nil, offset: nil, **_opts) ⇒ Object

List templates

API to get list of templates



12
13
14
15
16
17
18
19
# File 'lib/high_level/resources/invoices.rb', line 12

def list_invoice_templates(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, limit: nil, offset: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/template",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "status" => status, "startAt" => start_at, "endAt" => end_at, "search" => search, "paymentMode" => payment_mode, "limit" => limit, "offset" => offset }.compact
  )
end

#list_invoices(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, contact_id: nil, limit: nil, offset: nil, sort_field: nil, sort_order: nil, **_opts) ⇒ Object

List invoices

API to get list of invoices



491
492
493
494
495
496
497
498
# File 'lib/high_level/resources/invoices.rb', line 491

def list_invoices(alt_id: nil, alt_type: nil, status: nil, start_at: nil, end_at: nil, search: nil, payment_mode: nil, contact_id: nil, limit: nil, offset: nil, sort_field: nil, sort_order: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "status" => status, "startAt" => start_at, "endAt" => end_at, "search" => search, "paymentMode" => payment_mode, "contactId" => contact_id, "limit" => limit, "offset" => offset, "sortField" => sort_field, "sortOrder" => sort_order }.compact
  )
end

#preview_estimate_template(alt_id: nil, alt_type: nil, template_id: nil, **_opts) ⇒ Object

Preview Estimate Template

Get a preview of an estimate template



479
480
481
482
483
484
485
486
# File 'lib/high_level/resources/invoices.rb', line 479

def preview_estimate_template(alt_id: nil, alt_type: nil, template_id: nil, **_opts)
  request(
    method: :get,
    path: "/invoices/estimate/template/preview",
    security: %w[Location-Access Agency-Access],
    params: { "altId" => alt_id, "altType" => alt_type, "templateId" => template_id }.compact
  )
end

#record_invoice(invoice_id:, body:, **_opts) ⇒ Object

Record a manual payment for an invoice

API to record manual payment for an invoice by invoice id



311
312
313
314
315
316
317
318
# File 'lib/high_level/resources/invoices.rb', line 311

def record_invoice(invoice_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/#{invoice_id}/record-payment",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#schedule_invoice_schedule(schedule_id:, body:, **_opts) ⇒ Object

Schedule an schedule invoice

API to schedule an schedule invoice to start sending to the customer



167
168
169
170
171
172
173
174
# File 'lib/high_level/resources/invoices.rb', line 167

def schedule_invoice_schedule(schedule_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/schedule/#{schedule_id}/schedule",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#send_estimate(estimate_id:, body:, **_opts) ⇒ Object

Send Estimate

API to send estimate by estimate id



383
384
385
386
387
388
389
390
# File 'lib/high_level/resources/invoices.rb', line 383

def send_estimate(estimate_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/estimate/#{estimate_id}/send",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#send_invoice(invoice_id:, body:, **_opts) ⇒ Object

Send invoice

API to send invoice by invoice id



299
300
301
302
303
304
305
306
# File 'lib/high_level/resources/invoices.rb', line 299

def send_invoice(invoice_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/#{invoice_id}/send",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#text2pay_invoice(body:, **_opts) ⇒ Object

Create & Send

API to create or update a text2pay invoice



203
204
205
206
207
208
209
210
# File 'lib/high_level/resources/invoices.rb', line 203

def text2pay_invoice(body:, **_opts)
  request(
    method: :post,
    path: "/invoices/text2pay",
    security: ["Location-Access"],
    body: body
  )
end

#update_and_schedule_invoice_schedule(schedule_id:, **_opts) ⇒ Object

Update scheduled recurring invoice

API to update scheduled recurring invoice



156
157
158
159
160
161
162
# File 'lib/high_level/resources/invoices.rb', line 156

def update_and_schedule_invoice_schedule(schedule_id:, **_opts)
  request(
    method: :post,
    path: "/invoices/schedule/#{schedule_id}/updateAndSchedule",
    security: %w[Location-Access Agency-Access]
  )
end

#update_estimate(estimate_id:, body:, **_opts) ⇒ Object

Update Estimate

Update an existing estimate with new details



347
348
349
350
351
352
353
354
# File 'lib/high_level/resources/invoices.rb', line 347

def update_estimate(estimate_id:, body:, **_opts)
  request(
    method: :put,
    path: "/invoices/estimate/#{estimate_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_estimate_last_visited_at(body:, **_opts) ⇒ Object

Update estimate last visited at

API to update estimate last visited at by estimate id



419
420
421
422
423
424
425
426
# File 'lib/high_level/resources/invoices.rb', line 419

def update_estimate_last_visited_at(body:, **_opts)
  request(
    method: :patch,
    path: "/invoices/estimate/stats/last-visited-at",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_estimate_template(template_id:, body:, **_opts) ⇒ Object

Update Estimate Template

Update an existing estimate template



455
456
457
458
459
460
461
462
# File 'lib/high_level/resources/invoices.rb', line 455

def update_estimate_template(template_id:, body:, **_opts)
  request(
    method: :put,
    path: "/invoices/estimate/template/#{template_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice(invoice_id:, body:, **_opts) ⇒ Object

Update invoice

API to update invoice by invoice id



251
252
253
254
255
256
257
258
# File 'lib/high_level/resources/invoices.rb', line 251

def update_invoice(invoice_id:, body:, **_opts)
  request(
    method: :put,
    path: "/invoices/#{invoice_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_last_visited_at(body:, **_opts) ⇒ Object

Update invoice last visited at

API to update invoice last visited at by invoice id



323
324
325
326
327
328
329
330
# File 'lib/high_level/resources/invoices.rb', line 323

def update_invoice_last_visited_at(body:, **_opts)
  request(
    method: :patch,
    path: "/invoices/stats/last-visited-at",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_late_fees_configuration(invoice_id:, body:, **_opts) ⇒ Object

Update invoice late fees configuration

API to update invoice late fees configuration by invoice id



275
276
277
278
279
280
281
282
# File 'lib/high_level/resources/invoices.rb', line 275

def update_invoice_late_fees_configuration(invoice_id:, body:, **_opts)
  request(
    method: :patch,
    path: "/invoices/#{invoice_id}/late-fees-configuration",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_payment_methods_configuration(template_id:, body:, **_opts) ⇒ Object

Update template late fees configuration

API to update template late fees configuration by template id



84
85
86
87
88
89
90
91
# File 'lib/high_level/resources/invoices.rb', line 84

def update_invoice_payment_methods_configuration(template_id:, body:, **_opts)
  request(
    method: :patch,
    path: "/invoices/template/#{template_id}/payment-methods-configuration",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_schedule(schedule_id:, body:, **_opts) ⇒ Object

Update schedule

API to update an schedule by schedule id



132
133
134
135
136
137
138
139
# File 'lib/high_level/resources/invoices.rb', line 132

def update_invoice_schedule(schedule_id:, body:, **_opts)
  request(
    method: :put,
    path: "/invoices/schedule/#{schedule_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_template(template_id:, body:, **_opts) ⇒ Object

Update template

API to update an template by template id



48
49
50
51
52
53
54
55
# File 'lib/high_level/resources/invoices.rb', line 48

def update_invoice_template(template_id:, body:, **_opts)
  request(
    method: :put,
    path: "/invoices/template/#{template_id}",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#update_invoice_template_late_fees_configuration(template_id:, body:, **_opts) ⇒ Object

Update template late fees configuration

API to update template late fees configuration by template id



72
73
74
75
76
77
78
79
# File 'lib/high_level/resources/invoices.rb', line 72

def update_invoice_template_late_fees_configuration(template_id:, body:, **_opts)
  request(
    method: :patch,
    path: "/invoices/template/#{template_id}/late-fees-configuration",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end

#void_invoice(invoice_id:, body:, **_opts) ⇒ Object

Void invoice

API to delete invoice by invoice id



287
288
289
290
291
292
293
294
# File 'lib/high_level/resources/invoices.rb', line 287

def void_invoice(invoice_id:, body:, **_opts)
  request(
    method: :post,
    path: "/invoices/#{invoice_id}/void",
    security: %w[Location-Access Agency-Access],
    body: body
  )
end