qube_sync 0.3.0 → 0.4.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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/README.md +235 -75
  4. data/Rakefile +12 -0
  5. data/lib/qube_sync/client.rb +579 -0
  6. data/lib/qube_sync/operations/account.rb +337 -0
  7. data/lib/qube_sync/operations/account_tax_line_info.rb +30 -0
  8. data/lib/qube_sync/operations/aging_report.rb +160 -0
  9. data/lib/qube_sync/operations/alert.rb +91 -0
  10. data/lib/qube_sync/operations/ar_refund_credit_card.rb +399 -0
  11. data/lib/qube_sync/operations/bar_code.rb +37 -0
  12. data/lib/qube_sync/operations/bill.rb +1073 -0
  13. data/lib/qube_sync/operations/bill_payment_check.rb +413 -0
  14. data/lib/qube_sync/operations/bill_payment_credit_card.rb +315 -0
  15. data/lib/qube_sync/operations/bill_to_pay.rb +66 -0
  16. data/lib/qube_sync/operations/billing_rate.rb +172 -0
  17. data/lib/qube_sync/operations/budget_summary_report.rb +80 -0
  18. data/lib/qube_sync/operations/build_assembly.rb +318 -0
  19. data/lib/qube_sync/operations/charge.rb +452 -0
  20. data/lib/qube_sync/operations/check.rb +1055 -0
  21. data/lib/qube_sync/operations/class.rb +176 -0
  22. data/lib/qube_sync/operations/cleared_status.rb +39 -0
  23. data/lib/qube_sync/operations/company.rb +39 -0
  24. data/lib/qube_sync/operations/company_activity.rb +31 -0
  25. data/lib/qube_sync/operations/credit_card_charge.rb +1000 -0
  26. data/lib/qube_sync/operations/credit_card_credit.rb +1000 -0
  27. data/lib/qube_sync/operations/credit_memo.rb +1243 -0
  28. data/lib/qube_sync/operations/currency.rb +195 -0
  29. data/lib/qube_sync/operations/custom_detail_report.rb +176 -0
  30. data/lib/qube_sync/operations/custom_summary_report.rb +180 -0
  31. data/lib/qube_sync/operations/customer.rb +744 -0
  32. data/lib/qube_sync/operations/customer_msg.rb +117 -0
  33. data/lib/qube_sync/operations/customer_type.rb +133 -0
  34. data/lib/qube_sync/operations/data_event_recovery_info.rb +54 -0
  35. data/lib/qube_sync/operations/data_ext.rb +201 -0
  36. data/lib/qube_sync/operations/data_ext_def.rb +179 -0
  37. data/lib/qube_sync/operations/date_driven_terms.rb +131 -0
  38. data/lib/qube_sync/operations/deposit.rb +555 -0
  39. data/lib/qube_sync/operations/employee.rb +577 -0
  40. data/lib/qube_sync/operations/employee_default.rb +100 -0
  41. data/lib/qube_sync/operations/entity.rb +118 -0
  42. data/lib/qube_sync/operations/estimate.rb +1055 -0
  43. data/lib/qube_sync/operations/form1099_category_account_mapping.rb +90 -0
  44. data/lib/qube_sync/operations/general_detail_report.rb +185 -0
  45. data/lib/qube_sync/operations/general_summary_report.rb +180 -0
  46. data/lib/qube_sync/operations/host.rb +36 -0
  47. data/lib/qube_sync/operations/inventory_adjustment.rb +482 -0
  48. data/lib/qube_sync/operations/inventory_site.rb +214 -0
  49. data/lib/qube_sync/operations/invoice.rb +1208 -0
  50. data/lib/qube_sync/operations/item.rb +115 -0
  51. data/lib/qube_sync/operations/item_assemblies_can_build.rb +44 -0
  52. data/lib/qube_sync/operations/item_discount.rb +319 -0
  53. data/lib/qube_sync/operations/item_fixed_asset.rb +317 -0
  54. data/lib/qube_sync/operations/item_group.rb +253 -0
  55. data/lib/qube_sync/operations/item_inventory.rb +446 -0
  56. data/lib/qube_sync/operations/item_inventory_assembly.rb +483 -0
  57. data/lib/qube_sync/operations/item_non_inventory.rb +461 -0
  58. data/lib/qube_sync/operations/item_other_charge.rb +434 -0
  59. data/lib/qube_sync/operations/item_payment.rb +268 -0
  60. data/lib/qube_sync/operations/item_receipt.rb +1011 -0
  61. data/lib/qube_sync/operations/item_sales_tax.rb +270 -0
  62. data/lib/qube_sync/operations/item_sales_tax_group.rb +200 -0
  63. data/lib/qube_sync/operations/item_service.rb +455 -0
  64. data/lib/qube_sync/operations/item_sites.rb +96 -0
  65. data/lib/qube_sync/operations/item_subtotal.rb +182 -0
  66. data/lib/qube_sync/operations/job_report.rb +156 -0
  67. data/lib/qube_sync/operations/job_type.rb +131 -0
  68. data/lib/qube_sync/operations/journal_entry.rb +518 -0
  69. data/lib/qube_sync/operations/lead.rb +216 -0
  70. data/lib/qube_sync/operations/list.rb +42 -0
  71. data/lib/qube_sync/operations/list_deleted.rb +57 -0
  72. data/lib/qube_sync/operations/list_display.rb +59 -0
  73. data/lib/qube_sync/operations/list_merge.rb +55 -0
  74. data/lib/qube_sync/operations/other_name.rb +245 -0
  75. data/lib/qube_sync/operations/paycheck.rb +139 -0
  76. data/lib/qube_sync/operations/payment_method.rb +128 -0
  77. data/lib/qube_sync/operations/payroll_detail_report.rb +161 -0
  78. data/lib/qube_sync/operations/payroll_item.rb +75 -0
  79. data/lib/qube_sync/operations/payroll_item_addition.rb +98 -0
  80. data/lib/qube_sync/operations/payroll_item_company_contribution.rb +134 -0
  81. data/lib/qube_sync/operations/payroll_item_deduction.rb +124 -0
  82. data/lib/qube_sync/operations/payroll_item_direct_deposit.rb +70 -0
  83. data/lib/qube_sync/operations/payroll_item_non_wage.rb +93 -0
  84. data/lib/qube_sync/operations/payroll_item_tax.rb +123 -0
  85. data/lib/qube_sync/operations/payroll_item_wage.rb +168 -0
  86. data/lib/qube_sync/operations/payroll_item_workers_compensation.rb +108 -0
  87. data/lib/qube_sync/operations/payroll_last_period.rb +30 -0
  88. data/lib/qube_sync/operations/payroll_liability_adjustment.rb +204 -0
  89. data/lib/qube_sync/operations/payroll_liability_check.rb +137 -0
  90. data/lib/qube_sync/operations/payroll_prior_payment.rb +178 -0
  91. data/lib/qube_sync/operations/payroll_summary_report.rb +157 -0
  92. data/lib/qube_sync/operations/payroll_year_to_date_adjustment.rb +211 -0
  93. data/lib/qube_sync/operations/preferences.rb +61 -0
  94. data/lib/qube_sync/operations/price_level.rb +305 -0
  95. data/lib/qube_sync/operations/purchase_order.rb +1038 -0
  96. data/lib/qube_sync/operations/qb_command_exec.rb +37 -0
  97. data/lib/qube_sync/operations/receive_payment.rb +627 -0
  98. data/lib/qube_sync/operations/receive_payment_to_deposit.rb +38 -0
  99. data/lib/qube_sync/operations/sales_order.rb +1045 -0
  100. data/lib/qube_sync/operations/sales_receipt.rb +1337 -0
  101. data/lib/qube_sync/operations/sales_rep.rb +172 -0
  102. data/lib/qube_sync/operations/sales_tax_code.rb +205 -0
  103. data/lib/qube_sync/operations/sales_tax_payable.rb +37 -0
  104. data/lib/qube_sync/operations/sales_tax_payment_check.rb +375 -0
  105. data/lib/qube_sync/operations/sales_tax_return.rb +35 -0
  106. data/lib/qube_sync/operations/sales_tax_return_line.rb +43 -0
  107. data/lib/qube_sync/operations/ship_method.rb +116 -0
  108. data/lib/qube_sync/operations/special_account.rb +55 -0
  109. data/lib/qube_sync/operations/special_item.rb +44 -0
  110. data/lib/qube_sync/operations/standard_terms.rb +125 -0
  111. data/lib/qube_sync/operations/template.rb +36 -0
  112. data/lib/qube_sync/operations/terms.rb +91 -0
  113. data/lib/qube_sync/operations/time_report.rb +127 -0
  114. data/lib/qube_sync/operations/time_tracking.rb +303 -0
  115. data/lib/qube_sync/operations/to_do.rb +260 -0
  116. data/lib/qube_sync/operations/transaction.rb +356 -0
  117. data/lib/qube_sync/operations/transfer.rb +213 -0
  118. data/lib/qube_sync/operations/transfer_inventory.rb +384 -0
  119. data/lib/qube_sync/operations/txn.rb +38 -0
  120. data/lib/qube_sync/operations/txn_deleted.rb +54 -0
  121. data/lib/qube_sync/operations/txn_display.rb +76 -0
  122. data/lib/qube_sync/operations/txn_void.rb +36 -0
  123. data/lib/qube_sync/operations/unit_of_measure_set.rb +149 -0
  124. data/lib/qube_sync/operations/vehicle.rb +152 -0
  125. data/lib/qube_sync/operations/vehicle_mileage.rb +191 -0
  126. data/lib/qube_sync/operations/vendor.rb +661 -0
  127. data/lib/qube_sync/operations/vendor_credit.rb +1008 -0
  128. data/lib/qube_sync/operations/vendor_type.rb +131 -0
  129. data/lib/qube_sync/operations/workers_comp_code.rb +184 -0
  130. data/lib/qube_sync/operations.rb +1165 -0
  131. data/lib/qube_sync/version.rb +1 -1
  132. data/lib/qube_sync.rb +1 -0
  133. data/sig/qube_sync/client.rbs +82 -0
  134. data/sig/qube_sync/operations/account.rbs +65 -0
  135. data/sig/qube_sync/operations/account_tax_line_info.rbs +13 -0
  136. data/sig/qube_sync/operations/aging_report.rbs +29 -0
  137. data/sig/qube_sync/operations/alert.rbs +53 -0
  138. data/sig/qube_sync/operations/ar_refund_credit_card.rbs +53 -0
  139. data/sig/qube_sync/operations/bar_code.rbs +16 -0
  140. data/sig/qube_sync/operations/bill.rbs +78 -0
  141. data/sig/qube_sync/operations/bill_payment_check.rbs +62 -0
  142. data/sig/qube_sync/operations/bill_payment_credit_card.rbs +45 -0
  143. data/sig/qube_sync/operations/bill_to_pay.rbs +19 -0
  144. data/sig/qube_sync/operations/billing_rate.rbs +40 -0
  145. data/sig/qube_sync/operations/budget_summary_report.rbs +22 -0
  146. data/sig/qube_sync/operations/build_assembly.rbs +64 -0
  147. data/sig/qube_sync/operations/charge.rbs +80 -0
  148. data/sig/qube_sync/operations/check.rbs +81 -0
  149. data/sig/qube_sync/operations/class.rbs +43 -0
  150. data/sig/qube_sync/operations/cleared_status.rbs +16 -0
  151. data/sig/qube_sync/operations/company.rbs +15 -0
  152. data/sig/qube_sync/operations/company_activity.rbs +14 -0
  153. data/sig/qube_sync/operations/credit_card_charge.rbs +69 -0
  154. data/sig/qube_sync/operations/credit_card_credit.rbs +69 -0
  155. data/sig/qube_sync/operations/credit_memo.rbs +162 -0
  156. data/sig/qube_sync/operations/currency.rbs +52 -0
  157. data/sig/qube_sync/operations/custom_detail_report.rbs +31 -0
  158. data/sig/qube_sync/operations/custom_summary_report.rbs +33 -0
  159. data/sig/qube_sync/operations/customer.rbs +174 -0
  160. data/sig/qube_sync/operations/customer_msg.rbs +31 -0
  161. data/sig/qube_sync/operations/customer_type.rbs +32 -0
  162. data/sig/qube_sync/operations/data_event_recovery_info.rbs +20 -0
  163. data/sig/qube_sync/operations/data_ext.rbs +53 -0
  164. data/sig/qube_sync/operations/data_ext_def.rbs +51 -0
  165. data/sig/qube_sync/operations/date_driven_terms.rbs +35 -0
  166. data/sig/qube_sync/operations/deposit.rbs +100 -0
  167. data/sig/qube_sync/operations/employee.rbs +173 -0
  168. data/sig/qube_sync/operations/employee_default.rbs +68 -0
  169. data/sig/qube_sync/operations/entity.rbs +24 -0
  170. data/sig/qube_sync/operations/estimate.rbs +148 -0
  171. data/sig/qube_sync/operations/form1099_category_account_mapping.rbs +33 -0
  172. data/sig/qube_sync/operations/general_detail_report.rbs +31 -0
  173. data/sig/qube_sync/operations/general_summary_report.rbs +32 -0
  174. data/sig/qube_sync/operations/host.rbs +19 -0
  175. data/sig/qube_sync/operations/inventory_adjustment.rbs +105 -0
  176. data/sig/qube_sync/operations/inventory_site.rbs +66 -0
  177. data/sig/qube_sync/operations/invoice.rbs +144 -0
  178. data/sig/qube_sync/operations/item.rbs +25 -0
  179. data/sig/qube_sync/operations/item_assemblies_can_build.rbs +15 -0
  180. data/sig/qube_sync/operations/item_discount.rbs +62 -0
  181. data/sig/qube_sync/operations/item_fixed_asset.rbs +97 -0
  182. data/sig/qube_sync/operations/item_group.rbs +62 -0
  183. data/sig/qube_sync/operations/item_inventory.rbs +87 -0
  184. data/sig/qube_sync/operations/item_inventory_assembly.rbs +94 -0
  185. data/sig/qube_sync/operations/item_non_inventory.rbs +64 -0
  186. data/sig/qube_sync/operations/item_other_charge.rbs +59 -0
  187. data/sig/qube_sync/operations/item_payment.rbs +55 -0
  188. data/sig/qube_sync/operations/item_receipt.rbs +71 -0
  189. data/sig/qube_sync/operations/item_sales_tax.rbs +57 -0
  190. data/sig/qube_sync/operations/item_sales_tax_group.rbs +50 -0
  191. data/sig/qube_sync/operations/item_service.rbs +62 -0
  192. data/sig/qube_sync/operations/item_sites.rbs +26 -0
  193. data/sig/qube_sync/operations/item_subtotal.rbs +48 -0
  194. data/sig/qube_sync/operations/job_report.rbs +28 -0
  195. data/sig/qube_sync/operations/job_type.rbs +32 -0
  196. data/sig/qube_sync/operations/journal_entry.rbs +88 -0
  197. data/sig/qube_sync/operations/lead.rbs +91 -0
  198. data/sig/qube_sync/operations/list.rbs +15 -0
  199. data/sig/qube_sync/operations/list_deleted.rbs +17 -0
  200. data/sig/qube_sync/operations/list_display.rbs +21 -0
  201. data/sig/qube_sync/operations/list_merge.rbs +22 -0
  202. data/sig/qube_sync/operations/other_name.rbs +71 -0
  203. data/sig/qube_sync/operations/paycheck.rbs +27 -0
  204. data/sig/qube_sync/operations/payment_method.rbs +33 -0
  205. data/sig/qube_sync/operations/payroll_detail_report.rbs +29 -0
  206. data/sig/qube_sync/operations/payroll_item.rbs +23 -0
  207. data/sig/qube_sync/operations/payroll_item_addition.rbs +48 -0
  208. data/sig/qube_sync/operations/payroll_item_company_contribution.rbs +58 -0
  209. data/sig/qube_sync/operations/payroll_item_deduction.rbs +54 -0
  210. data/sig/qube_sync/operations/payroll_item_direct_deposit.rbs +30 -0
  211. data/sig/qube_sync/operations/payroll_item_non_wage.rbs +23 -0
  212. data/sig/qube_sync/operations/payroll_item_tax.rbs +58 -0
  213. data/sig/qube_sync/operations/payroll_item_wage.rbs +48 -0
  214. data/sig/qube_sync/operations/payroll_item_workers_compensation.rbs +42 -0
  215. data/sig/qube_sync/operations/payroll_last_period.rbs +13 -0
  216. data/sig/qube_sync/operations/payroll_liability_adjustment.rbs +59 -0
  217. data/sig/qube_sync/operations/payroll_liability_check.rbs +27 -0
  218. data/sig/qube_sync/operations/payroll_prior_payment.rbs +48 -0
  219. data/sig/qube_sync/operations/payroll_summary_report.rbs +30 -0
  220. data/sig/qube_sync/operations/payroll_year_to_date_adjustment.rbs +66 -0
  221. data/sig/qube_sync/operations/preferences.rbs +26 -0
  222. data/sig/qube_sync/operations/price_level.rbs +57 -0
  223. data/sig/qube_sync/operations/purchase_order.rbs +159 -0
  224. data/sig/qube_sync/operations/qb_command_exec.rbs +22 -0
  225. data/sig/qube_sync/operations/receive_payment.rbs +102 -0
  226. data/sig/qube_sync/operations/receive_payment_to_deposit.rbs +15 -0
  227. data/sig/qube_sync/operations/sales_order.rbs +153 -0
  228. data/sig/qube_sync/operations/sales_receipt.rbs +139 -0
  229. data/sig/qube_sync/operations/sales_rep.rbs +43 -0
  230. data/sig/qube_sync/operations/sales_tax_code.rbs +49 -0
  231. data/sig/qube_sync/operations/sales_tax_payable.rbs +16 -0
  232. data/sig/qube_sync/operations/sales_tax_payment_check.rbs +64 -0
  233. data/sig/qube_sync/operations/sales_tax_return.rbs +14 -0
  234. data/sig/qube_sync/operations/sales_tax_return_line.rbs +15 -0
  235. data/sig/qube_sync/operations/ship_method.rbs +31 -0
  236. data/sig/qube_sync/operations/special_account.rbs +16 -0
  237. data/sig/qube_sync/operations/special_item.rbs +17 -0
  238. data/sig/qube_sync/operations/standard_terms.rbs +34 -0
  239. data/sig/qube_sync/operations/template.rbs +15 -0
  240. data/sig/qube_sync/operations/terms.rbs +23 -0
  241. data/sig/qube_sync/operations/time_report.rbs +26 -0
  242. data/sig/qube_sync/operations/time_tracking.rbs +57 -0
  243. data/sig/qube_sync/operations/to_do.rbs +59 -0
  244. data/sig/qube_sync/operations/transaction.rbs +39 -0
  245. data/sig/qube_sync/operations/transfer.rbs +47 -0
  246. data/sig/qube_sync/operations/transfer_inventory.rbs +76 -0
  247. data/sig/qube_sync/operations/txn.rbs +15 -0
  248. data/sig/qube_sync/operations/txn_deleted.rbs +17 -0
  249. data/sig/qube_sync/operations/txn_display.rbs +22 -0
  250. data/sig/qube_sync/operations/txn_void.rbs +15 -0
  251. data/sig/qube_sync/operations/types.rbs +434 -0
  252. data/sig/qube_sync/operations/unit_of_measure_set.rbs +51 -0
  253. data/sig/qube_sync/operations/vehicle.rbs +43 -0
  254. data/sig/qube_sync/operations/vehicle_mileage.rbs +38 -0
  255. data/sig/qube_sync/operations/vendor.rbs +142 -0
  256. data/sig/qube_sync/operations/vendor_credit.rbs +70 -0
  257. data/sig/qube_sync/operations/vendor_type.rbs +32 -0
  258. data/sig/qube_sync/operations/workers_comp_code.rbs +52 -0
  259. data/sig/qube_sync/operations.rbs +147 -0
  260. metadata +255 -2
@@ -0,0 +1,182 @@
1
+ # Generated from operations.json by bin/generate-operations: don't edit.
2
+ # frozen_string_literal: true
3
+
4
+ module QubeSync
5
+ module Operations
6
+ # QuickBooks item subtotal operations, reached as `client.item_subtotal`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ItemSubtotal < Base
9
+ # Create item subtotal: POST /connections/{connection_id}/item-subtotals
10
+ # (`item_subtotal.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `bar_code` (Hash): Barcode reference information.
16
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
17
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
18
+ # in use.
19
+ # - `bar_code_value` (String): Value of the barcode in the item.
20
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
21
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
22
+ # "ExternalGUID", "IsActive", "ItemDesc", "ListID", "Name", "OwnerID", "SpecialItemType",
23
+ # "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
24
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
25
+ # QuickBooks. The default value is true.
26
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
27
+ # used.
28
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
29
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
30
+ # reuse the same Name in different branches because FullName remains distinct.
31
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
32
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
33
+ # webhook already carries the request's `id`.
34
+ #
35
+ # @param connection_id [String]
36
+ # @param params [Hash] the fields above
37
+ # @param webhook_url [String] where QuBe Sync sends the answer
38
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
39
+ # @return [Hash] the queued request
40
+ # @see https://docs.qubesync.com/api-reference/v2/item-subtotals/create-item-subtotal
41
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
42
+ queue("item_subtotal.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
43
+ end
44
+
45
+ # List item subtotals: GET /connections/{connection_id}/item-subtotals
46
+ # (`item_subtotal.query`).
47
+ #
48
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
49
+ # `iteration_state` `done`.
50
+ #
51
+ # Params, sent as the query string:
52
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
53
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
54
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
55
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
56
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
57
+ # combine with each other, not with the other choices.
58
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
59
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
60
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
61
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
62
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
63
+ # each other, not with the other choices.
64
+ # - `full_name` (Array<String>): Choose at most one of: `list_id`, or `full_name`, or the set
65
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
66
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
67
+ # with the other choices.
68
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
69
+ # "ExternalGUID", "IsActive", "ItemDesc", "ListID", "Name", "SpecialItemType",
70
+ # "TimeCreated", "TimeModified">)
71
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
72
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
73
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
74
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
75
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
76
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
77
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
78
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
79
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
80
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
81
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
82
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
83
+ # combine with each other, not with the other choices.
84
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
85
+ # count of how many objects could possibly be returned, use the `meta_data` query
86
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
87
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
88
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
89
+ # whether more matched. Choose at most one of: `list_id`, or `full_name`, or the set
90
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
91
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
92
+ # with the other choices.
93
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
94
+ # `meta_data` attribute to control whether query responses include counts. Options are
95
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
96
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
97
+ # during processing.
98
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
99
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
100
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
101
+ # combine with each other, not with the other choices.
102
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
103
+ # to match.
104
+ # - `name` (String, required): The string to match.
105
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
106
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
107
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
108
+ # combine with each other, not with the other choices.
109
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
110
+ # omitted, the range will begin with first name on the list.
111
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
112
+ # the range will end with last name on the list.
113
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
114
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
115
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
116
+ # across apps. If you do share them, both apps must use the same `owner_id` and
117
+ # `data_ext_name`, because that pair uniquely identifies the extension.
118
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
119
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
120
+ # webhook already carries the request's `id`.
121
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
122
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
123
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
124
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
125
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
126
+ # combine with each other, not with the other choices.
127
+ #
128
+ # @param connection_id [String]
129
+ # @param params [Hash] the fields above
130
+ # @param webhook_url [String] where QuBe Sync sends the answer
131
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
132
+ # @return [Hash] the queued request
133
+ # @see https://docs.qubesync.com/api-reference/v2/item-subtotals/list-item-subtotals
134
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
135
+ queue("item_subtotal.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
136
+ end
137
+
138
+ # Update item subtotal: PUT /connections/{connection_id}/item-subtotals
139
+ # (`item_subtotal.update`).
140
+ #
141
+ # QuickBooks answers in one webhook.
142
+ #
143
+ # Params, sent as the JSON body:
144
+ # - `bar_code` (Hash): Barcode reference information.
145
+ # - `allow_override` (Boolean): Allows for barcode to be overridden for an item.
146
+ # - `assign_even_if_used` (Boolean): Allow barcode to be assigned to item, even if already
147
+ # in use.
148
+ # - `bar_code_value` (String): Value of the barcode in the item.
149
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
150
+ # It changes each time the object is updated. To modify an existing object, you must send
151
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
152
+ # overwriting newer changes.
153
+ # - `include_ret_element` (Array<one of "BarCodeValue", "DataExtRet", "EditSequence",
154
+ # "ExternalGUID", "IsActive", "ItemDesc", "ListID", "Name", "OwnerID", "SpecialItemType",
155
+ # "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
156
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
157
+ # QuickBooks. The default value is true.
158
+ # - `item_desc` (String): The description that will appear on a sales form when the item is
159
+ # used.
160
+ # - `list_id` (String, required): `list_id` and FullName both identify a list object.
161
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
162
+ # within a list type, not globally across all lists. If both FullName and `list_id` are
163
+ # supplied in a request, QuickBooks uses `list_id` and ignores FullName.
164
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
165
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
166
+ # same Name in different branches because FullName remains distinct.
167
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
168
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
169
+ # webhook already carries the request's `id`.
170
+ #
171
+ # @param connection_id [String]
172
+ # @param params [Hash] the fields above
173
+ # @param webhook_url [String] where QuBe Sync sends the answer
174
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
175
+ # @return [Hash] the queued request
176
+ # @see https://docs.qubesync.com/api-reference/v2/item-subtotals/update-item-subtotal
177
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
178
+ queue("item_subtotal.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,156 @@
1
+ # Generated from operations.json by bin/generate-operations: don't edit.
2
+ # frozen_string_literal: true
3
+
4
+ module QubeSync
5
+ module Operations
6
+ # QuickBooks job report operations, reached as `client.job_report`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class JobReport < Base
9
+ # List job reports: GET /connections/{connection_id}/job-reports (`job_report.query`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the query string:
14
+ # - `display_report` (Boolean): Set `display_report` to true to display this report within the
15
+ # QuickBooks UI. (Default is false.) If you want the request to display the report without
16
+ # returning any data to your application, set the responseData attribute to includeNone.
17
+ # - `include_subcolumns` (Boolean): The default value is false, which means that the report
18
+ # won’t include any subcolumn information. To include all available types of subcolumns for
19
+ # this report, set `include_subcolumns` to true. The SDK won’t return subcolumn information
20
+ # for data that can be easily computed. (For example, the SDK doesn’t return the “percent of
21
+ # row” column.)
22
+ # - `job_report_type` (one of "ItemEstimatesVsActuals", "ItemProfitability",
23
+ # "JobEstimatesVsActualsDetail", "JobEstimatesVsActualsSummary", "JobProfitabilityDetail",
24
+ # "JobProfitabilitySummary", required): The type of job report.
25
+ # - `report_account_filter` (Hash): Allows you to query for a specified account type or for
26
+ # specific list elements.
27
+ # Give at most one of: `account_type_filter`, or `list_id`, or `full_name`, or
28
+ # `list_id_with_children`, or `full_name_with_children`.
29
+ # - `account_type_filter` (one of "APAndSalesTax", "APOrCreditCard", "ARAndAP",
30
+ # "AccountsPayable", "AccountsReceivable", "AllowedFor1099", "Asset", "BalanceSheet",
31
+ # "Bank", "BankAndARAndAPAndUF", "BankAndUF", "CostOfSales", "CreditCard", "CurrentAsset",
32
+ # "CurrentAssetAndExpense", "CurrentLiability", "Equity", "EquityAndIncomeAndExpense",
33
+ # "ExpenseAndOtherExpense", "FixedAsset", "IncomeAndExpense", "IncomeAndOtherIncome",
34
+ # "Liability", "LiabilityAndEquity", "LongTermLiability", "NonPosting", "OrdinaryExpense",
35
+ # "OrdinaryIncome", "OrdinaryIncomeAndCOGS", "OrdinaryIncomeAndExpense", "OtherAsset",
36
+ # "OtherCurrentAsset", "OtherCurrentLiability", "OtherExpense", "OtherIncome",
37
+ # "OtherIncomeOrExpense"): Allows you to report on a specific account type.
38
+ # - `full_name` (Array<String>)
39
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
40
+ # specified object and its descendants. For names that don’t have children,
41
+ # `full_name_with_children` is exactly the same as `full_name`.
42
+ # - `list_id` (Array<String>)
43
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
44
+ # specified object and its descendants.
45
+ # - `report_class_filter` (Hash): Allows you to query for a specified class. Classes can be
46
+ # used to separate transactions into meaningful categories. (For example, transactions could
47
+ # be classified according to department, business location, or type of work.) In QuickBooks,
48
+ # class tracking is off by default.
49
+ # Give at most one of: `list_id`, or `full_name`, or `list_id_with_children`, or
50
+ # `full_name_with_children`.
51
+ # - `full_name` (Array<String>)
52
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
53
+ # specified object and its descendants. For names that don’t have children,
54
+ # `full_name_with_children` is exactly the same as `full_name`.
55
+ # - `list_id` (Array<String>)
56
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
57
+ # specified object and its descendants.
58
+ # - `report_date_macro` (one of "All", "LastMonth", "LastMonthToDate", "LastQuarter",
59
+ # "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear", "LastYearToDate",
60
+ # "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear", "ThisMonth",
61
+ # "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek", "ThisWeekToDate",
62
+ # "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period covered by this
63
+ # report. Choose at most one of: `report_period`, or `report_date_macro`.
64
+ # - `report_detail_level_filter` (one of "All", "AllExceptSummary", "SummaryOnly"): The level
65
+ # of detail to include in the report.
66
+ # - `report_entity_filter` (Hash): Allows you to query for a specified name type (customer,
67
+ # employee, vendor, or other) or query for specific list elements.
68
+ # Give at most one of: `entity_type_filter`, or `list_id`, or `full_name`, or
69
+ # `list_id_with_children`, or `full_name_with_children`.
70
+ # - `entity_type_filter` (one of "Customer", "Employee", "OtherName", "Vendor"): Allows you
71
+ # to report on a specific name type.
72
+ # - `full_name` (Array<String>)
73
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
74
+ # specified object and its descendants. For names that don’t have children,
75
+ # `full_name_with_children` is exactly the same as `full_name`.
76
+ # - `list_id` (Array<String>)
77
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
78
+ # specified object and its descendants.
79
+ # - `report_item_filter` (Hash): Allows you to query for a specified item type (for example,
80
+ # discount, inventory, or non-inventory) or query for specific list elements.
81
+ # Give at most one of: `item_type_filter`, or `list_id`, or `full_name`, or
82
+ # `list_id_with_children`, or `full_name_with_children`.
83
+ # - `full_name` (Array<String>)
84
+ # - `full_name_with_children` (String): Allows you to filter for data that relates to the
85
+ # specified object and its descendants. For names that don’t have children,
86
+ # `full_name_with_children` is exactly the same as `full_name`.
87
+ # - `item_type_filter` (one of "AllExceptFixedAsset", "Assembly", "Discount", "FixedAsset",
88
+ # "Inventory", "InventoryAndAssembly", "NonInventory", "OtherCharge", "Payment", "Sales",
89
+ # "SalesTax", "Service"): Allows you to report on a specific item type.
90
+ # - `list_id` (Array<String>)
91
+ # - `list_id_with_children` (String): Allows you to filter for data that relates to the
92
+ # specified object and its descendants.
93
+ # - `report_modified_date_range_filter` (Hash): Returns reports that were modified between
94
+ # these two dates (inclusive). The range of acceptable dates for both
95
+ # `from_report_modified_date` and `to_report_modified_date` is 1970-01-01 to
96
+ # 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). Choose at most one of:
97
+ # `report_modified_date_range_filter`, or `report_modified_date_range_macro`.
98
+ # - `from_report_modified_date` (String): Selects information from this date and later. The
99
+ # range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
100
+ # (2038-01-18T19:14:07-08:00 PST).
101
+ # - `to_report_modified_date` (String): Selects information created on this date or earlier.
102
+ # The range of acceptable dates is 1970-01-01 to 2038-01-19T03:14:07
103
+ # (2038-01-18T19:14:07-08:00 PST).
104
+ # - `report_modified_date_range_macro` (one of "All", "LastMonth", "LastMonthToDate",
105
+ # "LastQuarter", "LastQuarterToDate", "LastWeek", "LastWeekToDate", "LastYear",
106
+ # "LastYearToDate", "NextFourWeeks", "NextMonth", "NextQuarter", "NextWeek", "NextYear",
107
+ # "ThisMonth", "ThisMonthToDate", "ThisQuarter", "ThisQuarterToDate", "ThisWeek",
108
+ # "ThisWeekToDate", "ThisYear", "ThisYearToDate", "Today", "Yesterday"): The time period
109
+ # covered by this report. Choose at most one of: `report_modified_date_range_filter`, or
110
+ # `report_modified_date_range_macro`.
111
+ # - `report_period` (Hash): If you omit both `to_report_date` and `from_report_date`, the
112
+ # report will cover the current fiscal year to date. Choose at most one of: `report_period`,
113
+ # or `report_date_macro`.
114
+ # - `from_report_date` (String): Selects information from this date and later. The range of
115
+ # acceptable `from_report_date` and `to_report_date` values depends on how the report
116
+ # dates are determined. If the report dates are based on the dates of transactions, the
117
+ # range is 01/01/1901 to 12/31/9999.
118
+ # - `to_report_date` (String): Selects information created on this date or earlier. The
119
+ # range of acceptable `to_report_date` and `from_report_date` values depends on how the
120
+ # report dates are determined. If the report dates are based on the dates of transactions,
121
+ # the range is 01/01/1901 to 12/31/9999.
122
+ # - `report_posting_status_filter` (one of "Either", "NonPosting", "Posting"): Allows you to
123
+ # query for posting reports, non-posting reports, or reports that are either one.
124
+ # - `report_txn_type_filter` (Hash): Allows you to report on specific transaction types (for
125
+ # example, charge, check, deposit, or estimate).
126
+ # - `txn_type_filter` (Array<one of "ARRefundCreditCard", "All", "Bill", "BillPaymentCheck",
127
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
128
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment",
129
+ # "Invoice", "ItemReceipt", "JournalEntry", "LiabilityAdjustment", "Paycheck",
130
+ # "PayrollLiabilityCheck", "PurchaseOrder", "ReceivePayment", "SalesOrder",
131
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Transfer", "VendorCredit", "YTDAdjustment">,
132
+ # required)
133
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
134
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
135
+ # webhook already carries the request's `id`.
136
+ # - `summarize_columns_by` (one of "Account", "BalanceSheet", "Class", "Customer",
137
+ # "CustomerType", "Day", "Employee", "FourWeek", "HalfMonth", "IncomeStatement",
138
+ # "ItemDetail", "ItemType", "Month", "Payee", "PaymentMethod", "PayrollItemDetail",
139
+ # "PayrollYtdDetail", "Quarter", "SalesRep", "SalesTaxCode", "ShipMethod", "Terms",
140
+ # "TotalOnly", "TwoWeek", "Vendor", "VendorType", "Week", "Year"): `summarize_columns_by`
141
+ # determines which data the report calculates and how the columns will be labeled across the
142
+ # top of the report. For example, if you set the value to scbTwoWeek, the report’s column
143
+ # labels might be “Feb 10-23, 02,” “Feb 24-Mar9, 02,” and so on.
144
+ #
145
+ # @param connection_id [String]
146
+ # @param params [Hash] the fields above
147
+ # @param webhook_url [String] where QuBe Sync sends the answer
148
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
149
+ # @return [Hash] the queued request
150
+ # @see https://docs.qubesync.com/api-reference/v2/job-reports/list-job-reports
151
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
152
+ queue("job_report.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,131 @@
1
+ # Generated from operations.json by bin/generate-operations: don't edit.
2
+ # frozen_string_literal: true
3
+
4
+ module QubeSync
5
+ module Operations
6
+ # QuickBooks job type operations, reached as `client.job_type`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class JobType < Base
9
+ # Create job type: POST /connections/{connection_id}/job-types (`job_type.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `include_ret_element` (Array<one of "EditSequence", "ExternalGUID", "FullName",
15
+ # "IsActive", "ListID", "Name", "OwnerID", "ParentRef", "Sublevel", "TimeCreated",
16
+ # "TimeModified", "TxnID", "TxnNumber">)
17
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
18
+ # QuickBooks. The default value is true.
19
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
20
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
21
+ # reuse the same Name in different branches because `full_name` remains distinct.
22
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
23
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
24
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
25
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
26
+ # ignored.
27
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
28
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
29
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
30
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
31
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
32
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
33
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
34
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
35
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
36
+ # webhook already carries the request's `id`.
37
+ #
38
+ # @param connection_id [String]
39
+ # @param params [Hash] the fields above
40
+ # @param webhook_url [String] where QuBe Sync sends the answer
41
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
42
+ # @return [Hash] the queued request
43
+ # @see https://docs.qubesync.com/api-reference/v2/job-types/create-job-type
44
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
45
+ queue("job_type.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
46
+ end
47
+
48
+ # List job types: GET /connections/{connection_id}/job-types (`job_type.query`).
49
+ #
50
+ # QuickBooks answers in one webhook.
51
+ #
52
+ # Params, sent as the query string:
53
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
54
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
55
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
56
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
57
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
58
+ # combine with each other, not with the other choices.
59
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
60
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
61
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
62
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
63
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
64
+ # each other, not with the other choices.
65
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
66
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
67
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
68
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
69
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
70
+ # combine with each other, not with the other choices.
71
+ # - `include_ret_element` (Array<one of "EditSequence", "FullName", "IsActive", "ListID",
72
+ # "Name", "ParentRef", "Sublevel", "TimeCreated", "TimeModified">)
73
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
74
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
75
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
76
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
77
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
78
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
79
+ # combine with each other, not with the other choices.
80
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
81
+ # count of how many objects could possibly be returned, use the `meta_data` query
82
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
83
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
84
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
85
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
86
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
87
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
88
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
89
+ # combine with each other, not with the other choices.
90
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
91
+ # `meta_data` attribute to control whether query responses include counts. Options are
92
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
93
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
94
+ # during processing.
95
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
96
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
97
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
98
+ # combine with each other, not with the other choices.
99
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
100
+ # to match.
101
+ # - `name` (String, required): The string to match.
102
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
103
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
104
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
105
+ # combine with each other, not with the other choices.
106
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
107
+ # omitted, the range will begin with first name on the list.
108
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
109
+ # the range will end with last name on the list.
110
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
111
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
112
+ # webhook already carries the request's `id`.
113
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
114
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
115
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
116
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
117
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
118
+ # combine with each other, not with the other choices.
119
+ #
120
+ # @param connection_id [String]
121
+ # @param params [Hash] the fields above
122
+ # @param webhook_url [String] where QuBe Sync sends the answer
123
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
124
+ # @return [Hash] the queued request
125
+ # @see https://docs.qubesync.com/api-reference/v2/job-types/list-job-types
126
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
127
+ queue("job_type.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
128
+ end
129
+ end
130
+ end
131
+ end