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,216 @@
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 lead operations, reached as `client.lead`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Lead < Base
9
+ # Create lead: POST /connections/{connection_id}/leads (`lead.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `additional_contact_ref` (Array<Hash>)
15
+ # - `contact_name` (String, required): The name of the contact.
16
+ # - `contact_value` (String, required): The value of the contact field.
17
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
18
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
19
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
20
+ # and pay stubs.)
21
+ # - `full_name` (String, required): `full_name` (along with `list_id`) is a way to identify a
22
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
23
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
24
+ # - `include_ret_element` (Array<one of "AdditionalContactRef", "CompanyName", "EditSequence",
25
+ # "ExternalGUID", "FullName", "LeadContactsRet", "ListID", "LocationsRet", "MainPhone",
26
+ # "OwnerID", "Status", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
27
+ # - `lead_contacts` (Array<Hash>)
28
+ # - `additional_contact_ref` (Array<Hash>)
29
+ # - `contact_name` (String, required): The name of the contact.
30
+ # - `contact_value` (String, required): The value of the contact field.
31
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
32
+ # person on the “other names” list.
33
+ # - `is_primary_contact` (Boolean): Flag for if this is a primary contact on a lead.
34
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
35
+ # “other names” list.
36
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
37
+ # “other names” list.
38
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
39
+ # the “other names” list.
40
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
41
+ # - `locations` (Array<Hash>)
42
+ # - `lead_address` (Hash): Address for the lead.
43
+ # - `addr1` (String): The first line of an address.
44
+ # - `addr2` (String): The second line of an address (if a second line is needed).
45
+ # - `addr3` (String): The third line of an address (if a third line is needed).
46
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
47
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
48
+ # - `location` (String, required): Where the asset is located or has been placed into
49
+ # service.
50
+ # - `main_phone` (String): The main phone number.
51
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
52
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
53
+ # webhook already carries the request's `id`.
54
+ # - `status` (one of "Cold", "Hot", "Warm"): The status of the lead.
55
+ #
56
+ # @param connection_id [String]
57
+ # @param params [Hash] the fields above
58
+ # @param webhook_url [String] where QuBe Sync sends the answer
59
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
60
+ # @return [Hash] the queued request
61
+ # @see https://docs.qubesync.com/api-reference/v2/leads/create-lead
62
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
63
+ queue("lead.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
64
+ end
65
+
66
+ # List leads: GET /connections/{connection_id}/leads (`lead.query`).
67
+ #
68
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
69
+ # `iteration_state` `done`.
70
+ #
71
+ # Params, sent as the query string:
72
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
73
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
74
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or `name`,
75
+ # or the set (`from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
76
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
77
+ # - `include_ret_element` (Array<one of "AdditionalContactRef", "CompanyName", "EditSequence",
78
+ # "FullName", "LeadContactsRet", "ListID", "LocationsRet", "MainPhone", "Status",
79
+ # "TimeCreated", "TimeModified">)
80
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
81
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
82
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
83
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
84
+ # alone (at most that many, in one answer). It pages a filtered query only: with `list_id`
85
+ # or `name` every match comes back in one answer, so leave `iterator` out.
86
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
87
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
88
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
89
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
90
+ # one of: `list_id`, or `name`, or the set (`from_modified_date`, `max_returned`,
91
+ # `name_filter`, `name_range_filter`, `to_modified_date`). Members of a set combine with
92
+ # each other, not with the other choices.
93
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
94
+ # count of how many objects could possibly be returned, use the `meta_data` query
95
+ # attribute.) If you include a `max_returned` value, it must be at least 1. The page size,
96
+ # with `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap
97
+ # instead: at most this many records come back, in one answer, and QuickBooks doesn't say
98
+ # whether more matched. Choose at most one of: `list_id`, or `name`, or the set
99
+ # (`from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
100
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
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
+ # - `name` (Array<String>): The string to match. Choose at most one of: `list_id`, or `name`,
107
+ # or the set (`from_modified_date`, `max_returned`, `name_filter`, `name_range_filter`,
108
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
109
+ # - `name_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
110
+ # `list_id`, or `name`, or the set (`from_modified_date`, `max_returned`, `name_filter`,
111
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
112
+ # with the other choices.
113
+ # - `match_criterion` (one of "Contains", "EndsWith", "StartsWith", required): The criterion
114
+ # to match.
115
+ # - `name` (String, required): The string to match.
116
+ # - `name_range_filter` (Hash): Filters according to the object’s Name. Choose at most one of:
117
+ # `list_id`, or `name`, or the set (`from_modified_date`, `max_returned`, `name_filter`,
118
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
119
+ # with the other choices.
120
+ # - `from_name` (String): The first name or item in the search range. If `from_name` is
121
+ # omitted, the range will begin with first name on the list.
122
+ # - `to_name` (String): The final name or item in the search range. If `to_name` is omitted,
123
+ # the range will end with last name on the list.
124
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
125
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
126
+ # webhook already carries the request's `id`.
127
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
128
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
129
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
130
+ # `list_id`, or `name`, or the set (`from_modified_date`, `max_returned`, `name_filter`,
131
+ # `name_range_filter`, `to_modified_date`). Members of a set combine with each other, not
132
+ # with the other choices.
133
+ #
134
+ # @param connection_id [String]
135
+ # @param params [Hash] the fields above
136
+ # @param webhook_url [String] where QuBe Sync sends the answer
137
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
138
+ # @return [Hash] the queued request
139
+ # @see https://docs.qubesync.com/api-reference/v2/leads/list-leads
140
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
141
+ queue("lead.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
142
+ end
143
+
144
+ # Update lead: PUT /connections/{connection_id}/leads (`lead.update`).
145
+ #
146
+ # QuickBooks answers in one webhook.
147
+ #
148
+ # Params, sent as the JSON body:
149
+ # - `additional_contact_ref` (Array<Hash>)
150
+ # - `contact_name` (String, required): The name of the contact.
151
+ # - `contact_value` (String, required): The value of the contact field.
152
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
153
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
154
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
155
+ # and pay stubs.)
156
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
157
+ # It changes each time the object is updated. To modify an existing object, you must send
158
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
159
+ # overwriting newer changes.
160
+ # - `full_name` (String, required): `full_name` (along with `list_id`) is a way to identify a
161
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
162
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
163
+ # - `include_ret_element` (Array<one of "AdditionalContactRef", "CompanyName", "EditSequence",
164
+ # "ExternalGUID", "FullName", "LeadContactsRet", "ListID", "LocationsRet", "MainPhone",
165
+ # "OwnerID", "Status", "TimeCreated", "TimeModified", "TxnID", "TxnNumber">)
166
+ # - `lead_contacts_mod` (Array<Hash>)
167
+ # - `additional_contact_ref` (Array<Hash>)
168
+ # - `contact_name` (String, required): The name of the contact.
169
+ # - `contact_value` (String, required): The value of the contact field.
170
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
171
+ # person on the “other names” list.
172
+ # - `is_primary_contact` (Boolean): Flag for if this is a primary contact on a lead.
173
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
174
+ # “other names” list.
175
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
176
+ # “other names” list.
177
+ # - `lead_contact_id` (Integer): `lead_contact_id` is a way to identify a lead contact
178
+ # object. When a lead contact object is added to QuickBooks through the SDK or through the
179
+ # QuickBooks user interface, the server assigns it a `lead_contact_id`.
180
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
181
+ # the “other names” list.
182
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
183
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
184
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
185
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
186
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
187
+ # - `locations_mod` (Array<Hash>)
188
+ # - `lead_address` (Hash): Address for the lead.
189
+ # - `addr1` (String): The first line of an address.
190
+ # - `addr2` (String): The second line of an address (if a second line is needed).
191
+ # - `addr3` (String): The third line of an address (if a third line is needed).
192
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
193
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
194
+ # - `location` (String, required): Where the asset is located or has been placed into
195
+ # service.
196
+ # - `location_id` (Integer, required): `location_id` is a way to identify a location object.
197
+ # When a location object is added to QuickBooks through the SDK or through the QuickBooks
198
+ # user interface, the server assigns it a `location_id`.
199
+ # - `main_phone` (String): The main phone number.
200
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
201
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
202
+ # webhook already carries the request's `id`.
203
+ # - `status` (one of "Cold", "Hot", "Warm"): The status of the lead.
204
+ #
205
+ # @param connection_id [String]
206
+ # @param params [Hash] the fields above
207
+ # @param webhook_url [String] where QuBe Sync sends the answer
208
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
209
+ # @return [Hash] the queued request
210
+ # @see https://docs.qubesync.com/api-reference/v2/leads/update-lead
211
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
212
+ queue("lead.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
213
+ end
214
+ end
215
+ end
216
+ end
@@ -0,0 +1,42 @@
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 list operations, reached as `client.list`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class List < Base
9
+ # Delete list: DELETE /connections/{connection_id}/lists (`list.delete`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `list_del_type` (one of "Account", "BillingRate", "Class", "Currency", "Customer",
15
+ # "CustomerMsg", "CustomerType", "DateDrivenTerms", "Employee", "InventorySite",
16
+ # "ItemDiscount", "ItemFixedAsset", "ItemGroup", "ItemInventory", "ItemInventoryAssembly",
17
+ # "ItemNonInventory", "ItemOtherCharge", "ItemPayment", "ItemSalesTax", "ItemSalesTaxGroup",
18
+ # "ItemService", "ItemSubtotal", "JobType", "OtherName", "PaymentMethod",
19
+ # "PayrollItemNonWage", "PayrollItemWage", "PriceLevel", "SalesRep", "SalesTaxCode",
20
+ # "ShipMethod", "StandardTerms", "ToDo", "UnitOfMeasureSet", "Vehicle", "Vendor",
21
+ # "VendorType", "WorkersCompCode", required): The type of list from which a list member is
22
+ # being deleted.
23
+ # - `list_id` (String, required): `list_id` and FullName both identify a list object.
24
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
25
+ # within a list type, not globally across all lists. If both FullName and `list_id` are
26
+ # supplied in a request, QuickBooks uses `list_id` and ignores FullName.
27
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
28
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
29
+ # webhook already carries the request's `id`.
30
+ #
31
+ # @param connection_id [String]
32
+ # @param params [Hash] the fields above
33
+ # @param webhook_url [String] where QuBe Sync sends the answer
34
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
35
+ # @return [Hash] the queued request
36
+ # @see https://docs.qubesync.com/api-reference/v2/lists/delete-list
37
+ def delete(connection_id, params = {}, webhook_url:, idempotency_key: nil)
38
+ queue("list.delete", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,57 @@
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 list deleted operations, reached as `client.list_deleted`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ListDeleted < Base
9
+ # List list deleteds: GET /connections/{connection_id}/list-deleteds (`list_deleted.query`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the query string:
14
+ # - `deleted_date_range_filter` (Hash): Filters according to delete dates (within the last 90
15
+ # days).
16
+ # - `from_deleted_date` (String): Selects objects deleted on or after this date. Both
17
+ # `from_deleted_date` and `to_deleted_date` must be between 1970-01-01 and
18
+ # 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (But note that ListDeletedQuery
19
+ # requests will only return records deleted within the last 90 days, even if the specified
20
+ # `from_deleted_date` is earlier.)
21
+ # - `to_deleted_date` (String): Selects objects deleted on or before this date. Both
22
+ # `to_deleted_date` and `from_deleted_date` must be between 1970-01-01 and
23
+ # 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). If `to_deleted_date` includes a
24
+ # date but not a time (for example, if you set it to 2002-02-14), the time is assumed to
25
+ # be the end of the day (2003-02-14T23:59:59).
26
+ # - `include_ret_element` (Array<one of "FullName", "ListDelType", "ListID", "TimeCreated",
27
+ # "TimeDeleted">)
28
+ # - `list_del_type` (Array<one of "Account", "BillingRate", "Class", "Currency", "Customer",
29
+ # "CustomerMsg", "CustomerType", "DateDrivenTerms", "Employee", "InventorySite",
30
+ # "ItemDiscount", "ItemFixedAsset", "ItemGroup", "ItemInventory", "ItemInventoryAssembly",
31
+ # "ItemNonInventory", "ItemOtherCharge", "ItemPayment", "ItemSalesTax", "ItemSalesTaxGroup",
32
+ # "ItemService", "ItemSubtotal", "JobType", "OtherName", "PaymentMethod",
33
+ # "PayrollItemNonWage", "PayrollItemWage", "PriceLevel", "SalesRep", "SalesTaxCode",
34
+ # "ShipMethod", "StandardTerms", "ToDo", "UnitOfMeasureSet", "Vehicle", "Vendor",
35
+ # "VendorType", "WorkersCompCode">, required): The type of list from which a list member is
36
+ # being deleted.
37
+ # - `meta_data` (one of "MetaDataAndResponseData", "MetaDataOnly", "NoMetaData"): Use the
38
+ # `meta_data` attribute to control whether query responses include counts. Options are
39
+ # NoMetaData (default), MetaDataOnly (count only), and MetaDataAndResponseData (count plus
40
+ # objects). Counts are approximate and may vary slightly if records are created or deleted
41
+ # during processing.
42
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
43
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
44
+ # webhook already carries the request's `id`.
45
+ #
46
+ # @param connection_id [String]
47
+ # @param params [Hash] the fields above
48
+ # @param webhook_url [String] where QuBe Sync sends the answer
49
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
50
+ # @return [Hash] the queued request
51
+ # @see https://docs.qubesync.com/api-reference/v2/list-deleteds/list-list-deleteds
52
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
53
+ queue("list_deleted.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,59 @@
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 list display operations, reached as `client.list_display`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ListDisplay < Base
9
+ # Create list display: POST /connections/{connection_id}/list-displays
10
+ # (`list_display.create`).
11
+ #
12
+ # QuickBooks answers in one webhook.
13
+ #
14
+ # Params, sent as the JSON body:
15
+ # - `list_display_add_type` (one of "Account", "Customer", "Employee", "Item", "OtherName",
16
+ # "Vendor", required): Specifies the type of QuickBooks list for which to open an “add” form
17
+ # in the QuickBooks UI.
18
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
19
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
20
+ # webhook already carries the request's `id`.
21
+ #
22
+ # @param connection_id [String]
23
+ # @param params [Hash] the fields above
24
+ # @param webhook_url [String] where QuBe Sync sends the answer
25
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
26
+ # @return [Hash] the queued request
27
+ # @see https://docs.qubesync.com/api-reference/v2/list-displays/create-list-display
28
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
29
+ queue("list_display.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
30
+ end
31
+
32
+ # Update list display: PUT /connections/{connection_id}/list-displays (`list_display.update`).
33
+ #
34
+ # QuickBooks answers in one webhook.
35
+ #
36
+ # Params, sent as the JSON body:
37
+ # - `list_display_mod_type` (one of "Account", "Customer", "Employee", "Item", "OtherName",
38
+ # "Vendor", required): The type of QuickBooks list element to open for modification in the
39
+ # QuickBooks UI. (`list_id` specifies the particular list element.)
40
+ # - `list_id` (String, required): `list_id` and FullName both identify a list object.
41
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
42
+ # within a list type, not globally across all lists. If both FullName and `list_id` are
43
+ # supplied in a request, QuickBooks uses `list_id` and ignores FullName.
44
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
45
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
46
+ # webhook already carries the request's `id`.
47
+ #
48
+ # @param connection_id [String]
49
+ # @param params [Hash] the fields above
50
+ # @param webhook_url [String] where QuBe Sync sends the answer
51
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
52
+ # @return [Hash] the queued request
53
+ # @see https://docs.qubesync.com/api-reference/v2/list-displays/update-list-display
54
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
55
+ queue("list_display.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,55 @@
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 list merge operations, reached as `client.list_merge`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class ListMerge < Base
9
+ # Execute list merge: POST /connections/{connection_id}/list-merge (`list_merge.execute`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `list_merge_type` (one of "Account", "Class", "Customer", "ItemDiscount", "ItemGroup",
15
+ # "ItemInventory", "ItemNonInventory", "ItemOtherCharge", "ItemPayment", "ItemSalesTax",
16
+ # "ItemSalesTaxGroup", "ItemService", "ItemSubtotal", "Vendor", required): The type of the
17
+ # objects to be merged. Both of the objects must be the same type, for example both must be
18
+ # customers, because you can’t merge a vendor with a customer.
19
+ # - `merge_from` (Hash, required): The object to be merged into another object.
20
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision
21
+ # token. It changes each time the object is updated. To modify an existing object, you
22
+ # must send the current `edit_sequence`. If your value is stale, the update is rejected to
23
+ # prevent overwriting newer changes.
24
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
25
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
26
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
27
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
28
+ # - `merge_to` (Hash, required): The object into which you are merging another object.
29
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision
30
+ # token. It changes each time the object is updated. To modify an existing object, you
31
+ # must send the current `edit_sequence`. If your value is stale, the update is rejected to
32
+ # prevent overwriting newer changes.
33
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
34
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
35
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
36
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
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
+ # - `same_ship_addr_ok` (Boolean): A new tag (SameshipAddressOk) is added to ListMerge
41
+ # request. If true is supplied in this tag then the merge will go through even if elements
42
+ # have same default shipto address.
43
+ #
44
+ # @param connection_id [String]
45
+ # @param params [Hash] the fields above
46
+ # @param webhook_url [String] where QuBe Sync sends the answer
47
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
48
+ # @return [Hash] the queued request
49
+ # @see https://docs.qubesync.com/api-reference/v2/list-merge/execute-list-merge
50
+ def execute(connection_id, params = {}, webhook_url:, idempotency_key: nil)
51
+ queue("list_merge.execute", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
52
+ end
53
+ end
54
+ end
55
+ end