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,303 @@
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 time tracking operations, reached as `client.time_tracking`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class TimeTracking < Base
9
+ # Create time tracking: POST /connections/{connection_id}/time-trackings
10
+ # (`time_tracking.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing status
16
+ # of this item line or expense line.
17
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
18
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
19
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
20
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
21
+ # override or clear it on individual lines.
22
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
23
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
24
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
25
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
26
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
27
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
28
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
29
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
30
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
31
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
32
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
33
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
34
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
35
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
36
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
37
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
38
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
39
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
40
+ # - `def_macro` (String): `def_macro` lets you assign a reusable name to a returned `txn_id`
41
+ # or TxnLineID so later requests can reference it with `useMacro`. This feature requires SDK
42
+ # 2.0+.
43
+ # - `duration` (String, required): Time spent doing the work. In a TimeTrackAdd request,
44
+ # notice that although you can specify seconds, seconds aren’t returned in the response
45
+ # because the UI doesn’t use seconds.
46
+ # - `entity_ref` (Hash, required): A QuickBooks “entity” is a customer, vendor, employee, or
47
+ # person on the QuickBooks “other names” list. Special cases to note: In a BillToPayQuery
48
+ # message, `entity_ref` refers to the vendor name. In JournalCreditLine and JournalDebitLine
49
+ # messages for A/R accounts, `entity_ref` must refer to a customer, or else the transaction
50
+ # won’t be recorded.
51
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
52
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
53
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
54
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
55
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
56
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
57
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
58
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
59
+ # - `include_ret_element` (Array<one of "BillableStatus", "ClassRef", "CustomerRef",
60
+ # "Duration", "EditSequence", "EntityRef", "ExternalGUID", "ItemServiceRef", "ListID",
61
+ # "Notes", "OwnerID", "PayrollItemWageRef", "Rate", "TimeCreated", "TimeModified",
62
+ # "TxnDate", "TxnID", "TxnNumber">)
63
+ # - `item_service_ref` (Hash): A service item refers to services that a business charges for
64
+ # or purchases. Examples include specialized labor, consulting hours, and professional fees.
65
+ # An `item_service_ref` aggregate refers to an item on the ItemService list. In a request,
66
+ # if an `item_service_ref` aggregate includes both `full_name` and `list_id`, `full_name`
67
+ # will be ignored.
68
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
69
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
70
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
71
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
72
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
73
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
74
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
75
+ # - `notes` (String): Additional information.
76
+ # - `payroll_item_wage_ref` (Hash): Each payroll wage item describes and names a payment
77
+ # scheme, for example, Regular Pay or Overtime Pay. A `payroll_item_wage_ref` aggregate
78
+ # refers to one of these wage items. In a request, if a `payroll_item_wage_ref` aggregate
79
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
80
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
81
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
82
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
83
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
84
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
85
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
86
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
87
+ # - `rate` (Numeric)
88
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
89
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
90
+ # webhook already carries the request's `id`.
91
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
92
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
93
+ # transaction of the same type.
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/time-trackings/create-time-tracking
101
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
102
+ queue("time_tracking.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
103
+ end
104
+
105
+ # List time trackings: GET /connections/{connection_id}/time-trackings
106
+ # (`time_tracking.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 "BillableStatus", "ClassRef", "CustomerRef",
113
+ # "Duration", "EditSequence", "EntityRef", "ExternalGUID", "ItemServiceRef", "Notes",
114
+ # "PayrollItemWageRef", "Rate", "TimeCreated", "TimeModified", "TxnDate", "TxnID",
115
+ # "TxnNumber">)
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`, `time_tracking_entity_filter`, `txn_date_range_filter`).
129
+ # Members of a set combine with each 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`, `time_tracking_entity_filter`, `txn_date_range_filter`).
141
+ # Members of a set combine with each 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
+ # - `time_tracking_entity_filter` (Hash): Allows you to query for one or more names on the
152
+ # QuickBooks Vendor list, Employee list, or Other Names list. Choose at most one of:
153
+ # `txn_id`, or the set (`max_returned`, `modified_date_range_filter`,
154
+ # `time_tracking_entity_filter`, `txn_date_range_filter`). Members of a set combine with
155
+ # each other, not with the other choices.
156
+ # Give at most one of: `list_id`, or `full_name`.
157
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
158
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
159
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
160
+ # - `list_id` (Array<String>): `list_id` and `full_name` 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 `full_name` and `list_id` are
163
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
164
+ # - `txn_date_range_filter` (Hash): Filters according to the original transaction dates.
165
+ # Choose at most one of: `txn_id`, or the set (`max_returned`, `modified_date_range_filter`,
166
+ # `time_tracking_entity_filter`, `txn_date_range_filter`). Members of a set combine with
167
+ # each other, not with the other choices.
168
+ # Give at most one of: `from_txn_date` with `to_txn_date`, or `date_macro`.
169
+ # - `date_macro` (one of "All", "LastCalendarQuarter", "LastCalendarQuarterToDate",
170
+ # "LastCalendarYear", "LastCalendarYearToDate", "LastFiscalQuarter",
171
+ # "LastFiscalQuarterToDate", "LastFiscalYear", "LastFiscalYearToDate", "LastMonth",
172
+ # "LastMonthToDate", "LastWeek", "LastWeekToDate", "NextCalendarQuarter",
173
+ # "NextCalendarYear", "NextFiscalQuarter", "NextFiscalYear", "NextFourWeeks", "NextMonth",
174
+ # "NextWeek", "ThisCalendarQuarter", "ThisCalendarQuarterToDate", "ThisCalendarYear",
175
+ # "ThisCalendarYearToDate", "ThisFiscalQuarter", "ThisFiscalQuarterToDate",
176
+ # "ThisFiscalYear", "ThisFiscalYearToDate", "ThisMonth", "ThisMonthToDate", "ThisWeek",
177
+ # "ThisWeekToDate", "Today", "Yesterday"): `date_macro` filters by transaction date (not
178
+ # last-modified date). Do not combine `date_macro` with
179
+ # `from_modified_date`/`to_modified_date` in the same query filter set.
180
+ # - `from_txn_date` (String): Selects transactions created on or after this date. Both
181
+ # `from_txn_date` and `to_txn_date` must be between 01/01/1901 and 12/31/9999.If you omit
182
+ # `from_txn_date`, it will be set to 1970-01-01 (1969-12-31 PST).
183
+ # - `to_txn_date` (String): Selects transactions created on or before this date. Both
184
+ # `to_txn_date` and `from_txn_date` must be between 01/01/1901 and 12/31/9999. If you omit
185
+ # `to_txn_date`, it will be set to 2038-01-19 (2038-01-18 PST).
186
+ # - `txn_id` (Array<String>): `txn_id` is the unique QuickBooks identifier for a transaction.
187
+ # Use it to reference that transaction in later requests. `txn_id` values are
188
+ # transaction-specific and should not be reused across unrelated transaction types. Choose
189
+ # at most one of: `txn_id`, or the set (`max_returned`, `modified_date_range_filter`,
190
+ # `time_tracking_entity_filter`, `txn_date_range_filter`). Members of a set combine with
191
+ # each other, not with the other choices.
192
+ #
193
+ # @param connection_id [String]
194
+ # @param params [Hash] the fields above
195
+ # @param webhook_url [String] where QuBe Sync sends the answer
196
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
197
+ # @return [Hash] the queued request
198
+ # @see https://docs.qubesync.com/api-reference/v2/time-trackings/list-time-trackings
199
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
200
+ queue("time_tracking.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
201
+ end
202
+
203
+ # Update time tracking: PUT /connections/{connection_id}/time-trackings
204
+ # (`time_tracking.update`).
205
+ #
206
+ # QuickBooks answers in one webhook.
207
+ #
208
+ # Params, sent as the JSON body:
209
+ # - `billable_status` (one of "Billable", "HasBeenBilled", "NotBillable"): The billing status
210
+ # of this item line or expense line.
211
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
212
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
213
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
214
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
215
+ # override or clear it on individual lines.
216
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
217
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
218
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
219
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
220
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
221
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
222
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
223
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
224
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
225
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
226
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true.
227
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
228
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
229
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
230
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
231
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
232
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
233
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
234
+ # - `duration` (String, required): Time spent doing the work. In a TimeTrackAdd request,
235
+ # notice that although you can specify seconds, seconds aren’t returned in the response
236
+ # because the UI doesn’t use seconds.
237
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
238
+ # It changes each time the object is updated. To modify an existing object, you must send
239
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
240
+ # overwriting newer changes.
241
+ # - `entity_ref` (Hash, required): A QuickBooks “entity” is a customer, vendor, employee, or
242
+ # person on the QuickBooks “other names” list. Special cases to note: In a BillToPayQuery
243
+ # message, `entity_ref` refers to the vendor name. In JournalCreditLine and JournalDebitLine
244
+ # messages for A/R accounts, `entity_ref` must refer to a customer, or else the transaction
245
+ # won’t be recorded.
246
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
247
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
248
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
249
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
250
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
251
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
252
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
253
+ # - `include_ret_element` (Array<one of "BillableStatus", "ClassRef", "CustomerRef",
254
+ # "Duration", "EditSequence", "EntityRef", "ExternalGUID", "ItemServiceRef", "ListID",
255
+ # "Notes", "OwnerID", "PayrollItemWageRef", "Rate", "TimeCreated", "TimeModified",
256
+ # "TxnDate", "TxnID", "TxnNumber">)
257
+ # - `item_service_ref` (Hash): A service item refers to services that a business charges for
258
+ # or purchases. Examples include specialized labor, consulting hours, and professional fees.
259
+ # An `item_service_ref` aggregate refers to an item on the ItemService list. In a request,
260
+ # if an `item_service_ref` aggregate includes both `full_name` and `list_id`, `full_name`
261
+ # will be ignored.
262
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
263
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
264
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
265
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
266
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
267
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
268
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
269
+ # - `notes` (String): Additional information.
270
+ # - `payroll_item_wage_ref` (Hash): Each payroll wage item describes and names a payment
271
+ # scheme, for example, Regular Pay or Overtime Pay. A `payroll_item_wage_ref` aggregate
272
+ # refers to one of these wage items. In a request, if a `payroll_item_wage_ref` aggregate
273
+ # includes both `full_name` and `list_id`, `full_name` will be ignored.
274
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
275
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
276
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
277
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
278
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
279
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
280
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
281
+ # - `rate` (Numeric)
282
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
283
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
284
+ # webhook already carries the request's `id`.
285
+ # - `txn_date` (String): The date of the transaction. In some cases, if you leave `txn_date`
286
+ # out of an -Add message, QuickBooks will prefill `txn_date` with the date of the last-saved
287
+ # transaction of the same type.
288
+ # - `txn_id` (String, required): `txn_id` is the unique QuickBooks identifier for a
289
+ # transaction. Use it to reference that transaction in later requests. `txn_id` values are
290
+ # transaction-specific and should not be reused across unrelated transaction types.
291
+ #
292
+ # @param connection_id [String]
293
+ # @param params [Hash] the fields above
294
+ # @param webhook_url [String] where QuBe Sync sends the answer
295
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
296
+ # @return [Hash] the queued request
297
+ # @see https://docs.qubesync.com/api-reference/v2/time-trackings/update-time-tracking
298
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
299
+ queue("time_tracking.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
300
+ end
301
+ end
302
+ end
303
+ end
@@ -0,0 +1,260 @@
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 to do operations, reached as `client.to_do`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ToDo < Base
9
+ # Create to do: POST /connections/{connection_id}/to-dos (`to_do.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
15
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
16
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
17
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true. Choose
18
+ # at most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or `vendor_ref`.
19
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
20
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
21
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
22
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
23
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
24
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
25
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
26
+ # - `employee_ref` (Hash): The employee list contains payroll information about each of the
27
+ # company’s employees. Choose at most one of: `customer_ref`, or `employee_ref`, or
28
+ # `lead_ref`, or `vendor_ref`.
29
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
30
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
31
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
32
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
33
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
34
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
35
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
36
+ # - `include_ret_element` (Array<one of "CustomerRef", "EditSequence", "EmployeeRef",
37
+ # "ExternalGUID", "IsActive", "IsDone", "LeadRef", "ListID", "Notes", "OwnerID", "Priority",
38
+ # "ReminderDate", "ReminderTime", "TimeCreated", "TimeModified", "TxnID", "TxnNumber",
39
+ # "Type", "VendorRef">)
40
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
41
+ # QuickBooks. The default value is true.
42
+ # - `is_done` (Boolean): If `is_done` is true, this “to do” task has been completed. The
43
+ # default value of `is_done` is false.
44
+ # - `lead_ref` (Hash): The lead list contains information about leads for a company. Choose at
45
+ # most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or `vendor_ref`.
46
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
47
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
48
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
49
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
50
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
51
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
52
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
53
+ # - `notes` (String, required): Additional information.
54
+ # - `priority` (one of "High", "Low", "Medium"): Priority may have one of the following
55
+ # values: Low [DEFAULT], Medium, High
56
+ # - `reminder_date` (String): The date on which the contents of the Notes string will appear
57
+ # on the Reminder list within QuickBooks.
58
+ # - `reminder_time` (String): The time on which the contents of the Notes string will appear
59
+ # on the Reminder list within QuickBooks.
60
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
61
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
62
+ # webhook already carries the request's `id`.
63
+ # - `type` (one of "Appointment", "Call", "Email", "Fax", "Meeting", "Task"): Type may have
64
+ # one of the following values: Task [DEFAULT], Call, Fax, Email, Meeting, Appointment
65
+ # - `vendor_ref` (Hash): A vendor is any person or company from whom a small business owner
66
+ # buys goods and services. (Banks and tax agencies usually are included on the vendor list.)
67
+ # A company’s vendor list contains information such as account balance and contact
68
+ # information about each vendor. A `vendor_ref` aggregate refers to one of the vendors on
69
+ # the list. Choose at most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or
70
+ # `vendor_ref`.
71
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
72
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
73
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
74
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
75
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
76
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
77
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
78
+ #
79
+ # @param connection_id [String]
80
+ # @param params [Hash] the fields above
81
+ # @param webhook_url [String] where QuBe Sync sends the answer
82
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
83
+ # @return [Hash] the queued request
84
+ # @see https://docs.qubesync.com/api-reference/v2/to-dos/create-to-do
85
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
86
+ queue("to_do.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
87
+ end
88
+
89
+ # List to dos: GET /connections/{connection_id}/to-dos (`to_do.query`).
90
+ #
91
+ # QuickBooks answers in one webhook.
92
+ #
93
+ # Params, sent as the query string:
94
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
95
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
96
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
97
+ # most one of: `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
98
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
99
+ # combine with each other, not with the other choices.
100
+ # - `done_status` (one of "All", "DoneOnly", "NotDoneOnly"): Selects all the relevant “to do”
101
+ # notes (dsAll), only those that are done (dsDoneOnly), or only those that aren’t done
102
+ # (dsNotDoneOnly). Choose at most one of: `list_id`, or the set (`active_status`,
103
+ # `done_status`, `from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
104
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
105
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
106
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
107
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or the set
108
+ # (`active_status`, `done_status`, `from_modified_date`, `max_returned`, `name_filter`,
109
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
110
+ # with the other choices.
111
+ # - `include_ret_element` (Array<one of "CustomerRef", "EditSequence", "EmployeeRef",
112
+ # "IsActive", "IsDone", "LeadRef", "ListID", "Notes", "Priority", "ReminderDate",
113
+ # "ReminderTime", "TimeCreated", "TimeModified", "Type", "VendorRef">)
114
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
115
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
116
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
117
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
118
+ # one of: `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
119
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
120
+ # combine with each other, not with the other choices.
121
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
122
+ # count of how many objects could possibly be returned, use the `meta_data` query
123
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
124
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
125
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
126
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
127
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
128
+ # `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
129
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
130
+ # combine with each other, not with the other choices.
131
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
132
+ # `meta_data` attribute to control whether query responses include counts. Options are
133
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
134
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
135
+ # during processing.
136
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
137
+ # `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
138
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
139
+ # combine with each other, not with the other choices.
140
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
141
+ # to match.
142
+ # - `name` (String, required): The string to match.
143
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
144
+ # `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
145
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
146
+ # combine with each other, not with the other choices.
147
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
148
+ # omitted, the range will begin with first name on the list.
149
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
150
+ # the range will end with last name on the list.
151
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
152
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
153
+ # webhook already carries the request's `id`.
154
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
155
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
156
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
157
+ # `list_id`, or the set (`active_status`, `done_status`, `from_modified_date`,
158
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
159
+ # combine with each other, not with the other choices.
160
+ #
161
+ # @param connection_id [String]
162
+ # @param params [Hash] the fields above
163
+ # @param webhook_url [String] where QuBe Sync sends the answer
164
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
165
+ # @return [Hash] the queued request
166
+ # @see https://docs.qubesync.com/api-reference/v2/to-dos/list-to-dos
167
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
168
+ queue("to_do.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
169
+ end
170
+
171
+ # Update to do: PUT /connections/{connection_id}/to-dos (`to_do.update`).
172
+ #
173
+ # QuickBooks answers in one webhook.
174
+ #
175
+ # Params, sent as the JSON body:
176
+ # - `customer_ref` (Hash): `customer_ref` identifies a customer or customer job. If both
177
+ # `full_name` and `list_id` are provided, `full_name` is ignored. In SalesReceipt and
178
+ # ReceivePayment, it identifies who receives credit. In TimeTracking, it identifies who the
179
+ # time can be billed to and is required in TimeTrackingAdd when IsBillable is true. Choose
180
+ # at most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or `vendor_ref`.
181
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
182
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
183
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
184
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
185
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
186
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
187
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
188
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
189
+ # It changes each time the object is updated. To modify an existing object, you must send
190
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
191
+ # overwriting newer changes.
192
+ # - `employee_ref` (Hash): The employee list contains payroll information about each of the
193
+ # company’s employees. Choose at most one of: `customer_ref`, or `employee_ref`, or
194
+ # `lead_ref`, or `vendor_ref`.
195
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
196
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
197
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
198
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
199
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
200
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
201
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
202
+ # - `include_ret_element` (Array<one of "CustomerRef", "EditSequence", "EmployeeRef",
203
+ # "ExternalGUID", "IsActive", "IsDone", "LeadRef", "ListID", "Notes", "OwnerID", "Priority",
204
+ # "ReminderDate", "ReminderTime", "TimeCreated", "TimeModified", "TxnID", "TxnNumber",
205
+ # "Type", "VendorRef">)
206
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
207
+ # QuickBooks. The default value is true.
208
+ # - `is_done` (Boolean): If `is_done` is true, this “to do” task has been completed. The
209
+ # default value of `is_done` is false.
210
+ # - `lead_ref` (Hash): The lead list contains information about leads for a company. Choose at
211
+ # most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or `vendor_ref`.
212
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
213
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
214
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
215
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
216
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
217
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
218
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
219
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
220
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
221
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
222
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
223
+ # - `notes` (String): Additional information.
224
+ # - `priority` (one of "High", "Low", "Medium"): Priority may have one of the following
225
+ # values: Low [DEFAULT], Medium, High
226
+ # - `reminder_date` (String): The date on which the contents of the Notes string will appear
227
+ # on the Reminder list within QuickBooks.
228
+ # - `reminder_time` (String): The time on which the contents of the Notes string will appear
229
+ # on the Reminder list within QuickBooks.
230
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
231
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
232
+ # webhook already carries the request's `id`.
233
+ # - `type` (one of "Appointment", "Call", "Email", "Fax", "Meeting", "Task"): Type may have
234
+ # one of the following values: Task [DEFAULT], Call, Fax, Email, Meeting, Appointment
235
+ # - `vendor_ref` (Hash): A vendor is any person or company from whom a small business owner
236
+ # buys goods and services. (Banks and tax agencies usually are included on the vendor list.)
237
+ # A company’s vendor list contains information such as account balance and contact
238
+ # information about each vendor. A `vendor_ref` aggregate refers to one of the vendors on
239
+ # the list. Choose at most one of: `customer_ref`, or `employee_ref`, or `lead_ref`, or
240
+ # `vendor_ref`.
241
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
242
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
243
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
244
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
245
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
246
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
247
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
248
+ #
249
+ # @param connection_id [String]
250
+ # @param params [Hash] the fields above
251
+ # @param webhook_url [String] where QuBe Sync sends the answer
252
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
253
+ # @return [Hash] the queued request
254
+ # @see https://docs.qubesync.com/api-reference/v2/to-dos/update-to-do
255
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
256
+ queue("to_do.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
257
+ end
258
+ end
259
+ end
260
+ end