Class: Dolibarr::Api::Invoices

Inherits:
Object
  • Object
show all
Defined in:
lib/dolibarr-api/api/invoices.rb

Defined Under Namespace

Classes: Contact, Contacts, Createfromcontract, Createfromorder, Lines, Payments, Ref, RefExt, Templates, Usecreditnote, Usediscount

Instance Method Summary collapse

Constructor Details

#initialize(connection) ⇒ Invoices

Returns a new instance of Invoices.



5
6
7
# File 'lib/dolibarr-api/api/invoices.rb', line 5

def initialize(connection)
  @connection = connection
end

Instance Method Details

#add_payment_distributed(invoices_add_payment_distributed_model:) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
# File 'lib/dolibarr-api/api/invoices.rb', line 9

def add_payment_distributed(invoices_add_payment_distributed_model:)
  raise ArgumentError, 'invoices_add_payment_distributed_model is required' if invoices_add_payment_distributed_model.nil?

  @connection.call(
    :POST,
    '/invoices/paymentsdistributed',
    type: nil,
    auth: ['api_key'],
    body: invoices_add_payment_distributed_model
  )
end

#create(create_invoices_model: nil) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/dolibarr-api/api/invoices.rb', line 21

def create(create_invoices_model: nil)
  @connection.call(
    :POST,
    '/invoices',
    type: nil,
    auth: ['api_key'],
    body: create_invoices_model
  )
end

#delete(id:) ⇒ Object

Raises:

  • (ArgumentError)


31
32
33
34
35
36
37
38
39
40
41
# File 'lib/dolibarr-api/api/invoices.rb', line 31

def delete(id:)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :DELETE,
    '/invoices/{id}'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key']
  )
end

#get(id:, contact_list: nil, properties: nil, with_lines: nil) ⇒ Object

Raises:

  • (ArgumentError)


43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/dolibarr-api/api/invoices.rb', line 43

def get(id:, contact_list: nil, properties: nil, with_lines: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :GET,
    '/invoices/{id}'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key'],
    query: { 'contact_list' => contact_list, 'properties' => properties, 'withLines' => with_lines }
  )
end

#list(sortfield: nil, sortorder: nil, limit: nil, page: nil, thirdparty_ids: nil, status: nil, sqlfilters: nil, properties: nil, pagination_data: nil, loadlinkedobjects: nil, with_lines: nil) ⇒ Object



56
57
58
59
60
61
62
63
64
# File 'lib/dolibarr-api/api/invoices.rb', line 56

def list(sortfield: nil, sortorder: nil, limit: nil, page: nil, thirdparty_ids: nil, status: nil, sqlfilters: nil, properties: nil, pagination_data: nil, loadlinkedobjects: nil, with_lines: nil)
  @connection.call(
    :GET,
    '/invoices',
    type: nil,
    auth: ['api_key'],
    query: { 'sortfield' => sortfield, 'sortorder' => sortorder, 'limit' => limit, 'page' => page, 'thirdparty_ids' => thirdparty_ids, 'status' => status, 'sqlfilters' => sqlfilters, 'properties' => properties, 'pagination_data' => pagination_data, 'loadlinkedobjects' => loadlinkedobjects, 'withLines' => with_lines }
  )
end

#mark_as_credit_available(id:) ⇒ Object

Raises:

  • (ArgumentError)


66
67
68
69
70
71
72
73
74
75
76
# File 'lib/dolibarr-api/api/invoices.rb', line 66

def mark_as_credit_available(id:)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :POST,
    '/invoices/{id}/markAsCreditAvailable'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key']
  )
end

#retrieve_discount(id:) ⇒ Object

Raises:

  • (ArgumentError)


78
79
80
81
82
83
84
85
86
87
88
# File 'lib/dolibarr-api/api/invoices.rb', line 78

def retrieve_discount(id:)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :GET,
    '/invoices/{id}/discount'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key']
  )
end

#settodraft(id:, invoices_settodraft_model: nil) ⇒ Object

Raises:

  • (ArgumentError)


90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/dolibarr-api/api/invoices.rb', line 90

def settodraft(id:, invoices_settodraft_model: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :POST,
    '/invoices/{id}/settodraft'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key'],
    body: invoices_settodraft_model
  )
end

#settopaid(id:, invoices_settopaid_model: nil) ⇒ Object

Raises:

  • (ArgumentError)


103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/dolibarr-api/api/invoices.rb', line 103

def settopaid(id:, invoices_settopaid_model: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :POST,
    '/invoices/{id}/settopaid'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key'],
    body: invoices_settopaid_model
  )
end

#settounpaid(id:) ⇒ Object

Raises:

  • (ArgumentError)


116
117
118
119
120
121
122
123
124
125
126
# File 'lib/dolibarr-api/api/invoices.rb', line 116

def settounpaid(id:)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :POST,
    '/invoices/{id}/settounpaid'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: Dolibarr::Api::Models::Obj,
    auth: ['api_key']
  )
end

#update(id:, update_invoices_model: nil) ⇒ Object

Raises:

  • (ArgumentError)


128
129
130
131
132
133
134
135
136
137
138
139
# File 'lib/dolibarr-api/api/invoices.rb', line 128

def update(id:, update_invoices_model: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :PUT,
    '/invoices/{id}'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key'],
    body: update_invoices_model
  )
end

#validate(id:, invoices_validate_model: nil) ⇒ Object

Raises:

  • (ArgumentError)


141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/dolibarr-api/api/invoices.rb', line 141

def validate(id:, invoices_validate_model: nil)
  raise ArgumentError, 'id is required' if id.nil?

  @connection.call(
    :POST,
    '/invoices/{id}/validate'
      .gsub('{id}', ERB::Util.url_encode(id.to_s)),
    type: nil,
    auth: ['api_key'],
    body: invoices_validate_model
  )
end