merge_ruby_client 1.1.0 → 2.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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounts/client.rb +16 -8
  3. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +6 -4
  4. data/lib/merge_ruby_client/accounting/client.rb +7 -0
  5. data/lib/merge_ruby_client/accounting/contacts/client.rb +14 -6
  6. data/lib/merge_ruby_client/accounting/expenses/client.rb +12 -4
  7. data/lib/merge_ruby_client/accounting/invoices/client.rb +12 -4
  8. data/lib/merge_ruby_client/accounting/items/client.rb +332 -0
  9. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +12 -4
  10. data/lib/merge_ruby_client/accounting/payments/client.rb +12 -4
  11. data/lib/merge_ruby_client/accounting/projects/client.rb +224 -0
  12. data/lib/merge_ruby_client/accounting/projects/types/projects_list_request_expand.rb +13 -0
  13. data/lib/merge_ruby_client/accounting/projects/types/projects_retrieve_request_expand.rb +13 -0
  14. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +12 -4
  15. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +16 -8
  16. data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +10 -2
  17. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +2 -0
  18. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +29 -1
  19. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_contact.rb +56 -0
  20. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_project.rb +55 -0
  21. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +29 -1
  22. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_contact.rb +56 -0
  23. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_project.rb +55 -0
  24. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +2 -0
  25. data/lib/merge_ruby_client/accounting/types/expense_line.rb +15 -1
  26. data/lib/merge_ruby_client/accounting/types/expense_line_project.rb +55 -0
  27. data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +15 -1
  28. data/lib/merge_ruby_client/accounting/types/expense_line_request_project.rb +55 -0
  29. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +12 -1
  30. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +12 -1
  31. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +15 -1
  32. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_project.rb +55 -0
  33. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +29 -1
  34. data/lib/merge_ruby_client/accounting/types/invoice_line_item_contact.rb +56 -0
  35. data/lib/merge_ruby_client/accounting/types/invoice_line_item_project.rb +55 -0
  36. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +29 -1
  37. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_contact.rb +56 -0
  38. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_project.rb +55 -0
  39. data/lib/merge_ruby_client/accounting/types/item_request_request.rb +202 -0
  40. data/lib/merge_ruby_client/accounting/types/item_request_request_company.rb +56 -0
  41. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_account.rb +56 -0
  42. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_tax_rate.rb +56 -0
  43. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_account.rb +56 -0
  44. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_tax_rate.rb +56 -0
  45. data/lib/merge_ruby_client/accounting/types/item_response.rb +101 -0
  46. data/lib/merge_ruby_client/accounting/types/journal_line.rb +15 -1
  47. data/lib/merge_ruby_client/accounting/types/journal_line_project.rb +55 -0
  48. data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +15 -1
  49. data/lib/merge_ruby_client/accounting/types/journal_line_request_project.rb +55 -0
  50. data/lib/merge_ruby_client/accounting/types/paginated_project_list.rb +80 -0
  51. data/lib/merge_ruby_client/accounting/types/patched_item_request_request.rb +172 -0
  52. data/lib/merge_ruby_client/accounting/types/project.rb +162 -0
  53. data/lib/merge_ruby_client/accounting/types/project_company.rb +56 -0
  54. data/lib/merge_ruby_client/accounting/types/project_contact.rb +56 -0
  55. data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +12 -1
  56. data/lib/merge_ruby_client/accounting/types/type_2_bb_enum.rb +16 -0
  57. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +29 -1
  58. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_contact.rb +55 -0
  59. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_project.rb +55 -0
  60. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +29 -1
  61. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_contact.rb +55 -0
  62. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_project.rb +55 -0
  63. data/lib/merge_ruby_client/ats/audit_trail/client.rb +6 -4
  64. data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +10 -2
  65. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +2 -0
  66. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +1 -0
  67. data/lib/merge_ruby_client/crm/accounts/client.rb +6 -2
  68. data/lib/merge_ruby_client/crm/audit_trail/client.rb +6 -4
  69. data/lib/merge_ruby_client/crm/contacts/client.rb +6 -2
  70. data/lib/merge_ruby_client/crm/custom_objects/client.rb +10 -2
  71. data/lib/merge_ruby_client/crm/engagement_types/client.rb +6 -2
  72. data/lib/merge_ruby_client/crm/engagements/client.rb +6 -2
  73. data/lib/merge_ruby_client/crm/leads/client.rb +6 -2
  74. data/lib/merge_ruby_client/crm/notes/client.rb +6 -2
  75. data/lib/merge_ruby_client/crm/opportunities/client.rb +6 -2
  76. data/lib/merge_ruby_client/crm/stages/client.rb +6 -2
  77. data/lib/merge_ruby_client/crm/sync_status/client.rb +20 -6
  78. data/lib/merge_ruby_client/crm/tasks/client.rb +6 -2
  79. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +2 -0
  80. data/lib/merge_ruby_client/crm/types/custom_object_request.rb +26 -3
  81. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +2 -0
  82. data/lib/merge_ruby_client/crm/users/client.rb +6 -2
  83. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +6 -4
  84. data/lib/merge_ruby_client/filestorage/files/client.rb +48 -12
  85. data/lib/merge_ruby_client/filestorage/files/types/files_download_request_meta_list_request_order_by.rb +14 -0
  86. data/lib/merge_ruby_client/filestorage/files/types/files_list_request_order_by.rb +14 -0
  87. data/lib/merge_ruby_client/filestorage/sync_status/client.rb +20 -6
  88. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +10 -2
  89. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +2 -0
  90. data/lib/merge_ruby_client/filestorage/types/download_request_meta.rb +2 -9
  91. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +2 -0
  92. data/lib/merge_ruby_client/filestorage/types/file.rb +13 -1
  93. data/lib/merge_ruby_client/filestorage/types/file_request.rb +13 -1
  94. data/lib/merge_ruby_client/hris/audit_trail/client.rb +6 -4
  95. data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +10 -2
  96. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +2 -0
  97. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +2 -0
  98. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +6 -4
  99. data/lib/merge_ruby_client/ticketing/tickets/client.rb +26 -10
  100. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +10 -2
  101. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +2 -0
  102. data/lib/merge_ruby_client/ticketing/types/collection.rb +18 -16
  103. data/lib/merge_ruby_client/ticketing/types/{access_level_enum.rb → collection_access_level_enum.rb} +3 -1
  104. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +2 -0
  105. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +20 -1
  106. data/lib/merge_ruby_client/ticketing/types/ticket.rb +20 -1
  107. data/lib/merge_ruby_client/ticketing/types/ticket_access_level_enum.rb +16 -0
  108. data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +20 -1
  109. data/lib/merge_ruby_client.rb +7 -7
  110. data/lib/requests.rb +2 -2
  111. data/lib/types_export.rb +243 -208
  112. metadata +39 -3
@@ -0,0 +1,224 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "types/projects_list_request_expand"
5
+ require_relative "../types/paginated_project_list"
6
+ require_relative "types/projects_retrieve_request_expand"
7
+ require_relative "../types/project"
8
+ require "async"
9
+
10
+ module Merge
11
+ module Accounting
12
+ class ProjectsClient
13
+ # @return [Merge::RequestClient]
14
+ attr_reader :request_client
15
+
16
+ # @param request_client [Merge::RequestClient]
17
+ # @return [Merge::Accounting::ProjectsClient]
18
+ def initialize(request_client:)
19
+ @request_client = request_client
20
+ end
21
+
22
+ # Returns a list of `Project` objects.
23
+ #
24
+ # @param cursor [String] The pagination cursor value.
25
+ # @param expand [Merge::Accounting::Projects::ProjectsListRequestExpand] Which relations should be returned in expanded form. Multiple relation names
26
+ # should be comma separated without spaces.
27
+ # @param include_deleted_data [Boolean] Indicates whether or not this object has been deleted in the third party
28
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
29
+ # detection is offered for free with limited coverage. [Learn
30
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
31
+ # @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
32
+ # produce these models.
33
+ # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
34
+ # contain some metadata but all other fields are null).
35
+ # @param page_size [Integer] Number of results to return per page.
36
+ # @param request_options [Merge::RequestOptions]
37
+ # @return [Merge::Accounting::PaginatedProjectList]
38
+ # @example
39
+ # api = Merge::Client.new(
40
+ # base_url: "https://api.example.com",
41
+ # environment: Merge::Environment::PRODUCTION,
42
+ # api_key: "YOUR_AUTH_TOKEN"
43
+ # )
44
+ # api.accounting.projects.list
45
+ def list(cursor: nil, expand: nil, include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil,
46
+ page_size: nil, request_options: nil)
47
+ response = @request_client.conn.get do |req|
48
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
49
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
50
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
51
+ req.headers = {
52
+ **(req.headers || {}),
53
+ **@request_client.get_headers,
54
+ **(request_options&.additional_headers || {})
55
+ }.compact
56
+ req.params = {
57
+ **(request_options&.additional_query_parameters || {}),
58
+ "cursor": cursor,
59
+ "expand": expand,
60
+ "include_deleted_data": include_deleted_data,
61
+ "include_remote_data": include_remote_data,
62
+ "include_shell_data": include_shell_data,
63
+ "page_size": page_size
64
+ }.compact
65
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
66
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
67
+ end
68
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/projects"
69
+ end
70
+ Merge::Accounting::PaginatedProjectList.from_json(json_object: response.body)
71
+ end
72
+
73
+ # Returns a `Project` object with the given `id`.
74
+ #
75
+ # @param id [String]
76
+ # @param expand [Merge::Accounting::Projects::ProjectsRetrieveRequestExpand] Which relations should be returned in expanded form. Multiple relation names
77
+ # should be comma separated without spaces.
78
+ # @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
79
+ # produce these models.
80
+ # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
81
+ # contain some metadata but all other fields are null).
82
+ # @param request_options [Merge::RequestOptions]
83
+ # @return [Merge::Accounting::Project]
84
+ # @example
85
+ # api = Merge::Client.new(
86
+ # base_url: "https://api.example.com",
87
+ # environment: Merge::Environment::PRODUCTION,
88
+ # api_key: "YOUR_AUTH_TOKEN"
89
+ # )
90
+ # api.accounting.projects.retrieve(id: "id")
91
+ def retrieve(id:, expand: nil, include_remote_data: nil, include_shell_data: nil, request_options: nil)
92
+ response = @request_client.conn.get do |req|
93
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
94
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
95
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
96
+ req.headers = {
97
+ **(req.headers || {}),
98
+ **@request_client.get_headers,
99
+ **(request_options&.additional_headers || {})
100
+ }.compact
101
+ req.params = {
102
+ **(request_options&.additional_query_parameters || {}),
103
+ "expand": expand,
104
+ "include_remote_data": include_remote_data,
105
+ "include_shell_data": include_shell_data
106
+ }.compact
107
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
108
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
109
+ end
110
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/projects/#{id}"
111
+ end
112
+ Merge::Accounting::Project.from_json(json_object: response.body)
113
+ end
114
+ end
115
+
116
+ class AsyncProjectsClient
117
+ # @return [Merge::AsyncRequestClient]
118
+ attr_reader :request_client
119
+
120
+ # @param request_client [Merge::AsyncRequestClient]
121
+ # @return [Merge::Accounting::AsyncProjectsClient]
122
+ def initialize(request_client:)
123
+ @request_client = request_client
124
+ end
125
+
126
+ # Returns a list of `Project` objects.
127
+ #
128
+ # @param cursor [String] The pagination cursor value.
129
+ # @param expand [Merge::Accounting::Projects::ProjectsListRequestExpand] Which relations should be returned in expanded form. Multiple relation names
130
+ # should be comma separated without spaces.
131
+ # @param include_deleted_data [Boolean] Indicates whether or not this object has been deleted in the third party
132
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
133
+ # detection is offered for free with limited coverage. [Learn
134
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
135
+ # @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
136
+ # produce these models.
137
+ # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
138
+ # contain some metadata but all other fields are null).
139
+ # @param page_size [Integer] Number of results to return per page.
140
+ # @param request_options [Merge::RequestOptions]
141
+ # @return [Merge::Accounting::PaginatedProjectList]
142
+ # @example
143
+ # api = Merge::Client.new(
144
+ # base_url: "https://api.example.com",
145
+ # environment: Merge::Environment::PRODUCTION,
146
+ # api_key: "YOUR_AUTH_TOKEN"
147
+ # )
148
+ # api.accounting.projects.list
149
+ def list(cursor: nil, expand: nil, include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil,
150
+ page_size: nil, request_options: nil)
151
+ Async do
152
+ response = @request_client.conn.get do |req|
153
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
154
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
155
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
156
+ req.headers = {
157
+ **(req.headers || {}),
158
+ **@request_client.get_headers,
159
+ **(request_options&.additional_headers || {})
160
+ }.compact
161
+ req.params = {
162
+ **(request_options&.additional_query_parameters || {}),
163
+ "cursor": cursor,
164
+ "expand": expand,
165
+ "include_deleted_data": include_deleted_data,
166
+ "include_remote_data": include_remote_data,
167
+ "include_shell_data": include_shell_data,
168
+ "page_size": page_size
169
+ }.compact
170
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
171
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
172
+ end
173
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/projects"
174
+ end
175
+ Merge::Accounting::PaginatedProjectList.from_json(json_object: response.body)
176
+ end
177
+ end
178
+
179
+ # Returns a `Project` object with the given `id`.
180
+ #
181
+ # @param id [String]
182
+ # @param expand [Merge::Accounting::Projects::ProjectsRetrieveRequestExpand] Which relations should be returned in expanded form. Multiple relation names
183
+ # should be comma separated without spaces.
184
+ # @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
185
+ # produce these models.
186
+ # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
187
+ # contain some metadata but all other fields are null).
188
+ # @param request_options [Merge::RequestOptions]
189
+ # @return [Merge::Accounting::Project]
190
+ # @example
191
+ # api = Merge::Client.new(
192
+ # base_url: "https://api.example.com",
193
+ # environment: Merge::Environment::PRODUCTION,
194
+ # api_key: "YOUR_AUTH_TOKEN"
195
+ # )
196
+ # api.accounting.projects.retrieve(id: "id")
197
+ def retrieve(id:, expand: nil, include_remote_data: nil, include_shell_data: nil, request_options: nil)
198
+ Async do
199
+ response = @request_client.conn.get do |req|
200
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
201
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
202
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
203
+ req.headers = {
204
+ **(req.headers || {}),
205
+ **@request_client.get_headers,
206
+ **(request_options&.additional_headers || {})
207
+ }.compact
208
+ req.params = {
209
+ **(request_options&.additional_query_parameters || {}),
210
+ "expand": expand,
211
+ "include_remote_data": include_remote_data,
212
+ "include_shell_data": include_shell_data
213
+ }.compact
214
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
215
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
216
+ end
217
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/projects/#{id}"
218
+ end
219
+ Merge::Accounting::Project.from_json(json_object: response.body)
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Merge
4
+ module Accounting
5
+ class Projects
6
+ class ProjectsListRequestExpand
7
+ COMPANY = "company"
8
+ COMPANY_CONTACT = "company,contact"
9
+ CONTACT = "contact"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Merge
4
+ module Accounting
5
+ class Projects
6
+ class ProjectsRetrieveRequestExpand
7
+ COMPANY = "company"
8
+ COMPANY_CONTACT = "company,contact"
9
+ CONTACT = "contact"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -219,6 +219,7 @@ module Merge
219
219
  # contain some metadata but all other fields are null).
220
220
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
221
221
  # is_common_model_field value
222
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
222
223
  # @param page_size [Integer] Number of results to return per page.
223
224
  # @param request_options [Merge::RequestOptions]
224
225
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -230,7 +231,7 @@ module Merge
230
231
  # )
231
232
  # api.accounting.purchase_orders.line_items_remote_field_classes_list
232
233
  def line_items_remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
233
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
234
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
234
235
  response = @request_client.conn.get do |req|
235
236
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
236
237
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -247,6 +248,7 @@ module Merge
247
248
  "include_remote_data": include_remote_data,
248
249
  "include_shell_data": include_shell_data,
249
250
  "is_common_model_field": is_common_model_field,
251
+ "is_custom": is_custom,
250
252
  "page_size": page_size
251
253
  }.compact
252
254
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -302,6 +304,7 @@ module Merge
302
304
  # contain some metadata but all other fields are null).
303
305
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
304
306
  # is_common_model_field value
307
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
305
308
  # @param page_size [Integer] Number of results to return per page.
306
309
  # @param request_options [Merge::RequestOptions]
307
310
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -313,7 +316,7 @@ module Merge
313
316
  # )
314
317
  # api.accounting.purchase_orders.remote_field_classes_list
315
318
  def remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
316
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
319
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
317
320
  response = @request_client.conn.get do |req|
318
321
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
319
322
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -330,6 +333,7 @@ module Merge
330
333
  "include_remote_data": include_remote_data,
331
334
  "include_shell_data": include_shell_data,
332
335
  "is_common_model_field": is_common_model_field,
336
+ "is_custom": is_custom,
333
337
  "page_size": page_size
334
338
  }.compact
335
339
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -552,6 +556,7 @@ module Merge
552
556
  # contain some metadata but all other fields are null).
553
557
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
554
558
  # is_common_model_field value
559
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
555
560
  # @param page_size [Integer] Number of results to return per page.
556
561
  # @param request_options [Merge::RequestOptions]
557
562
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -563,7 +568,7 @@ module Merge
563
568
  # )
564
569
  # api.accounting.purchase_orders.line_items_remote_field_classes_list
565
570
  def line_items_remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
566
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
571
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
567
572
  Async do
568
573
  response = @request_client.conn.get do |req|
569
574
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -581,6 +586,7 @@ module Merge
581
586
  "include_remote_data": include_remote_data,
582
587
  "include_shell_data": include_shell_data,
583
588
  "is_common_model_field": is_common_model_field,
589
+ "is_custom": is_custom,
584
590
  "page_size": page_size
585
591
  }.compact
586
592
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -639,6 +645,7 @@ module Merge
639
645
  # contain some metadata but all other fields are null).
640
646
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
641
647
  # is_common_model_field value
648
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
642
649
  # @param page_size [Integer] Number of results to return per page.
643
650
  # @param request_options [Merge::RequestOptions]
644
651
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -650,7 +657,7 @@ module Merge
650
657
  # )
651
658
  # api.accounting.purchase_orders.remote_field_classes_list
652
659
  def remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
653
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
660
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
654
661
  Async do
655
662
  response = @request_client.conn.get do |req|
656
663
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -668,6 +675,7 @@ module Merge
668
675
  "include_remote_data": include_remote_data,
669
676
  "include_shell_data": include_shell_data,
670
677
  "is_common_model_field": is_common_model_field,
678
+ "is_custom": is_custom,
671
679
  "page_size": page_size
672
680
  }.compact
673
681
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -20,6 +20,7 @@ module Merge
20
20
 
21
21
  # Returns a list of `TrackingCategory` objects.
22
22
  #
23
+ # @param category_type [String] If provided, will only return tracking categories with this type.
23
24
  # @param company_id [String] If provided, will only return tracking categories for this company.
24
25
  # @param created_after [DateTime] If provided, will only return objects created after this datetime.
25
26
  # @param created_before [DateTime] If provided, will only return objects created before this datetime.
@@ -37,13 +38,14 @@ module Merge
37
38
  # @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
38
39
  # @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
39
40
  # returned.
40
- # @param name [String] If provided, will only return TrackingCategories with this name.
41
+ # @param name [String] If provided, will only return tracking categories with this name.
41
42
  # @param page_size [Integer] Number of results to return per page.
42
43
  # @param remote_fields [String] Deprecated. Use show_enum_origins.
43
44
  # @param remote_id [String] The API provider's ID for the given object.
44
45
  # @param show_enum_origins [String] A comma separated list of enum field names for which you'd like the original
45
46
  # values to be returned, instead of Merge's normalized enum values. [Learn
46
47
  # e](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
48
+ # @param status [String] If provided, will only return tracking categories with this status.
47
49
  # @param request_options [Merge::RequestOptions]
48
50
  # @return [Merge::Accounting::PaginatedTrackingCategoryList]
49
51
  # @example
@@ -53,8 +55,8 @@ module Merge
53
55
  # api_key: "YOUR_AUTH_TOKEN"
54
56
  # )
55
57
  # api.accounting.tracking_categories.list
56
- def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
57
- include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, name: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, request_options: nil)
58
+ def list(category_type: nil, company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
59
+ include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, name: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, status: nil, request_options: nil)
58
60
  response = @request_client.conn.get do |req|
59
61
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
60
62
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -66,6 +68,7 @@ module Merge
66
68
  }.compact
67
69
  req.params = {
68
70
  **(request_options&.additional_query_parameters || {}),
71
+ "category_type": category_type,
69
72
  "company_id": company_id,
70
73
  "created_after": created_after,
71
74
  "created_before": created_before,
@@ -80,7 +83,8 @@ module Merge
80
83
  "page_size": page_size,
81
84
  "remote_fields": remote_fields,
82
85
  "remote_id": remote_id,
83
- "show_enum_origins": show_enum_origins
86
+ "show_enum_origins": show_enum_origins,
87
+ "status": status
84
88
  }.compact
85
89
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
86
90
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
@@ -152,6 +156,7 @@ module Merge
152
156
 
153
157
  # Returns a list of `TrackingCategory` objects.
154
158
  #
159
+ # @param category_type [String] If provided, will only return tracking categories with this type.
155
160
  # @param company_id [String] If provided, will only return tracking categories for this company.
156
161
  # @param created_after [DateTime] If provided, will only return objects created after this datetime.
157
162
  # @param created_before [DateTime] If provided, will only return objects created before this datetime.
@@ -169,13 +174,14 @@ module Merge
169
174
  # @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
170
175
  # @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
171
176
  # returned.
172
- # @param name [String] If provided, will only return TrackingCategories with this name.
177
+ # @param name [String] If provided, will only return tracking categories with this name.
173
178
  # @param page_size [Integer] Number of results to return per page.
174
179
  # @param remote_fields [String] Deprecated. Use show_enum_origins.
175
180
  # @param remote_id [String] The API provider's ID for the given object.
176
181
  # @param show_enum_origins [String] A comma separated list of enum field names for which you'd like the original
177
182
  # values to be returned, instead of Merge's normalized enum values. [Learn
178
183
  # e](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
184
+ # @param status [String] If provided, will only return tracking categories with this status.
179
185
  # @param request_options [Merge::RequestOptions]
180
186
  # @return [Merge::Accounting::PaginatedTrackingCategoryList]
181
187
  # @example
@@ -185,8 +191,8 @@ module Merge
185
191
  # api_key: "YOUR_AUTH_TOKEN"
186
192
  # )
187
193
  # api.accounting.tracking_categories.list
188
- def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
189
- include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, name: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, request_options: nil)
194
+ def list(category_type: nil, company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
195
+ include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, name: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, status: nil, request_options: nil)
190
196
  Async do
191
197
  response = @request_client.conn.get do |req|
192
198
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -199,6 +205,7 @@ module Merge
199
205
  }.compact
200
206
  req.params = {
201
207
  **(request_options&.additional_query_parameters || {}),
208
+ "category_type": category_type,
202
209
  "company_id": company_id,
203
210
  "created_after": created_after,
204
211
  "created_before": created_before,
@@ -213,7 +220,8 @@ module Merge
213
220
  "page_size": page_size,
214
221
  "remote_fields": remote_fields,
215
222
  "remote_id": remote_id,
216
- "show_enum_origins": show_enum_origins
223
+ "show_enum_origins": show_enum_origins,
224
+ "status": status
217
225
  }.compact
218
226
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
219
227
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
@@ -45,6 +45,8 @@ module Merge
45
45
  attr_reader :account_type
46
46
  # @return [DateTime]
47
47
  attr_reader :completed_at
48
+ # @return [Hash{String => Object}]
49
+ attr_reader :integration_specific_fields
48
50
  # @return [OpenStruct] Additional properties unmapped to the current class definition
49
51
  attr_reader :additional_properties
50
52
  # @return [Object]
@@ -69,10 +71,11 @@ module Merge
69
71
  # @param integration [Merge::Accounting::AccountDetailsAndActionsIntegration]
70
72
  # @param account_type [String]
71
73
  # @param completed_at [DateTime]
74
+ # @param integration_specific_fields [Hash{String => Object}]
72
75
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
73
76
  # @return [Merge::Accounting::AccountDetailsAndActions]
74
77
  def initialize(id:, status:, end_user_organization_name:, end_user_email_address:, webhook_listener_url:,
75
- account_type:, completed_at:, category: OMIT, status_detail: OMIT, end_user_origin_id: OMIT, subdomain: OMIT, is_duplicate: OMIT, integration: OMIT, additional_properties: nil)
78
+ account_type:, completed_at:, category: OMIT, status_detail: OMIT, end_user_origin_id: OMIT, subdomain: OMIT, is_duplicate: OMIT, integration: OMIT, integration_specific_fields: OMIT, additional_properties: nil)
76
79
  @id = id
77
80
  @category = category if category != OMIT
78
81
  @status = status
@@ -86,6 +89,7 @@ module Merge
86
89
  @integration = integration if integration != OMIT
87
90
  @account_type = account_type
88
91
  @completed_at = completed_at
92
+ @integration_specific_fields = integration_specific_fields if integration_specific_fields != OMIT
89
93
  @additional_properties = additional_properties
90
94
  @_field_set = {
91
95
  "id": id,
@@ -100,7 +104,8 @@ module Merge
100
104
  "is_duplicate": is_duplicate,
101
105
  "integration": integration,
102
106
  "account_type": account_type,
103
- "completed_at": completed_at
107
+ "completed_at": completed_at,
108
+ "integration_specific_fields": integration_specific_fields
104
109
  }.reject do |_k, v|
105
110
  v == OMIT
106
111
  end
@@ -131,6 +136,7 @@ module Merge
131
136
  end
132
137
  account_type = parsed_json["account_type"]
133
138
  completed_at = (DateTime.parse(parsed_json["completed_at"]) unless parsed_json["completed_at"].nil?)
139
+ integration_specific_fields = parsed_json["integration_specific_fields"]
134
140
  new(
135
141
  id: id,
136
142
  category: category,
@@ -145,6 +151,7 @@ module Merge
145
151
  integration: integration,
146
152
  account_type: account_type,
147
153
  completed_at: completed_at,
154
+ integration_specific_fields: integration_specific_fields,
148
155
  additional_properties: struct
149
156
  )
150
157
  end
@@ -176,6 +183,7 @@ module Merge
176
183
  obj.integration.nil? || Merge::Accounting::AccountDetailsAndActionsIntegration.validate_raw(obj: obj.integration)
177
184
  obj.account_type.is_a?(String) != false || raise("Passed value for field obj.account_type is not the expected type, validation failed.")
178
185
  obj.completed_at.is_a?(DateTime) != false || raise("Passed value for field obj.completed_at is not the expected type, validation failed.")
186
+ obj.integration_specific_fields&.is_a?(Hash) != false || raise("Passed value for field obj.integration_specific_fields is not the expected type, validation failed.")
179
187
  end
180
188
  end
181
189
  end
@@ -32,6 +32,7 @@ module Merge
32
32
  # * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY
33
33
  # * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY
34
34
  # * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY
35
+ # * `REGENERATED_WEBHOOK_SIGNATURE` - REGENERATED_WEBHOOK_SIGNATURE
35
36
  # * `INVITED_USER` - INVITED_USER
36
37
  # * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED
37
38
  # * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED
@@ -111,6 +112,7 @@ module Merge
111
112
  # * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY
112
113
  # * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY
113
114
  # * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY
115
+ # * `REGENERATED_WEBHOOK_SIGNATURE` - REGENERATED_WEBHOOK_SIGNATURE
114
116
  # * `INVITED_USER` - INVITED_USER
115
117
  # * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED
116
118
  # * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED
@@ -3,6 +3,8 @@
3
3
  require "date"
4
4
  require_relative "credit_note_line_item_item"
5
5
  require_relative "credit_note_line_item_company"
6
+ require_relative "credit_note_line_item_contact"
7
+ require_relative "credit_note_line_item_project"
6
8
  require "ostruct"
7
9
  require "json"
8
10
 
@@ -46,6 +48,10 @@ module Merge
46
48
  attr_reader :account
47
49
  # @return [Merge::Accounting::CreditNoteLineItemCompany] The company the credit note belongs to.
48
50
  attr_reader :company
51
+ # @return [Merge::Accounting::CreditNoteLineItemContact] The credit note's contact.
52
+ attr_reader :contact
53
+ # @return [Merge::Accounting::CreditNoteLineItemProject]
54
+ attr_reader :project
49
55
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
50
56
  # platform. Full coverage deletion detection is a premium add-on. Native deletion
51
57
  # detection is offered for free with limited coverage. [Learn
@@ -75,6 +81,8 @@ module Merge
75
81
  # @param tracking_categories [Array<String>] The credit note line item's associated tracking categories.
76
82
  # @param account [String] The credit note line item's account.
77
83
  # @param company [Merge::Accounting::CreditNoteLineItemCompany] The company the credit note belongs to.
84
+ # @param contact [Merge::Accounting::CreditNoteLineItemContact] The credit note's contact.
85
+ # @param project [Merge::Accounting::CreditNoteLineItemProject]
78
86
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
79
87
  # platform. Full coverage deletion detection is a premium add-on. Native deletion
80
88
  # detection is offered for free with limited coverage. [Learn
@@ -82,7 +90,7 @@ module Merge
82
90
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
83
91
  # @return [Merge::Accounting::CreditNoteLineItem]
84
92
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, item: OMIT, name: OMIT,
85
- description: OMIT, quantity: OMIT, memo: OMIT, unit_price: OMIT, tax_rate: OMIT, total_line_amount: OMIT, tracking_category: OMIT, tracking_categories: OMIT, account: OMIT, company: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
93
+ description: OMIT, quantity: OMIT, memo: OMIT, unit_price: OMIT, tax_rate: OMIT, total_line_amount: OMIT, tracking_category: OMIT, tracking_categories: OMIT, account: OMIT, company: OMIT, contact: OMIT, project: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
86
94
  @id = id if id != OMIT
87
95
  @remote_id = remote_id if remote_id != OMIT
88
96
  @created_at = created_at if created_at != OMIT
@@ -99,6 +107,8 @@ module Merge
99
107
  @tracking_categories = tracking_categories if tracking_categories != OMIT
100
108
  @account = account if account != OMIT
101
109
  @company = company if company != OMIT
110
+ @contact = contact if contact != OMIT
111
+ @project = project if project != OMIT
102
112
  @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
103
113
  @additional_properties = additional_properties
104
114
  @_field_set = {
@@ -118,6 +128,8 @@ module Merge
118
128
  "tracking_categories": tracking_categories,
119
129
  "account": account,
120
130
  "company": company,
131
+ "contact": contact,
132
+ "project": project,
121
133
  "remote_was_deleted": remote_was_deleted
122
134
  }.reject do |_k, v|
123
135
  v == OMIT
@@ -157,6 +169,18 @@ module Merge
157
169
  company = parsed_json["company"].to_json
158
170
  company = Merge::Accounting::CreditNoteLineItemCompany.from_json(json_object: company)
159
171
  end
172
+ if parsed_json["contact"].nil?
173
+ contact = nil
174
+ else
175
+ contact = parsed_json["contact"].to_json
176
+ contact = Merge::Accounting::CreditNoteLineItemContact.from_json(json_object: contact)
177
+ end
178
+ if parsed_json["project"].nil?
179
+ project = nil
180
+ else
181
+ project = parsed_json["project"].to_json
182
+ project = Merge::Accounting::CreditNoteLineItemProject.from_json(json_object: project)
183
+ end
160
184
  remote_was_deleted = parsed_json["remote_was_deleted"]
161
185
  new(
162
186
  id: id,
@@ -175,6 +199,8 @@ module Merge
175
199
  tracking_categories: tracking_categories,
176
200
  account: account,
177
201
  company: company,
202
+ contact: contact,
203
+ project: project,
178
204
  remote_was_deleted: remote_was_deleted,
179
205
  additional_properties: struct
180
206
  )
@@ -210,6 +236,8 @@ module Merge
210
236
  obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
211
237
  obj.account&.is_a?(String) != false || raise("Passed value for field obj.account is not the expected type, validation failed.")
212
238
  obj.company.nil? || Merge::Accounting::CreditNoteLineItemCompany.validate_raw(obj: obj.company)
239
+ obj.contact.nil? || Merge::Accounting::CreditNoteLineItemContact.validate_raw(obj: obj.contact)
240
+ obj.project.nil? || Merge::Accounting::CreditNoteLineItemProject.validate_raw(obj: obj.project)
213
241
  obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
214
242
  end
215
243
  end