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,117 @@
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 customer msg operations, reached as `client.customer_msg`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class CustomerMsg < Base
9
+ # Create customer msg: POST /connections/{connection_id}/customer-msgs
10
+ # (`customer_msg.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `include_ret_element` (Array<one of "EditSequence", "ExternalGUID", "IsActive", "ListID",
16
+ # "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/customer-msgs/create-customer-msg
32
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
33
+ queue("customer_msg.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
34
+ end
35
+
36
+ # List customer msgs: GET /connections/{connection_id}/customer-msgs (`customer_msg.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 "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/customer-msgs/list-customer-msgs
112
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
113
+ queue("customer_msg.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,133 @@
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 customer type operations, reached as `client.customer_type`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class CustomerType < Base
9
+ # Create customer type: POST /connections/{connection_id}/customer-types
10
+ # (`customer_type.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `include_ret_element` (Array<one of "EditSequence", "ExternalGUID", "FullName",
16
+ # "IsActive", "ListID", "Name", "OwnerID", "ParentRef", "Sublevel", "TimeCreated",
17
+ # "TimeModified", "TxnID", "TxnNumber">)
18
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
19
+ # QuickBooks. The default value is true.
20
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
21
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
22
+ # reuse the same Name in different branches because `full_name` remains distinct.
23
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
24
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
25
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
26
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
27
+ # ignored.
28
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
29
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
30
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
31
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
32
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
33
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
34
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
35
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
36
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
37
+ # webhook already carries the request's `id`.
38
+ #
39
+ # @param connection_id [String]
40
+ # @param params [Hash] the fields above
41
+ # @param webhook_url [String] where QuBe Sync sends the answer
42
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
43
+ # @return [Hash] the queued request
44
+ # @see https://docs.qubesync.com/api-reference/v2/customer-types/create-customer-type
45
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
46
+ queue("customer_type.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
47
+ end
48
+
49
+ # List customer types: GET /connections/{connection_id}/customer-types
50
+ # (`customer_type.query`).
51
+ #
52
+ # QuickBooks answers in one webhook.
53
+ #
54
+ # Params, sent as the query string:
55
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
56
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
57
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
58
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
59
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
60
+ # combine with each other, not with the other choices.
61
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
62
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
63
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
64
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
65
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
66
+ # each other, not with the other choices.
67
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
68
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
69
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
70
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
71
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
72
+ # combine with each other, not with the other choices.
73
+ # - `include_ret_element` (Array<one of "EditSequence", "FullName", "IsActive", "ListID",
74
+ # "Name", "ParentRef", "Sublevel", "TimeCreated", "TimeModified">)
75
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
76
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
77
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
78
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
79
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
80
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
81
+ # combine with each other, not with the other choices.
82
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
83
+ # count of how many objects could possibly be returned, use the `meta_data` query
84
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
85
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
86
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
87
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
88
+ # `response_too_large`), so narrow a large one with its filters. 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
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
93
+ # `meta_data` attribute to control whether query responses include counts. Options are
94
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
95
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
96
+ # during processing.
97
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
98
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
99
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
100
+ # combine with each other, not with the other choices.
101
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
102
+ # to match.
103
+ # - `name` (String, required): The string to match.
104
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. 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
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
109
+ # omitted, the range will begin with first name on the list.
110
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
111
+ # the range will end with last name on the list.
112
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
113
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
114
+ # webhook already carries the request's `id`.
115
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
116
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
117
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
118
+ # `list_id`, or `full_name`, or the set (`active_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
+ #
122
+ # @param connection_id [String]
123
+ # @param params [Hash] the fields above
124
+ # @param webhook_url [String] where QuBe Sync sends the answer
125
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
126
+ # @return [Hash] the queued request
127
+ # @see https://docs.qubesync.com/api-reference/v2/customer-types/list-customer-types
128
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
129
+ queue("customer_type.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
130
+ end
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,54 @@
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 data event recovery info operations, reached as `client.data_event_recovery_info`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class DataEventRecoveryInfo < Base
9
+ # Delete data event recovery info: DELETE
10
+ # /connections/{connection_id}/data-event-recovery-infos (`data_event_recovery_info.delete`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
16
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
17
+ # webhook already carries the request's `id`.
18
+ # - `subscriber_id` (String, required): A unique identifier that an application sets when it
19
+ # adds a subscription so that the application can later query or delete the subscription.
20
+ #
21
+ # @param connection_id [String]
22
+ # @param params [Hash] the fields above
23
+ # @param webhook_url [String] where QuBe Sync sends the answer
24
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
25
+ # @return [Hash] the queued request
26
+ # @see https://docs.qubesync.com/api-reference/v2/data-event-recovery-infos/delete-data-event-recovery-info
27
+ def delete(connection_id, params = {}, webhook_url:, idempotency_key: nil)
28
+ queue("data_event_recovery_info.delete", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
29
+ end
30
+
31
+ # List data event recovery infos: GET /connections/{connection_id}/data-event-recovery-infos
32
+ # (`data_event_recovery_info.query`).
33
+ #
34
+ # QuickBooks answers in one webhook.
35
+ #
36
+ # Params, sent as the query string:
37
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
38
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
39
+ # webhook already carries the request's `id`.
40
+ # - `subscriber_id` (String, required): A unique identifier that an application sets when it
41
+ # adds a subscription so that the application can later query or delete the subscription.
42
+ #
43
+ # @param connection_id [String]
44
+ # @param params [Hash] the fields above
45
+ # @param webhook_url [String] where QuBe Sync sends the answer
46
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
47
+ # @return [Hash] the queued request
48
+ # @see https://docs.qubesync.com/api-reference/v2/data-event-recovery-infos/list-data-event-recovery-infos
49
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
50
+ queue("data_event_recovery_info.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,201 @@
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 data ext operations, reached as `client.data_ext`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class DataExt < Base
9
+ # Create data ext: POST /connections/{connection_id}/data-exts (`data_ext.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # Give at most one of: `list_data_ext_type` with `list_obj_ref`, or `txn_data_ext_type` with
15
+ # `txn_id` with `txn_line_id`, or `other_data_ext_type`.
16
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
17
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
18
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
19
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be a
20
+ # unique value among existing custom fields.
21
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
22
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For example,
23
+ # if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is 255
24
+ # characters. If `data_ext_type` is STR1024TYPE, the maximum size of `data_ext_value` is
25
+ # 1KB.
26
+ # - `list_data_ext_type` (one of "Account", "Customer", "Employee", "Item", "OtherName",
27
+ # "Vendor"): The type of list object (e.g. Customer) that this data extension is attached
28
+ # to.
29
+ # - `list_obj_ref` (Hash): Refers to a list object. In a DataExtAdd request, the list object
30
+ # ref must be the same type as the type specified in `list_data_ext_type`. If a
31
+ # `list_obj_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
32
+ # ignored.
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
+ # - `other_data_ext_type` (one of "Company"): Not supported.
41
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use 0
42
+ # for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions
43
+ # owned by an app. Keep private GUIDs confidential unless you intentionally share extensions
44
+ # across apps. If you do share them, both apps must use the same `owner_id` and
45
+ # `data_ext_name`, because that pair uniquely identifies the extension.
46
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
47
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
48
+ # webhook already carries the request's `id`.
49
+ # - `txn_data_ext_type` (one of "ARRefundCreditCard", "Bill", "BillPaymentCheck",
50
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
51
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment", "Invoice",
52
+ # "ItemReceipt", "JournalEntry", "PurchaseOrder", "ReceivePayment", "SalesOrder",
53
+ # "SalesReceipt", "SalesTaxPaymentCheck", "VendorCredit"): The type of transaction that the
54
+ # data extension belongs to.
55
+ # - `txn_id` (String): `txn_id` is the unique QuickBooks identifier for a transaction. Use it
56
+ # to reference that transaction in later requests. `txn_id` values are transaction-specific
57
+ # and should not be reused across unrelated transaction types.
58
+ # - `txn_line_id` (String): Identification number of the transaction line. (`txn_line_id` is
59
+ # supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `txn_line_id` is always
60
+ # returned as zero.) If you need to add a new transaction line in a transaction Mod request,
61
+ # you can do so by setting the `txn_line_id` to -1.
62
+ #
63
+ # @param connection_id [String]
64
+ # @param params [Hash] the fields above
65
+ # @param webhook_url [String] where QuBe Sync sends the answer
66
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
67
+ # @return [Hash] the queued request
68
+ # @see https://docs.qubesync.com/api-reference/v2/data-exts/create-data-ext
69
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
70
+ queue("data_ext.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
71
+ end
72
+
73
+ # Delete data ext: DELETE /connections/{connection_id}/data-exts (`data_ext.delete`).
74
+ #
75
+ # QuickBooks answers in one webhook.
76
+ #
77
+ # Params, sent as the JSON body:
78
+ # - `data_ext_del` (Hash, required): DataExt The DataExtAdd request writes data to the
79
+ # specified data extension for the specified object. Before you can use a DataExtAdd message
80
+ # to populate a data-extension field with data, the field must be defined, either through
81
+ # the SDK via a DataExtDefAdd request or via the QuickBooks UI by the interactive user.
82
+ # Give at most one of: `list_data_ext_type` with `list_obj_ref`, or `txn_data_ext_type` with
83
+ # `txn_id` with `txn_line_id`, or `other_data_ext_type`.
84
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
85
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
86
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
87
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be
88
+ # a unique value among existing custom fields.
89
+ # - `list_data_ext_type` (one of "Account", "Customer", "Employee", "Item", "OtherName",
90
+ # "Vendor"): The type of list object (e.g. Customer) that this data extension is attached
91
+ # to.
92
+ # - `list_obj_ref` (Hash): Refers to a list object. In a DataExtAdd request, the list object
93
+ # ref must be the same type as the type specified in `list_data_ext_type`. If a
94
+ # `list_obj_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
95
+ # ignored.
96
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
97
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for
98
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
99
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
100
+ # assigns `list_id` when the object is created. `list_id` values are unique within a
101
+ # list type, not globally across all lists. If both `full_name` and `list_id` are
102
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
103
+ # - `other_data_ext_type` (one of "Company"): Not supported.
104
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use 0
105
+ # for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions
106
+ # owned by an app. Keep private GUIDs confidential unless you intentionally share
107
+ # extensions across apps. If you do share them, both apps must use the same `owner_id` and
108
+ # `data_ext_name`, because that pair uniquely identifies the extension.
109
+ # - `txn_data_ext_type` (one of "ARRefundCreditCard", "Bill", "BillPaymentCheck",
110
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
111
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment",
112
+ # "Invoice", "ItemReceipt", "JournalEntry", "PurchaseOrder", "ReceivePayment",
113
+ # "SalesOrder", "SalesReceipt", "SalesTaxPaymentCheck", "VendorCredit"): The type of
114
+ # transaction that the data extension belongs to.
115
+ # - `txn_id` (String): `txn_id` is the unique QuickBooks identifier for a transaction. Use
116
+ # it to reference that transaction in later requests. `txn_id` values are
117
+ # transaction-specific and should not be reused across unrelated transaction types.
118
+ # - `txn_line_id` (String): Identification number of the transaction line. (`txn_line_id` is
119
+ # supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `txn_line_id` is always
120
+ # returned as zero.) If you need to add a new transaction line in a transaction Mod
121
+ # request, you can do so by setting the `txn_line_id` to -1.
122
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
123
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
124
+ # webhook already carries the request's `id`.
125
+ #
126
+ # @param connection_id [String]
127
+ # @param params [Hash] the fields above
128
+ # @param webhook_url [String] where QuBe Sync sends the answer
129
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
130
+ # @return [Hash] the queued request
131
+ # @see https://docs.qubesync.com/api-reference/v2/data-exts/delete-data-ext
132
+ def delete(connection_id, params = {}, webhook_url:, idempotency_key: nil)
133
+ queue("data_ext.delete", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
134
+ end
135
+
136
+ # Update data ext: PUT /connections/{connection_id}/data-exts (`data_ext.update`).
137
+ #
138
+ # QuickBooks answers in one webhook.
139
+ #
140
+ # Params, sent as the JSON body:
141
+ # Give at most one of: `list_data_ext_type` with `list_obj_ref`, or `txn_data_ext_type` with
142
+ # `txn_id` with `txn_line_id`, or `other_data_ext_type`.
143
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
144
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
145
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
146
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be a
147
+ # unique value among existing custom fields.
148
+ # - `data_ext_value` (String, required): The data in this field. The maximum length of
149
+ # `data_ext_value` will depend on the `data_ext_type` of this data extension. For example,
150
+ # if `data_ext_type` is STR255TYPE, the maximum length of `data_ext_value` is 255
151
+ # characters. If `data_ext_type` is STR1024TYPE, the maximum size of `data_ext_value` is
152
+ # 1KB.
153
+ # - `list_data_ext_type` (one of "Account", "Customer", "Employee", "Item", "OtherName",
154
+ # "Vendor"): The type of list object (e.g. Customer) that this data extension is attached
155
+ # to.
156
+ # - `list_obj_ref` (Hash): Refers to a list object. In a DataExtAdd request, the list object
157
+ # ref must be the same type as the type specified in `list_data_ext_type`. If a
158
+ # `list_obj_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
159
+ # ignored.
160
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
161
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
162
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
163
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
164
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
165
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
166
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
167
+ # - `other_data_ext_type` (one of "Company"): Not supported.
168
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use 0
169
+ # for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions
170
+ # owned by an app. Keep private GUIDs confidential unless you intentionally share extensions
171
+ # across apps. If you do share them, both apps must use the same `owner_id` and
172
+ # `data_ext_name`, because that pair uniquely identifies the extension.
173
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
174
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
175
+ # webhook already carries the request's `id`.
176
+ # - `txn_data_ext_type` (one of "ARRefundCreditCard", "Bill", "BillPaymentCheck",
177
+ # "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check", "CreditCardCharge",
178
+ # "CreditCardCredit", "CreditMemo", "Deposit", "Estimate", "InventoryAdjustment", "Invoice",
179
+ # "ItemReceipt", "JournalEntry", "PurchaseOrder", "ReceivePayment", "SalesOrder",
180
+ # "SalesReceipt", "SalesTaxPaymentCheck", "VendorCredit"): The type of transaction that the
181
+ # data extension belongs to.
182
+ # - `txn_id` (String): `txn_id` is the unique QuickBooks identifier for a transaction. Use it
183
+ # to reference that transaction in later requests. `txn_id` values are transaction-specific
184
+ # and should not be reused across unrelated transaction types.
185
+ # - `txn_line_id` (String): Identification number of the transaction line. (`txn_line_id` is
186
+ # supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `txn_line_id` is always
187
+ # returned as zero.) If you need to add a new transaction line in a transaction Mod request,
188
+ # you can do so by setting the `txn_line_id` to -1.
189
+ #
190
+ # @param connection_id [String]
191
+ # @param params [Hash] the fields above
192
+ # @param webhook_url [String] where QuBe Sync sends the answer
193
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
194
+ # @return [Hash] the queued request
195
+ # @see https://docs.qubesync.com/api-reference/v2/data-exts/update-data-ext
196
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
197
+ queue("data_ext.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
198
+ end
199
+ end
200
+ end
201
+ end