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,744 @@
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 operations, reached as `client.customer`. Each queues a request and
7
+ # returns it (the response's `data`); the answer comes to `webhook_url`.
8
+ class Customer < Base
9
+ # Create customer: POST /connections/{connection_id}/customers (`customer.create`).
10
+ #
11
+ # QuickBooks answers in one webhook.
12
+ #
13
+ # Params, sent as the JSON body:
14
+ # - `account_number` (String): Account numbers appear in the QuickBooks chart of accounts,
15
+ # Account fields, and reports and graphs. If the IsUsingAccountNumber preference is false
16
+ # (that is, if the QuickBooks user has the account numbers Preference turned off), you can
17
+ # still set account numbers through the SDK, but the numbers won’t be visible in the user
18
+ # interface.
19
+ # - `additional_contact_ref` (Array<Hash>)
20
+ # - `contact_name` (String, required): The name of the contact.
21
+ # - `contact_value` (String, required): The value of the contact field.
22
+ # - `additional_notes` (Array<Hash>)
23
+ # - `note` (String, required): In a `bill_address` or `ship_address` aggregate, the Note
24
+ # field value is written at the bottom of the address in the form in which it appears,
25
+ # such as the invoice form.
26
+ # - `alt_contact` (String): The name of an alternate contact person for a vendor, customer, or
27
+ # “other name” entry.
28
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
29
+ # - `bill_address` (Hash): This aggregate supports at most five address lines. You can provide
30
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
31
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
32
+ # Addr line prints as its own line and is returned in `ship_address_block` or
33
+ # `bill_address_block`.
34
+ # - `addr1` (String): The first line of an address.
35
+ # - `addr2` (String): The second line of an address (if a second line is needed).
36
+ # - `addr3` (String): The third line of an address (if a third line is needed).
37
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
38
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
39
+ # - `city` (String): The city name in an address.
40
+ # - `country` (String): The country name in an address, or, in returned Host information
41
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
42
+ # (Possible values are US, CA, UK, and AU.)
43
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
44
+ # is written at the bottom of the address in the form in which it appears, such as the
45
+ # invoice form.
46
+ # - `postal_code` (String): The postal code in an address.
47
+ # - `state` (String): The state name in an address.
48
+ # - `cc` (String): Email address that would be carbon copied or CC.
49
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
50
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
51
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
52
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
53
+ # override or clear it on individual lines.
54
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
55
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
56
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
57
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
58
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
59
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
60
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
61
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
62
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
63
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
64
+ # and pay stubs.)
65
+ # - `contact` (String): The name of a contact person for a customer or vendor.
66
+ # - `contacts` (Array<Hash>)
67
+ # - `additional_contact_ref` (Array<Hash>)
68
+ # - `contact_name` (String, required): The name of the contact.
69
+ # - `contact_value` (String, required): The value of the contact field.
70
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
71
+ # person on the “other names” list.
72
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
73
+ # “other names” list.
74
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
75
+ # “other names” list.
76
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
77
+ # the “other names” list.
78
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
79
+ # - `credit_card_info` (Hash): Customer’s credit-card information.
80
+ # - `credit_card_address` (String): The address associated with this credit card.
81
+ # - `credit_card_number` (String): Credit-card number for this customer or this payment.
82
+ # Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit card number
83
+ # with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
84
+ # - `credit_card_postal_code` (String): The postal code associated with the address for this
85
+ # credit card.
86
+ # - `expiration_month` (Integer): The month when the credit card expires.
87
+ # - `expiration_year` (Integer): The year when the credit card expires.
88
+ # - `name_on_card` (String): The name on the customer’s credit card.
89
+ # - `credit_limit` (Numeric): Set and returned as a positive number that indicates a
90
+ # customer’s or vendor’s credit limit. If no value has been defined, there is no credit
91
+ # limit.
92
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
93
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
94
+ # vary by settings and workflow.
95
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
96
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
97
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
98
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
99
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
100
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
101
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
102
+ # - `customer_type_ref` (Hash): Customer types allow business owners to categorize customers
103
+ # in ways that are meaningful for their businesses. For example, a customer type might
104
+ # indicate which industry a customer represents, or which part of the country a customer is
105
+ # in. A `customer_type_ref` aggregate refers to one of the types on the CustomerType list.
106
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
107
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
108
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
109
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
110
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
111
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
112
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
113
+ # - `delivery_method` (one of "Email", "Fax", "Print")
114
+ # - `email` (String): E-mail address.
115
+ # - `external_guid` (String): Allows for the attachment of a user defined GUID value.
116
+ # - `fax` (String): Fax number.
117
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
118
+ # “other names” list.
119
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
120
+ # "AdditionalNotesRet", "AltContact", "AltPhone", "Balance", "BillAddress",
121
+ # "BillAddressBlock", "Cc", "ClassRef", "CompanyName", "Contact", "ContactsRet",
122
+ # "CreditCardInfo", "CreditLimit", "CurrencyRef", "CustomerTypeRef", "DataExtRet",
123
+ # "DeliveryMethod", "EditSequence", "Email", "ExternalGUID", "Fax", "FirstName", "FullName",
124
+ # "IsActive", "IsStatementWithParent", "ItemSalesTaxRef", "JobDesc", "JobEndDate",
125
+ # "JobProjectedEndDate", "JobStartDate", "JobStatus", "JobTitle", "JobTypeRef", "LastName",
126
+ # "ListID", "MiddleName", "Mobile", "Name", "Notes", "OwnerID", "Pager", "ParentRef",
127
+ # "Phone", "PreferredDeliveryMethod", "PreferredPaymentMethodRef", "PriceLevelRef",
128
+ # "PrintAs", "ResaleNumber", "SalesRepRef", "SalesTaxCodeRef", "SalesTaxCountry",
129
+ # "Salutation", "ShipAddress", "ShipAddressBlock", "ShipToAddress", "Sublevel", "Suffix",
130
+ # "TaxRegistrationNumber", "TermsRef", "TimeCreated", "TimeModified", "TotalBalance",
131
+ # "TxnID", "TxnNumber">)
132
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
133
+ # QuickBooks. The default value is true.
134
+ # - `is_statement_with_parent` (Boolean)
135
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one tax
136
+ # agency. Use it when a transaction needs a single tax calculation. For multi-rate
137
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
138
+ # for `item_sales_tax_ref`, `list_id` is used.
139
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
140
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
141
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
142
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
143
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
144
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
145
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
146
+ # - `job_desc` (String): A short job description for a sub-customer; used in reports. The Job-
147
+ # elements (`job_desc`, `job_end_date`, `job_projected_end_date`, `job_start_date`, and
148
+ # `job_status`) correspond to the fields in the Job Info tab of the Edit Job window in
149
+ # QuickBooks.
150
+ # - `job_end_date` (String): The date on which work for a sub-customer was completed; used in
151
+ # reports. The Job- elements (`job_desc`, `job_end_date`, `job_projected_end_date`,
152
+ # `job_start_date`, and `job_status`) correspond to the fields in the Job Info tab of the
153
+ # Edit Job window in QuickBooks.
154
+ # - `job_projected_end_date` (String): The date on which work for a sub-customer is expected
155
+ # to be complete; used in reports. The Job- elements (`job_desc`, `job_end_date`,
156
+ # `job_projected_end_date`, `job_start_date`, and `job_status`) correspond to the fields in
157
+ # the Job Info tab of the Edit Job window in QuickBooks.
158
+ # - `job_start_date` (String): The date on which work for a sub-customer was started; used in
159
+ # reports. The Job- elements (`job_desc`, `job_end_date`, `job_projected_end_date`,
160
+ # `job_start_date`, and `job_status`) correspond to the fields in the Job Info tab of the
161
+ # Edit Job window in QuickBooks.
162
+ # - `job_status` (one of "Awarded", "Closed", "InProgress", "None", "NotAwarded", "Pending"):
163
+ # `job_status` Status information about a sub-customer; used in reports. The Job- elements
164
+ # (`job_desc`, `job_end_date`, `job_projected_end_date`, `job_start_date`, and `job_status`)
165
+ # correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks.
166
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
167
+ # “other names” list.
168
+ # - `job_type_ref` (Hash): Job type can be used to separate jobs into any categories that are
169
+ # meaningful to the business. A `job_type_ref` aggregate refers to a job type on the JobType
170
+ # list. In a request, if a `job_type_ref` aggregate includes both `full_name` and `list_id`,
171
+ # `full_name` will be ignored.
172
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
173
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
174
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
175
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
176
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
177
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
178
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
179
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
180
+ # “other names” list.
181
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
182
+ # “other names” list.
183
+ # - `mobile` (String)
184
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
185
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists can
186
+ # reuse the same Name in different branches because `full_name` remains distinct.
187
+ # - `notes` (String): Not supported.
188
+ # - `open_balance` (Numeric): The opening balance of this customer’s account. A positive
189
+ # number indicates money owed by the customer.
190
+ # - `open_balance_date` (String): The date of the opening balance for this customer.
191
+ # - `pager` (String)
192
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
193
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
194
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
195
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
196
+ # ignored.
197
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
198
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
199
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
200
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
201
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
202
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
203
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
204
+ # - `phone` (String): The telephone number.
205
+ # - `preferred_delivery_method` (one of "Email", "Fax", "None"): Preference for how invoices
206
+ # are delivered.
207
+ # - `preferred_payment_method_ref` (Hash): Refers to a PaymentMethod object. In a request, if
208
+ # a `preferred_payment_method_ref` aggregate includes both `full_name` and `list_id`,
209
+ # `full_name` will be ignored.
210
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
211
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
212
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
213
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
214
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
215
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
216
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
217
+ # - `price_level_ref` (Hash): Price levels let you apply custom pricing rules for selected
218
+ # customers. Once assigned, QuickBooks uses those prices automatically on supported sales
219
+ # forms unless explicitly overridden.
220
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
221
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
222
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
223
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
224
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
225
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
226
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
227
+ # - `print_as` (String)
228
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
229
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
230
+ # webhook already carries the request's `id`.
231
+ # - `resale_number` (String): The customer’s resale number, if they have one. This number
232
+ # won’t affect reports or sales tax calculations.
233
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
234
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the Rep
235
+ # drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on the
236
+ # SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both `full_name` and
237
+ # `list_id`, `full_name` will be ignored.
238
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
239
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
240
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
241
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
242
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
243
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
244
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
245
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
246
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
247
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
248
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
249
+ # `sales_tax_code_ref`, `full_name` is ignored.
250
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
251
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
252
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
253
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
254
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
255
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
256
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
257
+ # - `sales_tax_country` (one of "Australia", "Canada", "UK", "US"): Country that sales tax is
258
+ # collected for.
259
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
260
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
261
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
262
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
263
+ # Addr line prints as its own line and is returned in `ship_address_block` or
264
+ # `bill_address_block`.
265
+ # - `addr1` (String): The first line of an address.
266
+ # - `addr2` (String): The second line of an address (if a second line is needed).
267
+ # - `addr3` (String): The third line of an address (if a third line is needed).
268
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
269
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
270
+ # - `city` (String): The city name in an address.
271
+ # - `country` (String): The country name in an address, or, in returned Host information
272
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
273
+ # (Possible values are US, CA, UK, and AU.)
274
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
275
+ # is written at the bottom of the address in the form in which it appears, such as the
276
+ # invoice form.
277
+ # - `postal_code` (String): The postal code in an address.
278
+ # - `state` (String): The state name in an address.
279
+ # - `ship_to_address` (Array<Hash>)
280
+ # - `addr1` (String): The first line of an address.
281
+ # - `addr2` (String): The second line of an address (if a second line is needed).
282
+ # - `addr3` (String): The third line of an address (if a third line is needed).
283
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
284
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
285
+ # - `city` (String): The city name in an address.
286
+ # - `country` (String): The country name in an address, or, in returned Host information
287
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
288
+ # (Possible values are US, CA, UK, and AU.)
289
+ # - `default_ship_to` (Boolean): Flag that address is the default ship to address.
290
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
291
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists
292
+ # can reuse the same Name in different branches because `full_name` remains distinct.
293
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
294
+ # is written at the bottom of the address in the form in which it appears, such as the
295
+ # invoice form.
296
+ # - `postal_code` (String): The postal code in an address.
297
+ # - `state` (String): The state name in an address.
298
+ # - `suffix` (String)
299
+ # - `tax_registration_number` (String): Tax registration number used in CA and UK.
300
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
301
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
302
+ # both `full_name` and `list_id`, `full_name` will be ignored.
303
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
304
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
305
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
306
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
307
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
308
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
309
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
310
+ #
311
+ # @param connection_id [String]
312
+ # @param params [Hash] the fields above
313
+ # @param webhook_url [String] where QuBe Sync sends the answer
314
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
315
+ # @return [Hash] the queued request
316
+ # @see https://docs.qubesync.com/api-reference/v2/customers/create-customer
317
+ def create(connection_id, params = {}, webhook_url:, idempotency_key: nil)
318
+ queue("customer.create", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
319
+ end
320
+
321
+ # List customers: GET /connections/{connection_id}/customers (`customer.query`).
322
+ #
323
+ # QuickBooks answers in pages: one webhook per page, each with its `page`, the last with
324
+ # `iteration_state` `done`.
325
+ #
326
+ # Params, sent as the query string:
327
+ # - `active_status` (one of "ActiveOnly", "All", "InactiveOnly"): Used in filters to select
328
+ # list objects based on whether or not they are currently enabled for use by QuickBooks. The
329
+ # default value is asActiveOnly, which selects only list objects that are active. Choose at
330
+ # most one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
331
+ # `max_returned`, `name_contains`, `name_ends_with`, `name_range`, `name_starts_with`,
332
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
333
+ # - `from_modified_date` (String): Filters results to objects modified on or after this
334
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
335
+ # date is provided, time defaults to 00:00:00. Choose at most one of: `list_id`, or
336
+ # `full_name`, or the set (`active_status`, `from_modified_date`, `max_returned`,
337
+ # `name_contains`, `name_ends_with`, `name_range`, `name_starts_with`, `to_modified_date`).
338
+ # Members of a set combine with each other, not with the other choices.
339
+ # - `full_name` (Array<String>): `full_name` (along with `list_id`) is a way to identify a
340
+ # list object. The `full_name` is the name prefixed by the names of each ancestor, for
341
+ # example Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive. Choose at most
342
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
343
+ # `max_returned`, `name_contains`, `name_ends_with`, `name_range`, `name_starts_with`,
344
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
345
+ # - `include` (Array<one of "AccountNumber", "AdditionalContactRef", "AdditionalNotesRet",
346
+ # "AltContact", "AltPhone", "Balance", "BillAddress", "BillAddressBlock", "Cc", "ClassRef",
347
+ # "CompanyName", "Contact", "ContactsRet", "CreditCardInfo", "CreditLimit", "CurrencyRef",
348
+ # "CustomerTypeRef", "DataExtRet", "DeliveryMethod", "EditSequence", "Email",
349
+ # "ExternalGUID", "Fax", "FirstName", "FullName", "IsActive", "IsStatementWithParent",
350
+ # "ItemSalesTaxRef", "JobDesc", "JobEndDate", "JobProjectedEndDate", "JobStartDate",
351
+ # "JobStatus", "JobTitle", "JobTypeRef", "LastName", "ListID", "MiddleName", "Mobile",
352
+ # "Name", "Notes", "Pager", "ParentRef", "Phone", "PreferredDeliveryMethod",
353
+ # "PreferredPaymentMethodRef", "PriceLevelRef", "PrintAs", "ResaleNumber", "SalesRepRef",
354
+ # "SalesTaxCodeRef", "SalesTaxCountry", "Salutation", "ShipAddress", "ShipAddressBlock",
355
+ # "ShipToAddress", "Sublevel", "Suffix", "TaxRegistrationNumber", "TermsRef", "TimeCreated",
356
+ # "TimeModified", "TotalBalance">)
357
+ # - `iterator` (Boolean): Page through every match: QuBe Sync asks QuickBooks for each page in
358
+ # turn and sends each to your `webhook_url` as it arrives, all with the same `id`. On by
359
+ # default, with pages of 100 records; send `iterator=true` with `max_returned` for another
360
+ # size. Off when you send `iterator=false` (every match in one answer) or `max_returned`
361
+ # alone (at most that many, in one answer). It pages a filtered query only: with `full_name`
362
+ # or `list_id` every match comes back in one answer, so leave `iterator` out.
363
+ # - `list_id` (Array<String>): `list_id` and `full_name` both identify a list object.
364
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
365
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
366
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`. Choose at most
367
+ # one of: `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
368
+ # `max_returned`, `name_contains`, `name_ends_with`, `name_range`, `name_starts_with`,
369
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
370
+ # - `max_returned` (Integer): Limits the number of objects that a query returns. (To get a
371
+ # count of how many objects could possibly be returned, use the metaData query attribute.)
372
+ # If you include a `max_returned` value, it must be at least 1. The page size, with
373
+ # `iterator=true`. Sent without `iterator`, or with `iterator=false`, it's a cap instead: at
374
+ # most this many records come back, in one answer, and QuickBooks doesn't say whether more
375
+ # matched. Choose at most one of: `list_id`, or `full_name`, or the set (`active_status`,
376
+ # `from_modified_date`, `max_returned`, `name_contains`, `name_ends_with`, `name_range`,
377
+ # `name_starts_with`, `to_modified_date`). Members of a set combine with each other, not
378
+ # with the other choices.
379
+ # - `name_contains` (String): Filters according to the object’s Name. Choose at most one of:
380
+ # the set (`name_contains`, `name_ends_with`, `name_starts_with`), or `name_range`. Members
381
+ # of a set combine with each other, not with the other choices.
382
+ # - `name_ends_with` (String): Filters according to the object’s Name. Choose at most one of:
383
+ # the set (`name_contains`, `name_ends_with`, `name_starts_with`), or `name_range`. Members
384
+ # of a set combine with each other, not with the other choices.
385
+ # - `name_range` (Hash): Filters according to the object’s Name. Choose at most one of: the
386
+ # set (`name_contains`, `name_ends_with`, `name_starts_with`), or `name_range`. Members of a
387
+ # set combine with each other, not with the other choices.
388
+ # - `from` (String)
389
+ # - `to` (String)
390
+ # - `name_starts_with` (String): Filters according to the object’s Name. Choose at most one
391
+ # of: the set (`name_contains`, `name_ends_with`, `name_starts_with`), or `name_range`.
392
+ # Members of a set combine with each other, not with the other choices.
393
+ # - `owner_id` (Array<String>): `owner_id` identifies who owns the data extension. Use 0 for
394
+ # QuickBooks custom fields that appear in the UI, or use a GUID for private extensions owned
395
+ # by an app. Keep private GUIDs confidential unless you intentionally share extensions
396
+ # across apps. If you do share them, both apps must use the same `owner_id` and
397
+ # `data_ext_name`, because that pair uniquely identifies the extension.
398
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
399
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
400
+ # webhook already carries the request's `id`.
401
+ # - `to_modified_date` (String): Filters results to objects modified on or before this
402
+ # timestamp. QuickBooks Desktop accepts 1970-01-01 through 2038-01-19T03:14:07. If only a
403
+ # date is provided, time defaults to end-of-day (23:59:59). Choose at most one of:
404
+ # `list_id`, or `full_name`, or the set (`active_status`, `from_modified_date`,
405
+ # `max_returned`, `name_contains`, `name_ends_with`, `name_range`, `name_starts_with`,
406
+ # `to_modified_date`). Members of a set combine with each other, not with the other choices.
407
+ #
408
+ # @param connection_id [String]
409
+ # @param params [Hash] the fields above
410
+ # @param webhook_url [String] where QuBe Sync sends the answer
411
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
412
+ # @return [Hash] the queued request
413
+ # @see https://docs.qubesync.com/api-reference/v2/customers/list-customers
414
+ def query(connection_id, params = {}, webhook_url:, idempotency_key: nil)
415
+ queue("customer.query", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
416
+ end
417
+
418
+ # Update customer: PUT /connections/{connection_id}/customers (`customer.update`).
419
+ #
420
+ # QuickBooks answers in one webhook.
421
+ #
422
+ # Params, sent as the JSON body:
423
+ # - `account_number` (String): Account numbers appear in the QuickBooks chart of accounts,
424
+ # Account fields, and reports and graphs. If the IsUsingAccountNumber preference is false
425
+ # (that is, if the QuickBooks user has the account numbers Preference turned off), you can
426
+ # still set account numbers through the SDK, but the numbers won’t be visible in the user
427
+ # interface.
428
+ # - `additional_contact_ref` (Array<Hash>)
429
+ # - `contact_name` (String, required): The name of the contact.
430
+ # - `contact_value` (String, required): The value of the contact field.
431
+ # - `additional_notes_mod` (Array<Hash>)
432
+ # - `note` (String, required): In a `bill_address` or `ship_address` aggregate, the Note
433
+ # field value is written at the bottom of the address in the form in which it appears,
434
+ # such as the invoice form.
435
+ # - `note_id` (Integer, required): The ID of the note.
436
+ # - `alt_contact` (String): The name of an alternate contact person for a vendor, customer, or
437
+ # “other name” entry.
438
+ # - `alt_phone` (String): A telephone number given as an alternative to Phone.
439
+ # - `bill_address` (Hash): This aggregate supports at most five address lines. You can provide
440
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
441
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
442
+ # Addr line prints as its own line and is returned in `ship_address_block` or
443
+ # `bill_address_block`.
444
+ # - `addr1` (String): The first line of an address.
445
+ # - `addr2` (String): The second line of an address (if a second line is needed).
446
+ # - `addr3` (String): The third line of an address (if a third line is needed).
447
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
448
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
449
+ # - `city` (String): The city name in an address.
450
+ # - `country` (String): The country name in an address, or, in returned Host information
451
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
452
+ # (Possible values are US, CA, UK, and AU.)
453
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
454
+ # is written at the bottom of the address in the form in which it appears, such as the
455
+ # invoice form.
456
+ # - `postal_code` (String): The postal code in an address.
457
+ # - `state` (String): The state name in an address.
458
+ # - `cc` (String): Email address that would be carbon copied or CC.
459
+ # - `class_ref` (Hash): Use classes to categorize transactions (for example, by department,
460
+ # location, or work type). Class tracking is off by default in QuickBooks. A `class_ref`
461
+ # points to one class; if both `full_name` and `list_id` are provided, `full_name` is
462
+ # ignored. In InvoiceAdd, a header-level `class_ref` is applied to line items unless you
463
+ # override or clear it on individual lines.
464
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
465
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
466
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
467
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
468
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
469
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
470
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
471
+ # - `company_name` (String): The name of the QuickBooks user’s business, as specified in
472
+ # QuickBooks. `company_name` and Address are used on invoices, checks, and other forms.
473
+ # (LegalCompanyName and LegalAddress, on the other hand, are used on a company’s tax forms
474
+ # and pay stubs.)
475
+ # - `contact` (String): The name of a contact person for a customer or vendor.
476
+ # - `contacts_mod` (Array<Hash>)
477
+ # - `additional_contact_ref` (Array<Hash>)
478
+ # - `contact_name` (String, required): The name of the contact.
479
+ # - `contact_value` (String, required): The value of the contact field.
480
+ # - `edit_sequence` (String): `edit_sequence` is a server-generated revision token. It
481
+ # changes each time the object is updated. To modify an existing object, you must send the
482
+ # current `edit_sequence`. If your value is stale, the update is rejected to prevent
483
+ # overwriting newer changes.
484
+ # - `first_name` (String, required): The first name of a customer, vendor, employee, or
485
+ # person on the “other names” list.
486
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
487
+ # “other names” list.
488
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
489
+ # “other names” list.
490
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
491
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
492
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
493
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
494
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on
495
+ # the “other names” list.
496
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
497
+ # - `credit_card_info` (Hash): Customer’s credit-card information.
498
+ # - `credit_card_address` (String): The address associated with this credit card.
499
+ # - `credit_card_number` (String): Credit-card number for this customer or this payment.
500
+ # Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit card number
501
+ # with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234.
502
+ # - `credit_card_postal_code` (String): The postal code associated with the address for this
503
+ # credit card.
504
+ # - `expiration_month` (Integer): The month when the credit card expires.
505
+ # - `expiration_year` (Integer): The year when the credit card expires.
506
+ # - `name_on_card` (String): The name on the customer’s credit card.
507
+ # - `credit_limit` (Numeric): Set and returned as a positive number that indicates a
508
+ # customer’s or vendor’s credit limit. If no value has been defined, there is no credit
509
+ # limit.
510
+ # - `currency_ref` (Hash): A currency record defines how QuickBooks stores and displays a
511
+ # currency. Built-in currency name/code values are fixed; formatting and active status can
512
+ # vary by settings and workflow.
513
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
514
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
515
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
516
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
517
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
518
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
519
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
520
+ # - `customer_type_ref` (Hash): Customer types allow business owners to categorize customers
521
+ # in ways that are meaningful for their businesses. For example, a customer type might
522
+ # indicate which industry a customer represents, or which part of the country a customer is
523
+ # in. A `customer_type_ref` aggregate refers to one of the types on the CustomerType list.
524
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
525
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
526
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
527
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
528
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
529
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
530
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
531
+ # - `delivery_method` (one of "Email", "Fax", "Print")
532
+ # - `edit_sequence` (String, required): `edit_sequence` is a server-generated revision token.
533
+ # It changes each time the object is updated. To modify an existing object, you must send
534
+ # the current `edit_sequence`. If your value is stale, the update is rejected to prevent
535
+ # overwriting newer changes.
536
+ # - `email` (String): E-mail address.
537
+ # - `fax` (String): Fax number.
538
+ # - `first_name` (String): The first name of a customer, vendor, employee, or person on the
539
+ # “other names” list.
540
+ # - `include_ret_element` (Array<one of "AccountNumber", "AdditionalContactRef",
541
+ # "AdditionalNotesRet", "AltContact", "AltPhone", "Balance", "BillAddress",
542
+ # "BillAddressBlock", "Cc", "ClassRef", "CompanyName", "Contact", "ContactsRet",
543
+ # "CreditCardInfo", "CreditLimit", "CurrencyRef", "CustomerTypeRef", "DataExtRet",
544
+ # "DeliveryMethod", "EditSequence", "Email", "ExternalGUID", "Fax", "FirstName", "FullName",
545
+ # "IsActive", "IsStatementWithParent", "ItemSalesTaxRef", "JobDesc", "JobEndDate",
546
+ # "JobProjectedEndDate", "JobStartDate", "JobStatus", "JobTitle", "JobTypeRef", "LastName",
547
+ # "ListID", "MiddleName", "Mobile", "Name", "Notes", "OwnerID", "Pager", "ParentRef",
548
+ # "Phone", "PreferredDeliveryMethod", "PreferredPaymentMethodRef", "PriceLevelRef",
549
+ # "PrintAs", "ResaleNumber", "SalesRepRef", "SalesTaxCodeRef", "SalesTaxCountry",
550
+ # "Salutation", "ShipAddress", "ShipAddressBlock", "ShipToAddress", "Sublevel", "Suffix",
551
+ # "TaxRegistrationNumber", "TermsRef", "TimeCreated", "TimeModified", "TotalBalance",
552
+ # "TxnID", "TxnNumber">)
553
+ # - `is_active` (Boolean): If `is_active` is true, this object is currently enabled for use by
554
+ # QuickBooks. The default value is true.
555
+ # - `is_statement_with_parent` (Boolean)
556
+ # - `item_sales_tax_ref` (Hash): An ItemSalesTax entry represents one tax rate paid to one tax
557
+ # agency. Use it when a transaction needs a single tax calculation. For multi-rate
558
+ # scenarios, use a sales-tax group instead. If both `full_name` and `list_id` are provided
559
+ # for `item_sales_tax_ref`, `list_id` is used.
560
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
561
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
562
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
563
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
564
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
565
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
566
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
567
+ # - `job_desc` (String): A short job description for a sub-customer; used in reports. The Job-
568
+ # elements (`job_desc`, `job_end_date`, `job_projected_end_date`, `job_start_date`, and
569
+ # `job_status`) correspond to the fields in the Job Info tab of the Edit Job window in
570
+ # QuickBooks.
571
+ # - `job_end_date` (String): The date on which work for a sub-customer was completed; used in
572
+ # reports. The Job- elements (`job_desc`, `job_end_date`, `job_projected_end_date`,
573
+ # `job_start_date`, and `job_status`) correspond to the fields in the Job Info tab of the
574
+ # Edit Job window in QuickBooks.
575
+ # - `job_projected_end_date` (String): The date on which work for a sub-customer is expected
576
+ # to be complete; used in reports. The Job- elements (`job_desc`, `job_end_date`,
577
+ # `job_projected_end_date`, `job_start_date`, and `job_status`) correspond to the fields in
578
+ # the Job Info tab of the Edit Job window in QuickBooks.
579
+ # - `job_start_date` (String): The date on which work for a sub-customer was started; used in
580
+ # reports. The Job- elements (`job_desc`, `job_end_date`, `job_projected_end_date`,
581
+ # `job_start_date`, and `job_status`) correspond to the fields in the Job Info tab of the
582
+ # Edit Job window in QuickBooks.
583
+ # - `job_status` (one of "Awarded", "Closed", "InProgress", "None", "NotAwarded", "Pending"):
584
+ # `job_status` Status information about a sub-customer; used in reports. The Job- elements
585
+ # (`job_desc`, `job_end_date`, `job_projected_end_date`, `job_start_date`, and `job_status`)
586
+ # correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks.
587
+ # - `job_title` (String): The job title of a customer, vendor, employee, or person on the
588
+ # “other names” list.
589
+ # - `job_type_ref` (Hash): Job type can be used to separate jobs into any categories that are
590
+ # meaningful to the business. A `job_type_ref` aggregate refers to a job type on the JobType
591
+ # list. In a request, if a `job_type_ref` aggregate includes both `full_name` and `list_id`,
592
+ # `full_name` will be ignored.
593
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
594
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
595
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
596
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
597
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
598
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
599
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
600
+ # - `last_name` (String): The last name of a customer, vendor, employee, or person on the
601
+ # “other names” list.
602
+ # - `list_id` (String, required): `list_id` and `full_name` both identify a list object.
603
+ # QuickBooks assigns `list_id` when the object is created. `list_id` values are unique
604
+ # within a list type, not globally across all lists. If both `full_name` and `list_id` are
605
+ # supplied in a request, QuickBooks uses `list_id` and ignores `full_name`.
606
+ # - `middle_name` (String): The middle name of a customer, vendor, employee, or person on the
607
+ # “other names” list.
608
+ # - `mobile` (String)
609
+ # - `name` (String): Name is the case-insensitive short name of a list object (without
610
+ # ancestors). It must be unique within its hierarchy scope. Hierarchical lists can reuse the
611
+ # same Name in different branches because `full_name` remains distinct.
612
+ # - `notes` (String): Not supported.
613
+ # - `pager` (String)
614
+ # - `parent_ref` (Hash): A reference to the list object that is one level above this one. For
615
+ # example, an inventory item with the `full_name` of GermanCars:Mercedes-Benz:CL500I99AA
616
+ # might have a parent object with the `full_name` of GermanCars:Mercedes-Benz. In a request,
617
+ # if a `parent_ref` aggregate includes both `full_name` and `list_id`, `full_name` will be
618
+ # ignored.
619
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
620
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
621
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
622
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
623
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
624
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
625
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
626
+ # - `phone` (String): The telephone number.
627
+ # - `preferred_delivery_method` (one of "Email", "Fax", "None"): Preference for how invoices
628
+ # are delivered.
629
+ # - `preferred_payment_method_ref` (Hash): Refers to a PaymentMethod object. In a request, if
630
+ # a `preferred_payment_method_ref` aggregate includes both `full_name` and `list_id`,
631
+ # `full_name` will be ignored.
632
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
633
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
634
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
635
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
636
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
637
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
638
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
639
+ # - `price_level_ref` (Hash): Price levels let you apply custom pricing rules for selected
640
+ # customers. Once assigned, QuickBooks uses those prices automatically on supported sales
641
+ # forms unless explicitly overridden.
642
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
643
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
644
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
645
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
646
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
647
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
648
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
649
+ # - `print_as` (String)
650
+ # - `request_id` (String): Your own label for the request, sent to QuickBooks as its qbXML
651
+ # `requestID` and echoed in the raw answer (`response_xml`); optional, since the answer's
652
+ # webhook already carries the request's `id`.
653
+ # - `resale_number` (String): The customer’s resale number, if they have one. This number
654
+ # won’t affect reports or sales tax calculations.
655
+ # - `sales_rep_ref` (Hash): A sales representative must be on the Employee, Vendor, or Other
656
+ # Names list within QuickBooks. Sales representative’s names and initials appear on the Rep
657
+ # drop-down list on QuickBooks sales forms. A `sales_rep_ref` refers to a person on the
658
+ # SalesRep list. In a request, if a `sales_rep_ref` aggregate includes both `full_name` and
659
+ # `list_id`, `full_name` will be ignored.
660
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
661
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
662
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
663
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
664
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
665
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
666
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
667
+ # - `sales_tax_code_ref` (Hash): `sales_tax_code_ref` points to the sales-tax code used for an
668
+ # item or customer context. QuickBooks includes default TAX and NON codes, and a code can be
669
+ # deleted only when nothing references it. If sales tax is disabled, QuickBooks assigns the
670
+ # default non-taxable code. If both `full_name` and `list_id` are provided in
671
+ # `sales_tax_code_ref`, `full_name` is ignored.
672
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
673
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
674
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
675
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
676
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
677
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
678
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
679
+ # - `sales_tax_country` (one of "Australia", "Canada", "UK", "US"): The country that sales tax
680
+ # is collected for.
681
+ # - `salutation` (String): A formal reference, such as Mr. or Dr., that precedes a name.
682
+ # - `ship_address` (Hash): This aggregate supports at most five address lines. You can provide
683
+ # a structured address (Addr1-Addr3 plus City/State/`postal_code`/etc.) or use block mode
684
+ # (Addr1-Addr5 only). Do not mix block mode with other address fields. In block mode, each
685
+ # Addr line prints as its own line and is returned in `ship_address_block` or
686
+ # `bill_address_block`.
687
+ # - `addr1` (String): The first line of an address.
688
+ # - `addr2` (String): The second line of an address (if a second line is needed).
689
+ # - `addr3` (String): The third line of an address (if a third line is needed).
690
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
691
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
692
+ # - `city` (String): The city name in an address.
693
+ # - `country` (String): The country name in an address, or, in returned Host information
694
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
695
+ # (Possible values are US, CA, UK, and AU.)
696
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
697
+ # is written at the bottom of the address in the form in which it appears, such as the
698
+ # invoice form.
699
+ # - `postal_code` (String): The postal code in an address.
700
+ # - `state` (String): The state name in an address.
701
+ # - `ship_to_address` (Array<Hash>)
702
+ # - `addr1` (String): The first line of an address.
703
+ # - `addr2` (String): The second line of an address (if a second line is needed).
704
+ # - `addr3` (String): The third line of an address (if a third line is needed).
705
+ # - `addr4` (String): The fourth line of an address (if a fourth line is needed).
706
+ # - `addr5` (String): The fifth line of an address (if a fifth line is needed).
707
+ # - `city` (String): The city name in an address.
708
+ # - `country` (String): The country name in an address, or, in returned Host information
709
+ # (HostRet or HostInfo), the country for which this edition of QuickBooks was designed.
710
+ # (Possible values are US, CA, UK, and AU.)
711
+ # - `default_ship_to` (Boolean): Flag that address is the default ship to address.
712
+ # - `name` (String, required): Name is the case-insensitive short name of a list object
713
+ # (without ancestors). It must be unique within its hierarchy scope. Hierarchical lists
714
+ # can reuse the same Name in different branches because `full_name` remains distinct.
715
+ # - `note` (String): In a `bill_address` or `ship_address` aggregate, the Note field value
716
+ # is written at the bottom of the address in the form in which it appears, such as the
717
+ # invoice form.
718
+ # - `postal_code` (String): The postal code in an address.
719
+ # - `state` (String): The state name in an address.
720
+ # - `suffix` (String)
721
+ # - `tax_registration_number` (String): The tax registration number used in CA and UK.
722
+ # - `terms_ref` (Hash): Refers to the payment terms associated with this entity. (This will be
723
+ # an item on the DateDrivenTerms or StandardTerms list.) If a `terms_ref` aggregate includes
724
+ # both `full_name` and `list_id`, `full_name` will be ignored.
725
+ # - `full_name` (String): `full_name` (along with `list_id`) is a way to identify a list
726
+ # object. The `full_name` is the name prefixed by the names of each ancestor, for example
727
+ # Jones:Kitchen:Cabinets. `full_name` values aren’t case-sensitive.
728
+ # - `list_id` (String): `list_id` and `full_name` both identify a list object. QuickBooks
729
+ # assigns `list_id` when the object is created. `list_id` values are unique within a list
730
+ # type, not globally across all lists. If both `full_name` and `list_id` are supplied in a
731
+ # request, QuickBooks uses `list_id` and ignores `full_name`.
732
+ #
733
+ # @param connection_id [String]
734
+ # @param params [Hash] the fields above
735
+ # @param webhook_url [String] where QuBe Sync sends the answer
736
+ # @param idempotency_key [String, nil] made for the call when nil, and reused on its retries
737
+ # @return [Hash] the queued request
738
+ # @see https://docs.qubesync.com/api-reference/v2/customers/update-customer
739
+ def update(connection_id, params = {}, webhook_url:, idempotency_key: nil)
740
+ queue("customer.update", connection_id, params, webhook_url: webhook_url, idempotency_key: idempotency_key)
741
+ end
742
+ end
743
+ end
744
+ end