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,179 @@
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 def operations, reached as `client.data_ext_def`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class DataExtDef < Base
9
+ # Create data ext def: POST /connections/{connection_id}/data-ext-defs
10
+ # (`data_ext_def.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `assign_to_object` (Array<one of "ARRefundCreditCard", "Account", "Bill",
16
+ # "BillPaymentCheck", "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check",
17
+ # "Company", "CreditCardCharge", "CreditCardCredit", "CreditMemo", "Customer", "Deposit",
18
+ # "Employee", "Estimate", "InventoryAdjustment", "Invoice", "Item", "ItemReceipt",
19
+ # "JournalEntry", "OtherName", "PurchaseOrder", "ReceivePayment", "SalesOrder",
20
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Vendor", "VendorCredit">)
21
+ # - `data_ext_format_string` (String): The string format required for the data extension.
22
+ # - `data_ext_list_require` (Boolean): If `data_ext_list_require` is true, this data extension
23
+ # field is required to be entered in lists. The default value is false.
24
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
25
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
26
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
27
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be a
28
+ # unique value among existing custom fields.
29
+ # - `data_ext_txn_require` (Boolean): If `data_ext_txn_require` is true, this data extension
30
+ # field is required to be entered in transaction. The default value is false.
31
+ # - `data_ext_type` (one of "AMTTYPE", "DATETIMETYPE", "INTTYPE", "PERCENTTYPE", "PRICETYPE",
32
+ # "QUANTYPE", "STR1024TYPE", "STR255TYPE", required): The field’s data type, which
33
+ # corresponds to a qbXML data type. In an IDataExtDefAdd request object, if this is a custom
34
+ # field, `data_ext_type` must be detSTR255TYPE.
35
+ # - `include_ret_element` (Array<one of "AssignToObject", "DataExtFormatString", "DataExtID",
36
+ # "DataExtListRequire", "DataExtName", "DataExtTxnRequire", "DataExtType", "EditSequence",
37
+ # "ExternalGUID", "ListID", "OwnerID", "TxnID", "TxnNumber">)
38
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use 0
39
+ # for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions
40
+ # owned by an app. Keep private GUIDs confidential unless you intentionally share extensions
41
+ # across apps. If you do share them, both apps must use the same `owner_id` and
42
+ # `data_ext_name`, because that pair uniquely identifies the extension.
43
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
44
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
45
+ # webhook already carries the request's `id`.
46
+ #
47
+ # @param connection_id [String]
48
+ # @param params [Hash] the fields above
49
+ # @param webhook_url [String] where QuBe Sync sends the answer
50
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
51
+ # @return [Hash] the queued request
52
+ # @see https://docs.qubesync.com/api-reference/v2/data-ext-defs/create-data-ext-def
53
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
54
+ queue("data_ext_def.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
55
+ end
56
+
57
+ # Delete data ext def: DELETE /connections/{connection_id}/data-ext-defs
58
+ # (`data_ext_def.delete`).
59
+ #
60
+ # QuickBooks answers in one webhook.
61
+ #
62
+ # Params, sent as the JSON body:
63
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
64
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
65
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
66
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be a
67
+ # unique value among existing custom fields.
68
+ # - `owner_id` (String, required): `owner_id` identifies the extension owner. `owner_id` 0
69
+ # means a public custom field visible in the QuickBooks UI. A GUID means a private app
70
+ # extension that is not shown in the UI. `owner_id` matching is case-insensitive. To share
71
+ # private extensions across apps, both apps must use the same `owner_id` and
72
+ # `data_ext_name`.
73
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
74
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
75
+ # webhook already carries the request's `id`.
76
+ #
77
+ # @param connection_id [String]
78
+ # @param params [Hash] the fields above
79
+ # @param webhook_url [String] where QuBe Sync sends the answer
80
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
81
+ # @return [Hash] the queued request
82
+ # @see https://docs.qubesync.com/api-reference/v2/data-ext-defs/delete-data-ext-def
83
+ def delete(connection_id, params = {}, webhook_url:, idempotency_key: nil)
84
+ queue("data_ext_def.delete", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
85
+ end
86
+
87
+ # List data ext defs: GET /connections/{connection_id}/data-ext-defs (`data_ext_def.query`).
88
+ #
89
+ # QuickBooks answers in one webhook.
90
+ #
91
+ # Params, sent as the query string:
92
+ # - `assign_to_object` (Array<one of "ARRefundCreditCard", "Account", "Bill",
93
+ # "BillPaymentCheck", "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check",
94
+ # "Company", "CreditCardCharge", "CreditCardCredit", "CreditMemo", "Customer", "Deposit",
95
+ # "Employee", "Estimate", "InventoryAdjustment", "Invoice", "Item", "ItemReceipt",
96
+ # "JournalEntry", "OtherName", "PurchaseOrder", "ReceivePayment", "SalesOrder",
97
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Vendor", "VendorCredit">): Choose at most one of:
98
+ # `owner_id`, or `assign_to_object`.
99
+ # - `include_ret_element` (Array<one of "AssignToObject", "DataExtFormatString", "DataExtID",
100
+ # "DataExtListRequire", "DataExtName", "DataExtTxnRequire", "DataExtType", "OwnerID">)
101
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
102
+ # `meta_data` attribute to control whether query responses include counts. Options are
103
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
104
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
105
+ # during processing.
106
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
107
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
108
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
109
+ # across apps. If you do share them, both apps must use the same `owner_id` and
110
+ # `data_ext_name`, because that pair uniquely identifies the extension. Choose at most one
111
+ # of: `owner_id`, or `assign_to_object`.
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
+ #
116
+ # @param connection_id [String]
117
+ # @param params [Hash] the fields above
118
+ # @param webhook_url [String] where QuBe Sync sends the answer
119
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
120
+ # @return [Hash] the queued request
121
+ # @see https://docs.qubesync.com/api-reference/v2/data-ext-defs/list-data-ext-defs
122
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
123
+ queue("data_ext_def.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
124
+ end
125
+
126
+ # Update data ext def: PUT /connections/{connection_id}/data-ext-defs (`data_ext_def.update`).
127
+ #
128
+ # QuickBooks answers in one webhook.
129
+ #
130
+ # Params, sent as the JSON body:
131
+ # - `assign_to_object` (Array<one of "ARRefundCreditCard", "Account", "Bill",
132
+ # "BillPaymentCheck", "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check",
133
+ # "Company", "CreditCardCharge", "CreditCardCredit", "CreditMemo", "Customer", "Deposit",
134
+ # "Employee", "Estimate", "InventoryAdjustment", "Invoice", "Item", "ItemReceipt",
135
+ # "JournalEntry", "OtherName", "PurchaseOrder", "ReceivePayment", "SalesOrder",
136
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Vendor", "VendorCredit">)
137
+ # - `data_ext_format_string` (String): The string format required for the data extension.
138
+ # - `data_ext_list_require` (Boolean): If `data_ext_list_require` is true, this data extension
139
+ # field is required to be entered in lists. The default value is false.
140
+ # - `data_ext_name` (String, required): The name of the data extension. If this is a custom
141
+ # field, `data_ext_name` will be visible as a label in the QuickBooks user interface. Also
142
+ # because `owner_id` and `data_ext_name` together make the data extension unique, and
143
+ # because custom fields all have the same `owner_id` of zero, the `data_ext_name` must be a
144
+ # unique value among existing custom fields.
145
+ # - `data_ext_new_name` (String): The new name for this field. Note that in the case of custom
146
+ # fields, `data_ext_new_name` can run into name conflicts, because the name space of custom
147
+ # fields (data extensions with an `owner_id` of 0) is shared by all applications.
148
+ # - `data_ext_txn_require` (Boolean): If `data_ext_txn_require` is true, this data extension
149
+ # field is required to be entered in transaction. The default value is false.
150
+ # - `include_ret_element` (Array<one of "AssignToObject", "DataExtFormatString", "DataExtID",
151
+ # "DataExtListRequire", "DataExtName", "DataExtTxnRequire", "DataExtType", "EditSequence",
152
+ # "ExternalGUID", "ListID", "OwnerID", "TxnID", "TxnNumber">)
153
+ # - `owner_id` (String, required): `owner_id` identifies who owns the data extension. Use 0
154
+ # for QuickBooks custom fields that appear in the UI, or use a GUID for private extensions
155
+ # owned by an app. Keep private GUIDs confidential unless you intentionally share extensions
156
+ # across apps. If you do share them, both apps must use the same `owner_id` and
157
+ # `data_ext_name`, because that pair uniquely identifies the extension.
158
+ # - `remove_from_object` (Array<one of "ARRefundCreditCard", "Account", "Bill",
159
+ # "BillPaymentCheck", "BillPaymentCreditCard", "BuildAssembly", "Charge", "Check",
160
+ # "Company", "CreditCardCharge", "CreditCardCredit", "CreditMemo", "Customer", "Deposit",
161
+ # "Employee", "Estimate", "InventoryAdjustment", "Invoice", "Item", "ItemReceipt",
162
+ # "JournalEntry", "OtherName", "PurchaseOrder", "ReceivePayment", "SalesOrder",
163
+ # "SalesReceipt", "SalesTaxPaymentCheck", "Vendor", "VendorCredit">)
164
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
165
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
166
+ # webhook already carries the request's `id`.
167
+ #
168
+ # @param connection_id [String]
169
+ # @param params [Hash] the fields above
170
+ # @param webhook_url [String] where QuBe Sync sends the answer
171
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
172
+ # @return [Hash] the queued request
173
+ # @see https://docs.qubesync.com/api-reference/v2/data-ext-defs/update-data-ext-def
174
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
175
+ queue("data_ext_def.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,131 @@
1
+ # Generated from operations.json by bin/generate-operations: don't edit.
2
+ # frozen_string_literal: true
3
+
4
+ module QubeSync
5
+ module Operations
6
+ # QuickBooks date driven terms operations, reached as `client.date_driven_terms`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class DateDrivenTerms < Base
9
+ # Create date driven terms: POST /connections/{connection_id}/date-driven-terms
10
+ # (`date_driven_terms.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `day_of_month_due` (Integer, required): The day of the month when full payment is due with
16
+ # no discount.
17
+ # - `discount_day_of_month` (Integer): If the payment is made by this day of the month, then
18
+ # `discount_pct` applies.
19
+ # - `discount_pct` (Numeric): If payment is received by `discount_day_of_month`, then this
20
+ # discount will apply to the payment. `discount_pct` must be between 0 and 100.
21
+ # - `due_next_month_days` (Integer): Handles cases when an invoice or bill is issued close to
22
+ # its due date. If the invoice or bill is issued within this many days of the due date,
23
+ # payment isn’t due until the following month. For example, with a `day_of_month_due` of 15
24
+ # and a `due_next_month_days` of 2, an invoice issued on May 13th wouldn’t be due until June
25
+ # 15th.
26
+ # - `include_ret_element` (Array<one of "DayOfMonthDue", "DiscountDayOfMonth", "DiscountPct",
27
+ # "DueNextMonthDays", "EditSequence", "ExternalGUID", "IsActive", "ListID", "Name",
28
+ # "OwnerID", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
29
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
30
+ # QuickBooks. The default value is true.
31
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
32
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
33
+ # reuse the same Name in different branches because FullName remains distinct.
34
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
35
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
36
+ # webhook already carries the request's `id`.
37
+ #
38
+ # @param connection_id [String]
39
+ # @param params [Hash] the fields above
40
+ # @param webhook_url [String] where QuBe Sync sends the answer
41
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
42
+ # @return [Hash] the queued request
43
+ # @see https://docs.qubesync.com/api-reference/v2/date-driven-terms/create-date-driven-terms
44
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
45
+ queue("date_driven_terms.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
46
+ end
47
+
48
+ # List date driven terms: GET /connections/{connection_id}/date-driven-terms
49
+ # (`date_driven_terms.query`).
50
+ #
51
+ # QuickBooks answers in one webhook.
52
+ #
53
+ # Params, sent as the query string:
54
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
55
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
56
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
57
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
58
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
59
+ # combine with each other, not with the other choices.
60
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
61
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
62
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
63
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
64
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
65
+ # each other, not with the other choices.
66
+ # - `full_name` (Array<String>): Choose at most one of: `list_id`, or `full_name`, or the set
67
+ # (`active_status`, `from_modified_date`, `max_returned`, `name_filter`,
68
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
69
+ # with the other choices.
70
+ # - `include_ret_element` (Array<one of "DayOfMonthDue", "DiscountDayOfMonth", "DiscountPct",
71
+ # "DueNextMonthDays", "EditSequence", "IsActive", "ListID", "Name", "TimeCreated",
72
+ # "TimeModified">)
73
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
74
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
75
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
76
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
77
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
78
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
79
+ # combine with each other, not with the other choices.
80
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
81
+ # count of how many objects could possibly be returned, use the `meta_data` query
82
+ # attribute.) If you include a `max_returned` value, it must be at least 1. QuickBooks
83
+ # doesn't page this query: at most this many records come back, in one answer, with no sign
84
+ # of whether more matched. Leave it out for every match, in one answer; one over 4 MB as the
85
+ # Web Connector sends it, about 3 MB of qbXML isn't kept (`error_type`
86
+ # `response_too_large`), so narrow a large one with its filters. Choose at most one of:
87
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
88
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
89
+ # combine with each other, not with the other choices.
90
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
91
+ # `meta_data` attribute to control whether query responses include counts. Options are
92
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
93
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
94
+ # during processing.
95
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
96
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
97
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
98
+ # combine with each other, not with the other choices.
99
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
100
+ # to match.
101
+ # - `name` (String, required): The string to match.
102
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
103
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
104
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
105
+ # combine with each other, not with the other choices.
106
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
107
+ # omitted, the range will begin with first name on the list.
108
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
109
+ # the range will end with last name on the list.
110
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
111
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
112
+ # webhook already carries the request's `id`.
113
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
114
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
115
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
116
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
117
+ # `max_returned`, `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set
118
+ # combine with each other, not with the other choices.
119
+ #
120
+ # @param connection_id [String]
121
+ # @param params [Hash] the fields above
122
+ # @param webhook_url [String] where QuBe Sync sends the answer
123
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
124
+ # @return [Hash] the queued request
125
+ # @see https://docs.qubesync.com/api-reference/v2/date-driven-terms/list-date-driven-terms
126
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
127
+ queue("date_driven_terms.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
128
+ end
129
+ end
130
+ end
131
+ end