merge_ruby_client 1.1.0 → 2.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.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +2 -2
  3. data/lib/merge_ruby_client/accounting/accounts/client.rb +18 -10
  4. data/lib/merge_ruby_client/accounting/attachments/client.rb +2 -2
  5. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +8 -6
  6. data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +2 -2
  7. data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +2 -2
  8. data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +2 -2
  9. data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +2 -2
  10. data/lib/merge_ruby_client/accounting/client.rb +14 -0
  11. data/lib/merge_ruby_client/accounting/company_info/client.rb +2 -2
  12. data/lib/merge_ruby_client/accounting/contacts/client.rb +187 -10
  13. data/lib/merge_ruby_client/accounting/credit_notes/client.rb +2 -2
  14. data/lib/merge_ruby_client/accounting/employees/client.rb +35 -8
  15. data/lib/merge_ruby_client/accounting/expense_reports/client.rb +765 -0
  16. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_lines_list_request_expand.rb +73 -0
  17. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_list_request_expand.rb +25 -0
  18. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_retrieve_request_expand.rb +25 -0
  19. data/lib/merge_ruby_client/accounting/expenses/client.rb +18 -10
  20. data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +2 -2
  21. data/lib/merge_ruby_client/accounting/income_statements/client.rb +2 -2
  22. data/lib/merge_ruby_client/accounting/invoices/client.rb +18 -10
  23. data/lib/merge_ruby_client/accounting/issues/client.rb +2 -2
  24. data/lib/merge_ruby_client/accounting/items/client.rb +334 -2
  25. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +18 -10
  26. data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
  27. data/lib/merge_ruby_client/accounting/payment_methods/client.rb +2 -2
  28. data/lib/merge_ruby_client/accounting/payment_terms/client.rb +2 -2
  29. data/lib/merge_ruby_client/accounting/payments/client.rb +18 -10
  30. data/lib/merge_ruby_client/accounting/projects/client.rb +251 -0
  31. data/lib/merge_ruby_client/accounting/projects/types/projects_list_request_expand.rb +13 -0
  32. data/lib/merge_ruby_client/accounting/projects/types/projects_retrieve_request_expand.rb +13 -0
  33. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +18 -10
  34. data/lib/merge_ruby_client/accounting/sync_status/client.rb +2 -2
  35. data/lib/merge_ruby_client/accounting/tax_rates/client.rb +2 -2
  36. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +18 -10
  37. data/lib/merge_ruby_client/accounting/transactions/client.rb +2 -2
  38. data/lib/merge_ruby_client/accounting/transactions/types/transactions_list_request_expand.rb +32 -0
  39. data/lib/merge_ruby_client/accounting/transactions/types/transactions_retrieve_request_expand.rb +32 -0
  40. data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +10 -2
  41. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +2 -0
  42. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +29 -1
  43. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_contact.rb +56 -0
  44. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_project.rb +55 -0
  45. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +29 -1
  46. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_contact.rb +56 -0
  47. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_project.rb +55 -0
  48. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +2 -0
  49. data/lib/merge_ruby_client/accounting/types/expense_line.rb +15 -1
  50. data/lib/merge_ruby_client/accounting/types/expense_line_project.rb +55 -0
  51. data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +15 -1
  52. data/lib/merge_ruby_client/accounting/types/expense_line_request_project.rb +55 -0
  53. data/lib/merge_ruby_client/accounting/types/expense_report.rb +869 -0
  54. data/lib/merge_ruby_client/accounting/types/expense_report_company.rb +56 -0
  55. data/lib/merge_ruby_client/accounting/types/expense_report_line.rb +921 -0
  56. data/lib/merge_ruby_client/accounting/types/expense_report_line_account.rb +55 -0
  57. data/lib/merge_ruby_client/accounting/types/expense_report_line_company.rb +56 -0
  58. data/lib/merge_ruby_client/accounting/types/expense_report_line_contact.rb +55 -0
  59. data/lib/merge_ruby_client/accounting/types/expense_report_line_employee.rb +57 -0
  60. data/lib/merge_ruby_client/accounting/types/expense_report_line_project.rb +55 -0
  61. data/lib/merge_ruby_client/accounting/types/expense_report_line_request.rb +899 -0
  62. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_account.rb +55 -0
  63. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_company.rb +56 -0
  64. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_contact.rb +55 -0
  65. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_employee.rb +57 -0
  66. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_project.rb +55 -0
  67. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_tax_rate.rb +55 -0
  68. data/lib/merge_ruby_client/accounting/types/expense_report_line_tax_rate.rb +55 -0
  69. data/lib/merge_ruby_client/accounting/types/expense_report_request.rb +819 -0
  70. data/lib/merge_ruby_client/accounting/types/expense_report_request_accounting_period.rb +56 -0
  71. data/lib/merge_ruby_client/accounting/types/expense_report_request_company.rb +56 -0
  72. data/lib/merge_ruby_client/accounting/types/expense_report_request_employee.rb +57 -0
  73. data/lib/merge_ruby_client/accounting/types/expense_report_response.rb +101 -0
  74. data/lib/merge_ruby_client/accounting/types/expense_report_status_enum.rb +16 -0
  75. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +23 -1
  76. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +23 -1
  77. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +15 -1
  78. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_project.rb +55 -0
  79. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +29 -1
  80. data/lib/merge_ruby_client/accounting/types/invoice_line_item_contact.rb +56 -0
  81. data/lib/merge_ruby_client/accounting/types/invoice_line_item_project.rb +55 -0
  82. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +29 -1
  83. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_contact.rb +56 -0
  84. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_project.rb +55 -0
  85. data/lib/merge_ruby_client/accounting/types/item.rb +18 -1
  86. data/lib/merge_ruby_client/accounting/types/item_request_request.rb +202 -0
  87. data/lib/merge_ruby_client/accounting/types/item_request_request_company.rb +56 -0
  88. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_account.rb +56 -0
  89. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_tax_rate.rb +56 -0
  90. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_account.rb +56 -0
  91. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_tax_rate.rb +56 -0
  92. data/lib/merge_ruby_client/accounting/types/item_response.rb +101 -0
  93. data/lib/merge_ruby_client/accounting/types/journal_line.rb +15 -1
  94. data/lib/merge_ruby_client/accounting/types/journal_line_project.rb +55 -0
  95. data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +15 -1
  96. data/lib/merge_ruby_client/accounting/types/journal_line_request_project.rb +55 -0
  97. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_line_list.rb +80 -0
  98. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_list.rb +80 -0
  99. data/lib/merge_ruby_client/accounting/types/paginated_project_list.rb +80 -0
  100. data/lib/merge_ruby_client/accounting/types/patched_contact_request.rb +188 -0
  101. data/lib/merge_ruby_client/accounting/types/patched_contact_request_addresses_item.rb +55 -0
  102. data/lib/merge_ruby_client/accounting/types/patched_item_request_request.rb +172 -0
  103. data/lib/merge_ruby_client/accounting/types/project.rb +162 -0
  104. data/lib/merge_ruby_client/accounting/types/project_company.rb +56 -0
  105. data/lib/merge_ruby_client/accounting/types/project_contact.rb +56 -0
  106. data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +12 -1
  107. data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +9 -1
  108. data/lib/merge_ruby_client/accounting/types/type_2_bb_enum.rb +16 -0
  109. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +29 -1
  110. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_contact.rb +55 -0
  111. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_project.rb +55 -0
  112. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +29 -1
  113. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_contact.rb +55 -0
  114. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_project.rb +55 -0
  115. data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +2 -2
  116. data/lib/merge_ruby_client/ats/activities/client.rb +2 -2
  117. data/lib/merge_ruby_client/ats/applications/client.rb +2 -2
  118. data/lib/merge_ruby_client/ats/attachments/client.rb +2 -2
  119. data/lib/merge_ruby_client/ats/audit_trail/client.rb +8 -6
  120. data/lib/merge_ruby_client/ats/candidates/client.rb +2 -2
  121. data/lib/merge_ruby_client/ats/departments/client.rb +2 -2
  122. data/lib/merge_ruby_client/ats/eeocs/client.rb +2 -2
  123. data/lib/merge_ruby_client/ats/interviews/client.rb +2 -2
  124. data/lib/merge_ruby_client/ats/issues/client.rb +2 -2
  125. data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +2 -2
  126. data/lib/merge_ruby_client/ats/job_postings/client.rb +2 -2
  127. data/lib/merge_ruby_client/ats/jobs/client.rb +4 -4
  128. data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
  129. data/lib/merge_ruby_client/ats/offers/client.rb +2 -2
  130. data/lib/merge_ruby_client/ats/offices/client.rb +2 -2
  131. data/lib/merge_ruby_client/ats/reject_reasons/client.rb +2 -2
  132. data/lib/merge_ruby_client/ats/scorecards/client.rb +2 -2
  133. data/lib/merge_ruby_client/ats/sync_status/client.rb +2 -2
  134. data/lib/merge_ruby_client/ats/tags/client.rb +2 -2
  135. data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +10 -2
  136. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +2 -0
  137. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +2 -0
  138. data/lib/merge_ruby_client/ats/users/client.rb +2 -2
  139. data/lib/merge_ruby_client/crm/accounts/client.rb +10 -6
  140. data/lib/merge_ruby_client/crm/association_types/client.rb +2 -2
  141. data/lib/merge_ruby_client/crm/associations/client.rb +10 -2
  142. data/lib/merge_ruby_client/crm/audit_trail/client.rb +8 -6
  143. data/lib/merge_ruby_client/crm/contacts/client.rb +10 -6
  144. data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +2 -2
  145. data/lib/merge_ruby_client/crm/custom_objects/client.rb +14 -6
  146. data/lib/merge_ruby_client/crm/engagement_types/client.rb +10 -6
  147. data/lib/merge_ruby_client/crm/engagements/client.rb +10 -6
  148. data/lib/merge_ruby_client/crm/issues/client.rb +2 -2
  149. data/lib/merge_ruby_client/crm/leads/client.rb +10 -6
  150. data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
  151. data/lib/merge_ruby_client/crm/notes/client.rb +10 -6
  152. data/lib/merge_ruby_client/crm/opportunities/client.rb +10 -6
  153. data/lib/merge_ruby_client/crm/stages/client.rb +10 -6
  154. data/lib/merge_ruby_client/crm/sync_status/client.rb +22 -8
  155. data/lib/merge_ruby_client/crm/tasks/client.rb +10 -6
  156. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +2 -0
  157. data/lib/merge_ruby_client/crm/types/custom_object_request.rb +26 -3
  158. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +2 -0
  159. data/lib/merge_ruby_client/crm/types/remote_field_class.rb +9 -1
  160. data/lib/merge_ruby_client/crm/users/client.rb +10 -6
  161. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +8 -6
  162. data/lib/merge_ruby_client/filestorage/drives/client.rb +2 -2
  163. data/lib/merge_ruby_client/filestorage/files/client.rb +70 -16
  164. data/lib/merge_ruby_client/filestorage/files/types/files_download_request_meta_list_request_order_by.rb +14 -0
  165. data/lib/merge_ruby_client/filestorage/files/types/files_list_request_order_by.rb +14 -0
  166. data/lib/merge_ruby_client/filestorage/folders/client.rb +2 -2
  167. data/lib/merge_ruby_client/filestorage/groups/client.rb +2 -2
  168. data/lib/merge_ruby_client/filestorage/issues/client.rb +2 -2
  169. data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
  170. data/lib/merge_ruby_client/filestorage/sync_status/client.rb +22 -8
  171. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +10 -2
  172. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +2 -0
  173. data/lib/merge_ruby_client/filestorage/types/download_request_meta.rb +2 -9
  174. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +2 -0
  175. data/lib/merge_ruby_client/filestorage/types/file.rb +13 -1
  176. data/lib/merge_ruby_client/filestorage/types/file_request.rb +13 -1
  177. data/lib/merge_ruby_client/filestorage/users/client.rb +2 -2
  178. data/lib/merge_ruby_client/hris/audit_trail/client.rb +8 -6
  179. data/lib/merge_ruby_client/hris/bank_info/client.rb +2 -2
  180. data/lib/merge_ruby_client/hris/benefits/client.rb +2 -2
  181. data/lib/merge_ruby_client/hris/companies/client.rb +2 -2
  182. data/lib/merge_ruby_client/hris/dependents/client.rb +8 -4
  183. data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +2 -2
  184. data/lib/merge_ruby_client/hris/employees/client.rb +8 -4
  185. data/lib/merge_ruby_client/hris/employer_benefits/client.rb +2 -2
  186. data/lib/merge_ruby_client/hris/employments/client.rb +2 -2
  187. data/lib/merge_ruby_client/hris/groups/client.rb +2 -2
  188. data/lib/merge_ruby_client/hris/issues/client.rb +2 -2
  189. data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
  190. data/lib/merge_ruby_client/hris/locations/client.rb +2 -2
  191. data/lib/merge_ruby_client/hris/pay_groups/client.rb +2 -2
  192. data/lib/merge_ruby_client/hris/payroll_runs/client.rb +2 -2
  193. data/lib/merge_ruby_client/hris/sync_status/client.rb +2 -2
  194. data/lib/merge_ruby_client/hris/teams/client.rb +2 -2
  195. data/lib/merge_ruby_client/hris/time_off/client.rb +2 -2
  196. data/lib/merge_ruby_client/hris/time_off_balances/client.rb +2 -2
  197. data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +2 -2
  198. data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +10 -2
  199. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +2 -0
  200. data/lib/merge_ruby_client/hris/types/benefit.rb +9 -9
  201. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +2 -0
  202. data/lib/merge_ruby_client/ticketing/accounts/client.rb +2 -2
  203. data/lib/merge_ruby_client/ticketing/attachments/client.rb +2 -2
  204. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +8 -6
  205. data/lib/merge_ruby_client/ticketing/collections/client.rb +4 -4
  206. data/lib/merge_ruby_client/ticketing/comments/client.rb +2 -2
  207. data/lib/merge_ruby_client/ticketing/contacts/client.rb +2 -2
  208. data/lib/merge_ruby_client/ticketing/issues/client.rb +2 -2
  209. data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
  210. data/lib/merge_ruby_client/ticketing/projects/client.rb +4 -4
  211. data/lib/merge_ruby_client/ticketing/roles/client.rb +2 -2
  212. data/lib/merge_ruby_client/ticketing/sync_status/client.rb +2 -2
  213. data/lib/merge_ruby_client/ticketing/tags/client.rb +2 -2
  214. data/lib/merge_ruby_client/ticketing/teams/client.rb +2 -2
  215. data/lib/merge_ruby_client/ticketing/tickets/client.rb +40 -20
  216. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +10 -2
  217. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +2 -0
  218. data/lib/merge_ruby_client/ticketing/types/collection.rb +18 -16
  219. data/lib/merge_ruby_client/ticketing/types/{access_level_enum.rb → collection_access_level_enum.rb} +3 -1
  220. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +2 -0
  221. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +28 -9
  222. data/lib/merge_ruby_client/ticketing/types/remote_field_class.rb +9 -1
  223. data/lib/merge_ruby_client/ticketing/types/ticket.rb +20 -1
  224. data/lib/merge_ruby_client/ticketing/types/ticket_access_level_enum.rb +16 -0
  225. data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +20 -1
  226. data/lib/merge_ruby_client/ticketing/users/client.rb +2 -2
  227. data/lib/merge_ruby_client.rb +14 -14
  228. data/lib/requests.rb +2 -2
  229. data/lib/types_export.rb +473 -409
  230. metadata +69 -3
@@ -8,6 +8,7 @@ require_relative "../types/contact_request"
8
8
  require_relative "../types/contact_response"
9
9
  require_relative "types/contacts_retrieve_request_expand"
10
10
  require_relative "../types/contact"
11
+ require_relative "../types/patched_contact_request"
11
12
  require_relative "../types/meta_response"
12
13
  require_relative "../types/paginated_remote_field_class_list"
13
14
  require "async"
@@ -55,6 +56,7 @@ module Merge
55
56
  # @param show_enum_origins [String] A comma separated list of enum field names for which you'd like the original
56
57
  # values to be returned, instead of Merge's normalized enum values. [Learn
57
58
  # e](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
59
+ # @param status [String] If provided, will only return Contacts that match this status.
58
60
  # @param request_options [Merge::RequestOptions]
59
61
  # @return [Merge::Accounting::PaginatedContactList]
60
62
  # @example
@@ -63,9 +65,9 @@ module Merge
63
65
  # environment: Merge::Environment::PRODUCTION,
64
66
  # api_key: "YOUR_AUTH_TOKEN"
65
67
  # )
66
- # api.accounting.contacts.list
68
+ # api.accounting.contacts.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
67
69
  def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, email_address: nil, expand: nil,
68
- include_deleted_data: nil, include_remote_data: nil, include_remote_fields: nil, include_shell_data: nil, is_customer: nil, is_supplier: 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)
70
+ include_deleted_data: nil, include_remote_data: nil, include_remote_fields: nil, include_shell_data: nil, is_customer: nil, is_supplier: 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)
69
71
  response = @request_client.conn.get do |req|
70
72
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
71
73
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -95,7 +97,8 @@ module Merge
95
97
  "page_size": page_size,
96
98
  "remote_fields": remote_fields,
97
99
  "remote_id": remote_id,
98
- "show_enum_origins": show_enum_origins
100
+ "show_enum_origins": show_enum_origins,
101
+ "status": status
99
102
  }.compact
100
103
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
101
104
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
@@ -205,6 +208,88 @@ module Merge
205
208
  Merge::Accounting::Contact.from_json(json_object: response.body)
206
209
  end
207
210
 
211
+ # Updates a `Contact` object with the given `id`.
212
+ #
213
+ # @param id [String]
214
+ # @param is_debug_mode [Boolean] Whether to include debug fields (such as log file links) in the response.
215
+ # @param run_async [Boolean] Whether or not third-party updates should be run asynchronously.
216
+ # @param model [Hash] Request of type Merge::Accounting::PatchedContactRequest, as a Hash
217
+ # * :name (String)
218
+ # * :is_supplier (Boolean)
219
+ # * :is_customer (Boolean)
220
+ # * :email_address (String)
221
+ # * :tax_number (String)
222
+ # * :status (Merge::Accounting::Status7D1Enum)
223
+ # * :currency (String)
224
+ # * :company (String)
225
+ # * :addresses (Array<Merge::Accounting::PatchedContactRequestAddressesItem>)
226
+ # * :phone_numbers (Array<Merge::Accounting::AccountingPhoneNumberRequest>)
227
+ # * :integration_params (Hash{String => Object})
228
+ # * :linked_account_params (Hash{String => Object})
229
+ # * :remote_fields (Array<Merge::Accounting::RemoteFieldRequest>)
230
+ # @param request_options [Merge::RequestOptions]
231
+ # @return [Merge::Accounting::ContactResponse]
232
+ # @example
233
+ # api = Merge::Client.new(
234
+ # base_url: "https://api.example.com",
235
+ # environment: Merge::Environment::PRODUCTION,
236
+ # api_key: "YOUR_AUTH_TOKEN"
237
+ # )
238
+ # api.accounting.contacts.partial_update(id: "id", model: { })
239
+ def partial_update(id:, model:, is_debug_mode: nil, run_async: nil, request_options: nil)
240
+ response = @request_client.conn.patch do |req|
241
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
242
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
243
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
244
+ req.headers = {
245
+ **(req.headers || {}),
246
+ **@request_client.get_headers,
247
+ **(request_options&.additional_headers || {})
248
+ }.compact
249
+ req.params = {
250
+ **(request_options&.additional_query_parameters || {}),
251
+ "is_debug_mode": is_debug_mode,
252
+ "run_async": run_async
253
+ }.compact
254
+ req.body = { **(request_options&.additional_body_parameters || {}), model: model }.compact
255
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/contacts/#{id}"
256
+ end
257
+ Merge::Accounting::ContactResponse.from_json(json_object: response.body)
258
+ end
259
+
260
+ # Returns metadata for `Contact` PATCHs.
261
+ #
262
+ # @param id [String]
263
+ # @param request_options [Merge::RequestOptions]
264
+ # @return [Merge::Accounting::MetaResponse]
265
+ # @example
266
+ # api = Merge::Client.new(
267
+ # base_url: "https://api.example.com",
268
+ # environment: Merge::Environment::PRODUCTION,
269
+ # api_key: "YOUR_AUTH_TOKEN"
270
+ # )
271
+ # api.accounting.contacts.meta_patch_retrieve(id: "id")
272
+ def meta_patch_retrieve(id:, request_options: nil)
273
+ response = @request_client.conn.get do |req|
274
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
275
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
276
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
277
+ req.headers = {
278
+ **(req.headers || {}),
279
+ **@request_client.get_headers,
280
+ **(request_options&.additional_headers || {})
281
+ }.compact
282
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
283
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
284
+ end
285
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
286
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
287
+ end
288
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/contacts/meta/patch/#{id}"
289
+ end
290
+ Merge::Accounting::MetaResponse.from_json(json_object: response.body)
291
+ end
292
+
208
293
  # Returns metadata for `Contact` POSTs.
209
294
  #
210
295
  # @param request_options [Merge::RequestOptions]
@@ -250,6 +335,7 @@ module Merge
250
335
  # contain some metadata but all other fields are null).
251
336
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
252
337
  # is_common_model_field value
338
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
253
339
  # @param page_size [Integer] Number of results to return per page.
254
340
  # @param request_options [Merge::RequestOptions]
255
341
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -259,9 +345,9 @@ module Merge
259
345
  # environment: Merge::Environment::PRODUCTION,
260
346
  # api_key: "YOUR_AUTH_TOKEN"
261
347
  # )
262
- # api.accounting.contacts.remote_field_classes_list
348
+ # api.accounting.contacts.remote_field_classes_list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
263
349
  def remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
264
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
350
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
265
351
  response = @request_client.conn.get do |req|
266
352
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
267
353
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -278,6 +364,7 @@ module Merge
278
364
  "include_remote_data": include_remote_data,
279
365
  "include_shell_data": include_shell_data,
280
366
  "is_common_model_field": is_common_model_field,
367
+ "is_custom": is_custom,
281
368
  "page_size": page_size
282
369
  }.compact
283
370
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -330,6 +417,7 @@ module Merge
330
417
  # @param show_enum_origins [String] A comma separated list of enum field names for which you'd like the original
331
418
  # values to be returned, instead of Merge's normalized enum values. [Learn
332
419
  # e](https://help.merge.dev/en/articles/8950958-show_enum_origins-query-parameter)
420
+ # @param status [String] If provided, will only return Contacts that match this status.
333
421
  # @param request_options [Merge::RequestOptions]
334
422
  # @return [Merge::Accounting::PaginatedContactList]
335
423
  # @example
@@ -338,9 +426,9 @@ module Merge
338
426
  # environment: Merge::Environment::PRODUCTION,
339
427
  # api_key: "YOUR_AUTH_TOKEN"
340
428
  # )
341
- # api.accounting.contacts.list
429
+ # api.accounting.contacts.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
342
430
  def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, email_address: nil, expand: nil,
343
- include_deleted_data: nil, include_remote_data: nil, include_remote_fields: nil, include_shell_data: nil, is_customer: nil, is_supplier: 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)
431
+ include_deleted_data: nil, include_remote_data: nil, include_remote_fields: nil, include_shell_data: nil, is_customer: nil, is_supplier: 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)
344
432
  Async do
345
433
  response = @request_client.conn.get do |req|
346
434
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -371,7 +459,8 @@ module Merge
371
459
  "page_size": page_size,
372
460
  "remote_fields": remote_fields,
373
461
  "remote_id": remote_id,
374
- "show_enum_origins": show_enum_origins
462
+ "show_enum_origins": show_enum_origins,
463
+ "status": status
375
464
  }.compact
376
465
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
377
466
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
@@ -486,6 +575,92 @@ module Merge
486
575
  end
487
576
  end
488
577
 
578
+ # Updates a `Contact` object with the given `id`.
579
+ #
580
+ # @param id [String]
581
+ # @param is_debug_mode [Boolean] Whether to include debug fields (such as log file links) in the response.
582
+ # @param run_async [Boolean] Whether or not third-party updates should be run asynchronously.
583
+ # @param model [Hash] Request of type Merge::Accounting::PatchedContactRequest, as a Hash
584
+ # * :name (String)
585
+ # * :is_supplier (Boolean)
586
+ # * :is_customer (Boolean)
587
+ # * :email_address (String)
588
+ # * :tax_number (String)
589
+ # * :status (Merge::Accounting::Status7D1Enum)
590
+ # * :currency (String)
591
+ # * :company (String)
592
+ # * :addresses (Array<Merge::Accounting::PatchedContactRequestAddressesItem>)
593
+ # * :phone_numbers (Array<Merge::Accounting::AccountingPhoneNumberRequest>)
594
+ # * :integration_params (Hash{String => Object})
595
+ # * :linked_account_params (Hash{String => Object})
596
+ # * :remote_fields (Array<Merge::Accounting::RemoteFieldRequest>)
597
+ # @param request_options [Merge::RequestOptions]
598
+ # @return [Merge::Accounting::ContactResponse]
599
+ # @example
600
+ # api = Merge::Client.new(
601
+ # base_url: "https://api.example.com",
602
+ # environment: Merge::Environment::PRODUCTION,
603
+ # api_key: "YOUR_AUTH_TOKEN"
604
+ # )
605
+ # api.accounting.contacts.partial_update(id: "id", model: { })
606
+ def partial_update(id:, model:, is_debug_mode: nil, run_async: nil, request_options: nil)
607
+ Async do
608
+ response = @request_client.conn.patch do |req|
609
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
610
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
611
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
612
+ req.headers = {
613
+ **(req.headers || {}),
614
+ **@request_client.get_headers,
615
+ **(request_options&.additional_headers || {})
616
+ }.compact
617
+ req.params = {
618
+ **(request_options&.additional_query_parameters || {}),
619
+ "is_debug_mode": is_debug_mode,
620
+ "run_async": run_async
621
+ }.compact
622
+ req.body = { **(request_options&.additional_body_parameters || {}), model: model }.compact
623
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/contacts/#{id}"
624
+ end
625
+ Merge::Accounting::ContactResponse.from_json(json_object: response.body)
626
+ end
627
+ end
628
+
629
+ # Returns metadata for `Contact` PATCHs.
630
+ #
631
+ # @param id [String]
632
+ # @param request_options [Merge::RequestOptions]
633
+ # @return [Merge::Accounting::MetaResponse]
634
+ # @example
635
+ # api = Merge::Client.new(
636
+ # base_url: "https://api.example.com",
637
+ # environment: Merge::Environment::PRODUCTION,
638
+ # api_key: "YOUR_AUTH_TOKEN"
639
+ # )
640
+ # api.accounting.contacts.meta_patch_retrieve(id: "id")
641
+ def meta_patch_retrieve(id:, request_options: nil)
642
+ Async do
643
+ response = @request_client.conn.get do |req|
644
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
645
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
646
+ req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
647
+ req.headers = {
648
+ **(req.headers || {}),
649
+ **@request_client.get_headers,
650
+ **(request_options&.additional_headers || {})
651
+ }.compact
652
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
653
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
654
+ end
655
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
656
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
657
+ end
658
+ req.url "#{@request_client.get_url(request_options: request_options)}/accounting/v1/contacts/meta/patch/#{id}"
659
+ end
660
+ Merge::Accounting::MetaResponse.from_json(json_object: response.body)
661
+ end
662
+ end
663
+
489
664
  # Returns metadata for `Contact` POSTs.
490
665
  #
491
666
  # @param request_options [Merge::RequestOptions]
@@ -533,6 +708,7 @@ module Merge
533
708
  # contain some metadata but all other fields are null).
534
709
  # @param is_common_model_field [Boolean] If provided, will only return remote field classes with this
535
710
  # is_common_model_field value
711
+ # @param is_custom [Boolean] If provided, will only return remote fields classes with this is_custom value
536
712
  # @param page_size [Integer] Number of results to return per page.
537
713
  # @param request_options [Merge::RequestOptions]
538
714
  # @return [Merge::Accounting::PaginatedRemoteFieldClassList]
@@ -542,9 +718,9 @@ module Merge
542
718
  # environment: Merge::Environment::PRODUCTION,
543
719
  # api_key: "YOUR_AUTH_TOKEN"
544
720
  # )
545
- # api.accounting.contacts.remote_field_classes_list
721
+ # api.accounting.contacts.remote_field_classes_list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
546
722
  def remote_field_classes_list(cursor: nil, include_deleted_data: nil, include_remote_data: nil,
547
- include_shell_data: nil, is_common_model_field: nil, page_size: nil, request_options: nil)
723
+ include_shell_data: nil, is_common_model_field: nil, is_custom: nil, page_size: nil, request_options: nil)
548
724
  Async do
549
725
  response = @request_client.conn.get do |req|
550
726
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -562,6 +738,7 @@ module Merge
562
738
  "include_remote_data": include_remote_data,
563
739
  "include_shell_data": include_shell_data,
564
740
  "is_common_model_field": is_common_model_field,
741
+ "is_custom": is_custom,
565
742
  "page_size": page_size
566
743
  }.compact
567
744
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
@@ -62,7 +62,7 @@ module Merge
62
62
  # environment: Merge::Environment::PRODUCTION,
63
63
  # api_key: "YOUR_AUTH_TOKEN"
64
64
  # )
65
- # api.accounting.credit_notes.list
65
+ # api.accounting.credit_notes.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
66
66
  def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
67
67
  include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, transaction_date_after: nil, transaction_date_before: nil, request_options: nil)
68
68
  response = @request_client.conn.get do |req|
@@ -281,7 +281,7 @@ module Merge
281
281
  # environment: Merge::Environment::PRODUCTION,
282
282
  # api_key: "YOUR_AUTH_TOKEN"
283
283
  # )
284
- # api.accounting.credit_notes.list
284
+ # api.accounting.credit_notes.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
285
285
  def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
286
286
  include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, transaction_date_after: nil, transaction_date_before: nil, request_options: nil)
287
287
  Async do
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../../../requests"
4
+ require "date"
4
5
  require_relative "../types/paginated_employee_list"
5
6
  require_relative "../types/employee"
6
7
  require "async"
@@ -19,6 +20,9 @@ module Merge
19
20
 
20
21
  # Returns a list of `Employee` objects.
21
22
  #
23
+ # @param company_id [String] If provided, will only return employees for this company.
24
+ # @param created_after [DateTime] If provided, will only return objects created after this datetime.
25
+ # @param created_before [DateTime] If provided, will only return objects created before this datetime.
22
26
  # @param cursor [String] The pagination cursor value.
23
27
  # @param expand [String] Which relations should be returned in expanded form. Multiple relation names
24
28
  # should be comma separated without spaces.
@@ -30,7 +34,11 @@ module Merge
30
34
  # produce these models.
31
35
  # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
32
36
  # contain some metadata but all other fields are null).
37
+ # @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
38
+ # @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
39
+ # returned.
33
40
  # @param page_size [Integer] Number of results to return per page.
41
+ # @param remote_id [String] The API provider's ID for the given object.
34
42
  # @param request_options [Merge::RequestOptions]
35
43
  # @return [Merge::Accounting::PaginatedEmployeeList]
36
44
  # @example
@@ -39,9 +47,9 @@ module Merge
39
47
  # environment: Merge::Environment::PRODUCTION,
40
48
  # api_key: "YOUR_AUTH_TOKEN"
41
49
  # )
42
- # api.accounting.employees.list
43
- def list(cursor: nil, expand: nil, include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil,
44
- page_size: nil, request_options: nil)
50
+ # api.accounting.employees.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
51
+ def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
52
+ include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, page_size: nil, remote_id: nil, request_options: nil)
45
53
  response = @request_client.conn.get do |req|
46
54
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
47
55
  req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
@@ -53,12 +61,18 @@ module Merge
53
61
  }.compact
54
62
  req.params = {
55
63
  **(request_options&.additional_query_parameters || {}),
64
+ "company_id": company_id,
65
+ "created_after": created_after,
66
+ "created_before": created_before,
56
67
  "cursor": cursor,
57
68
  "expand": expand,
58
69
  "include_deleted_data": include_deleted_data,
59
70
  "include_remote_data": include_remote_data,
60
71
  "include_shell_data": include_shell_data,
61
- "page_size": page_size
72
+ "modified_after": modified_after,
73
+ "modified_before": modified_before,
74
+ "page_size": page_size,
75
+ "remote_id": remote_id
62
76
  }.compact
63
77
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
64
78
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
@@ -123,6 +137,9 @@ module Merge
123
137
 
124
138
  # Returns a list of `Employee` objects.
125
139
  #
140
+ # @param company_id [String] If provided, will only return employees for this company.
141
+ # @param created_after [DateTime] If provided, will only return objects created after this datetime.
142
+ # @param created_before [DateTime] If provided, will only return objects created before this datetime.
126
143
  # @param cursor [String] The pagination cursor value.
127
144
  # @param expand [String] Which relations should be returned in expanded form. Multiple relation names
128
145
  # should be comma separated without spaces.
@@ -134,7 +151,11 @@ module Merge
134
151
  # produce these models.
135
152
  # @param include_shell_data [Boolean] Whether to include shell records. Shell records are empty records (they may
136
153
  # contain some metadata but all other fields are null).
154
+ # @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
155
+ # @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
156
+ # returned.
137
157
  # @param page_size [Integer] Number of results to return per page.
158
+ # @param remote_id [String] The API provider's ID for the given object.
138
159
  # @param request_options [Merge::RequestOptions]
139
160
  # @return [Merge::Accounting::PaginatedEmployeeList]
140
161
  # @example
@@ -143,9 +164,9 @@ module Merge
143
164
  # environment: Merge::Environment::PRODUCTION,
144
165
  # api_key: "YOUR_AUTH_TOKEN"
145
166
  # )
146
- # api.accounting.employees.list
147
- def list(cursor: nil, expand: nil, include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil,
148
- page_size: nil, request_options: nil)
167
+ # api.accounting.employees.list(cursor: "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw")
168
+ def list(company_id: nil, created_after: nil, created_before: nil, cursor: nil, expand: nil,
169
+ include_deleted_data: nil, include_remote_data: nil, include_shell_data: nil, modified_after: nil, modified_before: nil, page_size: nil, remote_id: nil, request_options: nil)
149
170
  Async do
150
171
  response = @request_client.conn.get do |req|
151
172
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -158,12 +179,18 @@ module Merge
158
179
  }.compact
159
180
  req.params = {
160
181
  **(request_options&.additional_query_parameters || {}),
182
+ "company_id": company_id,
183
+ "created_after": created_after,
184
+ "created_before": created_before,
161
185
  "cursor": cursor,
162
186
  "expand": expand,
163
187
  "include_deleted_data": include_deleted_data,
164
188
  "include_remote_data": include_remote_data,
165
189
  "include_shell_data": include_shell_data,
166
- "page_size": page_size
190
+ "modified_after": modified_after,
191
+ "modified_before": modified_before,
192
+ "page_size": page_size,
193
+ "remote_id": remote_id
167
194
  }.compact
168
195
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
169
196
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact