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,149 @@
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 unit of measure set operations, reached as `client.unit_of_measure_set`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class UnitOfMeasureSet < Base
9
+ # Create unit of measure set: POST /connections/{connection_id}/unit-of-measure-sets
10
+ # (`unit_of_measure_set.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `base_unit` (Hash, required): The unit of measure in a unit of measure set by which
16
+ # quantities of an item are tracked, priced, etc. If the company file is enabled for single
17
+ # unit of measure per item, the base unit is the only unit that is available for transaction
18
+ # line items.
19
+ # - `abbreviation` (String, required): The is the short “identifier” for a unit of measure
20
+ # that shows up in transaction line items in the U/M field in the QuickBooks UI.
21
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
22
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists
23
+ # can reuse the same Name in different branches because FullName remains distinct.
24
+ # - `default_unit` (Array<Hash>)
25
+ # - `unit` (String, required): In a related unit within a unit of measure set, the name you
26
+ # want the unit to have. This name is displayed in the QuickBooks as an available unit for
27
+ # the item, if the company is enabled for multiple units of measure per item.
28
+ # - `unit_used_for` (one of "Purchase", "Sales", "Shipping", required): In a default unit of
29
+ # measure, this specifies whether the default is to be used for purchase line items, sales
30
+ # line items, or shipping lines.
31
+ # - `include_ret_element` (Array<one of "BaseUnit", "DefaultUnit", "EditSequence",
32
+ # "ExternalGUID", "IsActive", "ListID", "Name", "OwnerID", "RelatedUnit", "TimeCreated",
33
+ # "TimeModified", "TxnID", "TxnNumber", "UnitOfMeasureType">)
34
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
35
+ # QuickBooks. The default value is true.
36
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
37
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
38
+ # reuse the same Name in different branches because FullName remains distinct.
39
+ # - `related_unit` (Array<Hash>)
40
+ # - `abbreviation` (String, required): The is the short “identifier” for a unit of measure
41
+ # that shows up in transaction line items in the U/M field in the QuickBooks UI.
42
+ # - `conversion_ratio` (Numeric, required): Within a unit of measure set, in any of the
43
+ # related units in that set, this indicates how many base units are in the related unit.
44
+ # That is, if the base unit is “box”, and the related unit is “case” with a conversion
45
+ # ratio of 10, that means there are 10 boxes in a case.
46
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
47
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists
48
+ # can reuse the same Name in different branches because FullName remains distinct.
49
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
50
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
51
+ # webhook already carries the request's `id`.
52
+ # - `unit_of_measure_type` (one of "Area", "Count", "Length", "Other", "Time", "Volume",
53
+ # "Weight", required): The type of the unit of measure. This can be one of the values you
54
+ # see in the QuickBooks UI when you create a new UOM set, such as Count, or it can be your
55
+ # own value, which in the UI you can specify by selecting “Other” then defining it.
56
+ #
57
+ # @param connection_id [String]
58
+ # @param params [Hash] the fields above
59
+ # @param webhook_url [String] where QuBe Sync sends the answer
60
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
61
+ # @return [Hash] the queued request
62
+ # @see https://docs.qubesync.com/api-reference/v2/unit-of-measure-sets/create-unit-of-measure-set
63
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
64
+ queue("unit_of_measure_set.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
65
+ end
66
+
67
+ # List unit of measure sets: GET /connections/{connection_id}/unit-of-measure-sets
68
+ # (`unit_of_measure_set.query`).
69
+ #
70
+ # QuickBooks answers in one webhook.
71
+ #
72
+ # Params, sent as the query string:
73
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
74
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
75
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
76
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
77
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
78
+ # combine with each other, not with the other choices.
79
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
80
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
81
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
82
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
83
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
84
+ # each other, not with the other choices.
85
+ # - `full_name` (Array<String>): Choose at most one of: `list_id`, or `full_name`, or the set
86
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
87
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
88
+ # with the other choices.
89
+ # - `include_ret_element` (Array<one of "BaseUnit", "DefaultUnit", "EditSequence", "IsActive",
90
+ # "ListID", "Name", "RelatedUnit", "TimeCreated", "TimeModified", "UnitOfMeasureType">)
91
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
92
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
93
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
94
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
95
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
96
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
97
+ # combine with each other, not with the other choices.
98
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
99
+ # count of how many objects could possibly be returned, use the `meta_data` query
100
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
101
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
102
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
103
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
104
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
105
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
106
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
107
+ # combine with each other, not with the other choices.
108
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
109
+ # `meta_data` attribute to control whether query responses include counts. Options are
110
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
111
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
112
+ # during processing.
113
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
114
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
115
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
116
+ # combine with each other, not with the other choices.
117
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
118
+ # to match.
119
+ # - `name` (String, required): The string to match.
120
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
121
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
122
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
123
+ # combine with each other, not with the other choices.
124
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
125
+ # omitted, the range will begin with first name on the list.
126
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
127
+ # the range will end with last name on the list.
128
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
129
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
130
+ # webhook already carries the request's `id`.
131
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
132
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
133
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
134
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
135
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
136
+ # combine with each other, not with the other choices.
137
+ #
138
+ # @param connection_id [String]
139
+ # @param params [Hash] the fields above
140
+ # @param webhook_url [String] where QuBe Sync sends the answer
141
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
142
+ # @return [Hash] the queued request
143
+ # @see https://docs.qubesync.com/api-reference/v2/unit-of-measure-sets/list-unit-of-measure-sets
144
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
145
+ queue("unit_of_measure_set.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
146
+ end
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,152 @@
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 vehicle operations, reached as `client.vehicle`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Vehicle < Base
9
+ # Create vehicle: POST /connections/{connection_id}/vehicles (`vehicle.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `desc` (String): A descriptive text field.
15
+ # - `include_ret_element` (Array<one of "Desc", "EditSequence", "ExternalGUID", "IsActive",
16
+ # "ListID", "Name", "OwnerID", "TimeCreated", "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 FullName remains distinct.
22
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
23
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
24
+ # webhook already carries the request's `id`.
25
+ #
26
+ # @param connection_id [String]
27
+ # @param params [Hash] the fields above
28
+ # @param webhook_url [String] where QuBe Sync sends the answer
29
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
30
+ # @return [Hash] the queued request
31
+ # @see https://docs.qubesync.com/api-reference/v2/vehicles/create-vehicle
32
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
33
+ queue("vehicle.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
34
+ end
35
+
36
+ # List vehicles: GET /connections/{connection_id}/vehicles (`vehicle.query`).
37
+ #
38
+ # QuickBooks answers in one webhook.
39
+ #
40
+ # Params, sent as the query string:
41
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
42
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
43
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
44
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
45
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
46
+ # combine with each other, not with the other choices.
47
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
48
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
49
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
50
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
51
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
52
+ # each other, not with the other choices.
53
+ # - `full_name` (Array<String>): Choose at most one of: `list_id`, or `full_name`, or the set
54
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
55
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
56
+ # with the other choices.
57
+ # - `include_ret_element` (Array<one of "Desc", "EditSequence", "IsActive", "ListID", "Name",
58
+ # "TimeCreated", "TimeModified">)
59
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
60
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
61
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
62
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
63
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
64
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
65
+ # combine with each other, not with the other choices.
66
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
67
+ # count of how many objects could possibly be returned, use the `meta_data` query
68
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
69
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
70
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
71
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
72
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
73
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
74
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
75
+ # combine with each other, not with the other choices.
76
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
77
+ # `meta_data` attribute to control whether query responses include counts. Options are
78
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
79
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
80
+ # during processing.
81
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
82
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
83
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
84
+ # combine with each other, not with the other choices.
85
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
86
+ # to match.
87
+ # - `name` (String, required): The string to match.
88
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
89
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
90
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
91
+ # combine with each other, not with the other choices.
92
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
93
+ # omitted, the range will begin with first name on the list.
94
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
95
+ # the range will end with last name on the list.
96
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
97
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
98
+ # webhook already carries the request's `id`.
99
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
100
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
101
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
102
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
103
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
104
+ # combine with each other, not with the other choices.
105
+ #
106
+ # @param connection_id [String]
107
+ # @param params [Hash] the fields above
108
+ # @param webhook_url [String] where QuBe Sync sends the answer
109
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
110
+ # @return [Hash] the queued request
111
+ # @see https://docs.qubesync.com/api-reference/v2/vehicles/list-vehicles
112
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
113
+ queue("vehicle.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
114
+ end
115
+
116
+ # Update vehicle: PUT /connections/{connection_id}/vehicles (`vehicle.update`).
117
+ #
118
+ # QuickBooks answers in one webhook.
119
+ #
120
+ # Params, sent as the JSON body:
121
+ # - `desc` (String): A descriptive text field.
122
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
123
+ # It changes each time the object is updated. To modify an existing object, you must send
124
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
125
+ # overwriting newer changes.
126
+ # - `include_ret_element` (Array<one of "Desc", "EditSequence", "ExternalGUID", "IsActive",
127
+ # "ListID", "Name", "OwnerID", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
128
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
129
+ # QuickBooks. The default value is true.
130
+ # - `list_id` (String, required): `list_id` and FullName both identify a list object.
131
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
132
+ # within a list type, not globally across all lists. If both FullName and `list_id` are
133
+ # supplied in a request, QuickBooks uses `list_id` and ignores FullName.
134
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
135
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
136
+ # same Name in different branches because FullName remains distinct.
137
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
138
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
139
+ # webhook already carries the request's `id`.
140
+ #
141
+ # @param connection_id [String]
142
+ # @param params [Hash] the fields above
143
+ # @param webhook_url [String] where QuBe Sync sends the answer
144
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
145
+ # @return [Hash] the queued request
146
+ # @see https://docs.qubesync.com/api-reference/v2/vehicles/update-vehicle
147
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
148
+ queue("vehicle.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
149
+ end
150
+ end
151
+ end
152
+ end
@@ -0,0 +1,191 @@
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 vehicle mileage operations, reached as `client.vehicle_mileage`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class VehicleMileage < Base
9
+ # Create vehicle mileage: POST /connections/{connection_id}/vehicle-mileages
10
+ # (`vehicle_mileage.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # Give at most one of: `odometer_end` with `odometer_start`, or `total_miles`.
16
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing status
17
+ # of this item line or expense line.
18
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
19
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
20
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
21
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
22
+ # override or clear it on individual lines.
23
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
24
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
25
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
26
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
27
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
28
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
29
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
30
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
31
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
32
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
33
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
34
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
35
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
36
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
37
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
38
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
39
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
40
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
41
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
42
+ # or TxnLineID so later requests can reference it with `useMacro`. This feature requires SDK
43
+ # 2.0+.
44
+ # - `include_ret_element` (Array<one of "BillableAmount", "BillableRate", "BillableStatus",
45
+ # "ClassRef", "CustomerRef", "EditSequence", "ExternalGUID", "ItemRef", "ListID", "Notes",
46
+ # "OdometerEnd", "OdometerStart", "OwnerID", "StandardMileageRate",
47
+ # "StandardMileageTotalAmount", "TimeCreated", "TimeModified", "TotalMiles", "TripEndDate",
48
+ # "TripStartDate", "TxnID", "TxnNumber", "VehicleRef">)
49
+ # - `item_ref` (Hash): `item_ref` may accept all item types or a restricted subset, depending
50
+ # on the request. Examples: PurchaseOrder and Bill do not allow discount or sales-tax items;
51
+ # VehicleMileageAdd requires a service or other-charge item; BillingRateAdd requires a
52
+ # service item. If both `full_name` and `list_id` are provided, `full_name` is ignored.
53
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
54
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
55
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
56
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
57
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
58
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
59
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
60
+ # - `notes` (String): Additional information.
61
+ # - `odometer_end` (Numeric): Odometer reading at the end of the trip. `odometer_start` and
62
+ # `odometer_end` must both be specified if `total_miles` isn’t specified. QuickBooks will
63
+ # calculate the total trip miles from these two values. If `total_miles` is specified, you
64
+ # can’t specify `odometer_start` and `odometer_end`.
65
+ # - `odometer_start` (Numeric): Odometer reading at the start of the trip. `odometer_start`
66
+ # and `odometer_end` must both be specified if `total_miles` isn’t specified. QuickBooks
67
+ # will calculate the total trip miles from these two values. If `total_miles` is specified,
68
+ # you can’t specify `odometer_start` and `odometer_end`.
69
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
70
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
71
+ # webhook already carries the request's `id`.
72
+ # - `total_miles` (Numeric): Total trip miles. If `total_miles` is specified, you can’t
73
+ # specify `odometer_start` and `odometer_end`. If you use `odometer_start` and
74
+ # `odometer_end` instead of `total_miles`, QuickBooks will calculate the total trip miles
75
+ # from these two values.
76
+ # - `trip_end_date` (String): Date the trip ended. If left blank, the current date at the time
77
+ # of transaction will be used. Notice that only dates are supported for vehicle mileage, so
78
+ # make sure you enter any datetime values with dates only, no time values. That is,
79
+ # 2002-02-02 will work for trip end date or start date, but 2002-02-02T12:20:20 won’t work.
80
+ # - `trip_start_date` (String): Date the trip began. If left blank, the current date at the
81
+ # time of transaction will be used. Notice that only dates are supported for vehicle
82
+ # mileage, so make sure you enter any datetime values with dates only, no time values. That
83
+ # is, 2002-02-02 will work for trip end date or start date, but 2002-02-02T12:20:20 won’t
84
+ # work.
85
+ # - `vehicle_ref` (Hash, required): A vehicle for use in VehicleMileage transactions. Each
86
+ # vehicle name must be unique.
87
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
88
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
89
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
90
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
91
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
92
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
93
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
94
+ #
95
+ # @param connection_id [String]
96
+ # @param params [Hash] the fields above
97
+ # @param webhook_url [String] where QuBe Sync sends the answer
98
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
99
+ # @return [Hash] the queued request
100
+ # @see https://docs.qubesync.com/api-reference/v2/vehicle-mileages/create-vehicle-mileage
101
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
102
+ queue("vehicle_mileage.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
103
+ end
104
+
105
+ # List vehicle mileages: GET /connections/{connection_id}/vehicle-mileages
106
+ # (`vehicle_mileage.query`).
107
+ #
108
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
109
+ # `iteration_state` `done`.
110
+ #
111
+ # Params, sent as the query string:
112
+ # - `include_ret_element` (Array<one of "BillableAmount", "BillableRate", "BillableStatus",
113
+ # "ClassRef", "CustomerRef", "EditSequence", "ItemRef", "Notes", "OdometerEnd",
114
+ # "OdometerStart", "StandardMileageRate", "StandardMileageTotalAmount", "TimeCreated",
115
+ # "TimeModified", "TotalMiles", "TripEndDate", "TripStartDate", "TxnID", "VehicleRef">)
116
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
117
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
118
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
119
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
120
+ # alone (at most that many, in one answer). It pages a filtered query only: with `txn_id`
121
+ # every match comes back in one answer, so leave `iterator` out.
122
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
123
+ # count of how many objects could possibly be returned, use the `meta_data` query
124
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
125
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
126
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
127
+ # whether more matched. Choose at most one of: `txn_id`, or the set (`max_returned`,
128
+ # `modified_date_range_filter`, `txn_date_range_filter`). Members of a set combine with each
129
+ # other, not with the other choices.
130
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
131
+ # `meta_data` attribute to control whether query responses include counts. Options are
132
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
133
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
134
+ # during processing.
135
+ # - `modified_date_range_filter` (Hash): Filters according to the dates when transactions were
136
+ # last modified. The `modified_date_range_filter` aggregate isn’t required to contain any
137
+ # elements, but if it is empty, we recommend that you leave it out altogether. Note that the
138
+ # time portion of the `from_modified_date` and `to_modified_date` fields wasn’t supported in
139
+ # qbXML version 1.0 or 1.1. Choose at most one of: `txn_id`, or the set (`max_returned`,
140
+ # `modified_date_range_filter`, `txn_date_range_filter`). Members of a set combine with each
141
+ # other, not with the other choices.
142
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
143
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
144
+ # date is provided, time defaults to 00:00:00.
145
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
146
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
147
+ # date is provided, time defaults to end-of-day (23:59:59).
148
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
149
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
150
+ # webhook already carries the request's `id`.
151
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
152
+ # Choose at most one of: `txn_id`, or the set (`max_returned`, `modified_date_range_filter`,
153
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
154
+ # choices.
155
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
156
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
157
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
158
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
159
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
160
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
161
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
162
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
163
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
164
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
165
+ # last-modified date). Do not combine `date_macro` with
166
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
167
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
168
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
169
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
170
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
171
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
172
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
173
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
174
+ # Use it to reference that transaction in later requests. `txn_id` values are
175
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
176
+ # at most one of: `txn_id`, or the set (`max_returned`, `modified_date_range_filter`,
177
+ # `txn_date_range_filter`). Members of a set combine with each other, not with the other
178
+ # choices.
179
+ #
180
+ # @param connection_id [String]
181
+ # @param params [Hash] the fields above
182
+ # @param webhook_url [String] where QuBe Sync sends the answer
183
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
184
+ # @return [Hash] the queued request
185
+ # @see https://docs.qubesync.com/api-reference/v2/vehicle-mileages/list-vehicle-mileages
186
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
187
+ queue("vehicle_mileage.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
188
+ end
189
+ end
190
+ end
191
+ end