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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +48 -0
- data/README.md +235 -75
- data/Rakefile +12 -0
- data/lib/qube_sync/client.rb +579 -0
- data/lib/qube_sync/operations/account.rb +337 -0
- data/lib/qube_sync/operations/account_tax_line_info.rb +30 -0
- data/lib/qube_sync/operations/aging_report.rb +160 -0
- data/lib/qube_sync/operations/alert.rb +91 -0
- data/lib/qube_sync/operations/ar_refund_credit_card.rb +399 -0
- data/lib/qube_sync/operations/bar_code.rb +37 -0
- data/lib/qube_sync/operations/bill.rb +1073 -0
- data/lib/qube_sync/operations/bill_payment_check.rb +413 -0
- data/lib/qube_sync/operations/bill_payment_credit_card.rb +315 -0
- data/lib/qube_sync/operations/bill_to_pay.rb +66 -0
- data/lib/qube_sync/operations/billing_rate.rb +172 -0
- data/lib/qube_sync/operations/budget_summary_report.rb +80 -0
- data/lib/qube_sync/operations/build_assembly.rb +318 -0
- data/lib/qube_sync/operations/charge.rb +452 -0
- data/lib/qube_sync/operations/check.rb +1055 -0
- data/lib/qube_sync/operations/class.rb +176 -0
- data/lib/qube_sync/operations/cleared_status.rb +39 -0
- data/lib/qube_sync/operations/company.rb +39 -0
- data/lib/qube_sync/operations/company_activity.rb +31 -0
- data/lib/qube_sync/operations/credit_card_charge.rb +1000 -0
- data/lib/qube_sync/operations/credit_card_credit.rb +1000 -0
- data/lib/qube_sync/operations/credit_memo.rb +1243 -0
- data/lib/qube_sync/operations/currency.rb +195 -0
- data/lib/qube_sync/operations/custom_detail_report.rb +176 -0
- data/lib/qube_sync/operations/custom_summary_report.rb +180 -0
- data/lib/qube_sync/operations/customer.rb +744 -0
- data/lib/qube_sync/operations/customer_msg.rb +117 -0
- data/lib/qube_sync/operations/customer_type.rb +133 -0
- data/lib/qube_sync/operations/data_event_recovery_info.rb +54 -0
- data/lib/qube_sync/operations/data_ext.rb +201 -0
- data/lib/qube_sync/operations/data_ext_def.rb +179 -0
- data/lib/qube_sync/operations/date_driven_terms.rb +131 -0
- data/lib/qube_sync/operations/deposit.rb +555 -0
- data/lib/qube_sync/operations/employee.rb +577 -0
- data/lib/qube_sync/operations/employee_default.rb +100 -0
- data/lib/qube_sync/operations/entity.rb +118 -0
- data/lib/qube_sync/operations/estimate.rb +1055 -0
- data/lib/qube_sync/operations/form1099_category_account_mapping.rb +90 -0
- data/lib/qube_sync/operations/general_detail_report.rb +185 -0
- data/lib/qube_sync/operations/general_summary_report.rb +180 -0
- data/lib/qube_sync/operations/host.rb +36 -0
- data/lib/qube_sync/operations/inventory_adjustment.rb +482 -0
- data/lib/qube_sync/operations/inventory_site.rb +214 -0
- data/lib/qube_sync/operations/invoice.rb +1208 -0
- data/lib/qube_sync/operations/item.rb +115 -0
- data/lib/qube_sync/operations/item_assemblies_can_build.rb +44 -0
- data/lib/qube_sync/operations/item_discount.rb +319 -0
- data/lib/qube_sync/operations/item_fixed_asset.rb +317 -0
- data/lib/qube_sync/operations/item_group.rb +253 -0
- data/lib/qube_sync/operations/item_inventory.rb +446 -0
- data/lib/qube_sync/operations/item_inventory_assembly.rb +483 -0
- data/lib/qube_sync/operations/item_non_inventory.rb +461 -0
- data/lib/qube_sync/operations/item_other_charge.rb +434 -0
- data/lib/qube_sync/operations/item_payment.rb +268 -0
- data/lib/qube_sync/operations/item_receipt.rb +1011 -0
- data/lib/qube_sync/operations/item_sales_tax.rb +270 -0
- data/lib/qube_sync/operations/item_sales_tax_group.rb +200 -0
- data/lib/qube_sync/operations/item_service.rb +455 -0
- data/lib/qube_sync/operations/item_sites.rb +96 -0
- data/lib/qube_sync/operations/item_subtotal.rb +182 -0
- data/lib/qube_sync/operations/job_report.rb +156 -0
- data/lib/qube_sync/operations/job_type.rb +131 -0
- data/lib/qube_sync/operations/journal_entry.rb +518 -0
- data/lib/qube_sync/operations/lead.rb +216 -0
- data/lib/qube_sync/operations/list.rb +42 -0
- data/lib/qube_sync/operations/list_deleted.rb +57 -0
- data/lib/qube_sync/operations/list_display.rb +59 -0
- data/lib/qube_sync/operations/list_merge.rb +55 -0
- data/lib/qube_sync/operations/other_name.rb +245 -0
- data/lib/qube_sync/operations/paycheck.rb +139 -0
- data/lib/qube_sync/operations/payment_method.rb +128 -0
- data/lib/qube_sync/operations/payroll_detail_report.rb +161 -0
- data/lib/qube_sync/operations/payroll_item.rb +75 -0
- data/lib/qube_sync/operations/payroll_item_addition.rb +98 -0
- data/lib/qube_sync/operations/payroll_item_company_contribution.rb +134 -0
- data/lib/qube_sync/operations/payroll_item_deduction.rb +124 -0
- data/lib/qube_sync/operations/payroll_item_direct_deposit.rb +70 -0
- data/lib/qube_sync/operations/payroll_item_non_wage.rb +93 -0
- data/lib/qube_sync/operations/payroll_item_tax.rb +123 -0
- data/lib/qube_sync/operations/payroll_item_wage.rb +168 -0
- data/lib/qube_sync/operations/payroll_item_workers_compensation.rb +108 -0
- data/lib/qube_sync/operations/payroll_last_period.rb +30 -0
- data/lib/qube_sync/operations/payroll_liability_adjustment.rb +204 -0
- data/lib/qube_sync/operations/payroll_liability_check.rb +137 -0
- data/lib/qube_sync/operations/payroll_prior_payment.rb +178 -0
- data/lib/qube_sync/operations/payroll_summary_report.rb +157 -0
- data/lib/qube_sync/operations/payroll_year_to_date_adjustment.rb +211 -0
- data/lib/qube_sync/operations/preferences.rb +61 -0
- data/lib/qube_sync/operations/price_level.rb +305 -0
- data/lib/qube_sync/operations/purchase_order.rb +1038 -0
- data/lib/qube_sync/operations/qb_command_exec.rb +37 -0
- data/lib/qube_sync/operations/receive_payment.rb +627 -0
- data/lib/qube_sync/operations/receive_payment_to_deposit.rb +38 -0
- data/lib/qube_sync/operations/sales_order.rb +1045 -0
- data/lib/qube_sync/operations/sales_receipt.rb +1337 -0
- data/lib/qube_sync/operations/sales_rep.rb +172 -0
- data/lib/qube_sync/operations/sales_tax_code.rb +205 -0
- data/lib/qube_sync/operations/sales_tax_payable.rb +37 -0
- data/lib/qube_sync/operations/sales_tax_payment_check.rb +375 -0
- data/lib/qube_sync/operations/sales_tax_return.rb +35 -0
- data/lib/qube_sync/operations/sales_tax_return_line.rb +43 -0
- data/lib/qube_sync/operations/ship_method.rb +116 -0
- data/lib/qube_sync/operations/special_account.rb +55 -0
- data/lib/qube_sync/operations/special_item.rb +44 -0
- data/lib/qube_sync/operations/standard_terms.rb +125 -0
- data/lib/qube_sync/operations/template.rb +36 -0
- data/lib/qube_sync/operations/terms.rb +91 -0
- data/lib/qube_sync/operations/time_report.rb +127 -0
- data/lib/qube_sync/operations/time_tracking.rb +303 -0
- data/lib/qube_sync/operations/to_do.rb +260 -0
- data/lib/qube_sync/operations/transaction.rb +356 -0
- data/lib/qube_sync/operations/transfer.rb +213 -0
- data/lib/qube_sync/operations/transfer_inventory.rb +384 -0
- data/lib/qube_sync/operations/txn.rb +38 -0
- data/lib/qube_sync/operations/txn_deleted.rb +54 -0
- data/lib/qube_sync/operations/txn_display.rb +76 -0
- data/lib/qube_sync/operations/txn_void.rb +36 -0
- data/lib/qube_sync/operations/unit_of_measure_set.rb +149 -0
- data/lib/qube_sync/operations/vehicle.rb +152 -0
- data/lib/qube_sync/operations/vehicle_mileage.rb +191 -0
- data/lib/qube_sync/operations/vendor.rb +661 -0
- data/lib/qube_sync/operations/vendor_credit.rb +1008 -0
- data/lib/qube_sync/operations/vendor_type.rb +131 -0
- data/lib/qube_sync/operations/workers_comp_code.rb +184 -0
- data/lib/qube_sync/operations.rb +1165 -0
- data/lib/qube_sync/version.rb +1 -1
- data/lib/qube_sync.rb +1 -0
- data/sig/qube_sync/client.rbs +82 -0
- data/sig/qube_sync/operations/account.rbs +65 -0
- data/sig/qube_sync/operations/account_tax_line_info.rbs +13 -0
- data/sig/qube_sync/operations/aging_report.rbs +29 -0
- data/sig/qube_sync/operations/alert.rbs +53 -0
- data/sig/qube_sync/operations/ar_refund_credit_card.rbs +53 -0
- data/sig/qube_sync/operations/bar_code.rbs +16 -0
- data/sig/qube_sync/operations/bill.rbs +78 -0
- data/sig/qube_sync/operations/bill_payment_check.rbs +62 -0
- data/sig/qube_sync/operations/bill_payment_credit_card.rbs +45 -0
- data/sig/qube_sync/operations/bill_to_pay.rbs +19 -0
- data/sig/qube_sync/operations/billing_rate.rbs +40 -0
- data/sig/qube_sync/operations/budget_summary_report.rbs +22 -0
- data/sig/qube_sync/operations/build_assembly.rbs +64 -0
- data/sig/qube_sync/operations/charge.rbs +80 -0
- data/sig/qube_sync/operations/check.rbs +81 -0
- data/sig/qube_sync/operations/class.rbs +43 -0
- data/sig/qube_sync/operations/cleared_status.rbs +16 -0
- data/sig/qube_sync/operations/company.rbs +15 -0
- data/sig/qube_sync/operations/company_activity.rbs +14 -0
- data/sig/qube_sync/operations/credit_card_charge.rbs +69 -0
- data/sig/qube_sync/operations/credit_card_credit.rbs +69 -0
- data/sig/qube_sync/operations/credit_memo.rbs +162 -0
- data/sig/qube_sync/operations/currency.rbs +52 -0
- data/sig/qube_sync/operations/custom_detail_report.rbs +31 -0
- data/sig/qube_sync/operations/custom_summary_report.rbs +33 -0
- data/sig/qube_sync/operations/customer.rbs +174 -0
- data/sig/qube_sync/operations/customer_msg.rbs +31 -0
- data/sig/qube_sync/operations/customer_type.rbs +32 -0
- data/sig/qube_sync/operations/data_event_recovery_info.rbs +20 -0
- data/sig/qube_sync/operations/data_ext.rbs +53 -0
- data/sig/qube_sync/operations/data_ext_def.rbs +51 -0
- data/sig/qube_sync/operations/date_driven_terms.rbs +35 -0
- data/sig/qube_sync/operations/deposit.rbs +100 -0
- data/sig/qube_sync/operations/employee.rbs +173 -0
- data/sig/qube_sync/operations/employee_default.rbs +68 -0
- data/sig/qube_sync/operations/entity.rbs +24 -0
- data/sig/qube_sync/operations/estimate.rbs +148 -0
- data/sig/qube_sync/operations/form1099_category_account_mapping.rbs +33 -0
- data/sig/qube_sync/operations/general_detail_report.rbs +31 -0
- data/sig/qube_sync/operations/general_summary_report.rbs +32 -0
- data/sig/qube_sync/operations/host.rbs +19 -0
- data/sig/qube_sync/operations/inventory_adjustment.rbs +105 -0
- data/sig/qube_sync/operations/inventory_site.rbs +66 -0
- data/sig/qube_sync/operations/invoice.rbs +144 -0
- data/sig/qube_sync/operations/item.rbs +25 -0
- data/sig/qube_sync/operations/item_assemblies_can_build.rbs +15 -0
- data/sig/qube_sync/operations/item_discount.rbs +62 -0
- data/sig/qube_sync/operations/item_fixed_asset.rbs +97 -0
- data/sig/qube_sync/operations/item_group.rbs +62 -0
- data/sig/qube_sync/operations/item_inventory.rbs +87 -0
- data/sig/qube_sync/operations/item_inventory_assembly.rbs +94 -0
- data/sig/qube_sync/operations/item_non_inventory.rbs +64 -0
- data/sig/qube_sync/operations/item_other_charge.rbs +59 -0
- data/sig/qube_sync/operations/item_payment.rbs +55 -0
- data/sig/qube_sync/operations/item_receipt.rbs +71 -0
- data/sig/qube_sync/operations/item_sales_tax.rbs +57 -0
- data/sig/qube_sync/operations/item_sales_tax_group.rbs +50 -0
- data/sig/qube_sync/operations/item_service.rbs +62 -0
- data/sig/qube_sync/operations/item_sites.rbs +26 -0
- data/sig/qube_sync/operations/item_subtotal.rbs +48 -0
- data/sig/qube_sync/operations/job_report.rbs +28 -0
- data/sig/qube_sync/operations/job_type.rbs +32 -0
- data/sig/qube_sync/operations/journal_entry.rbs +88 -0
- data/sig/qube_sync/operations/lead.rbs +91 -0
- data/sig/qube_sync/operations/list.rbs +15 -0
- data/sig/qube_sync/operations/list_deleted.rbs +17 -0
- data/sig/qube_sync/operations/list_display.rbs +21 -0
- data/sig/qube_sync/operations/list_merge.rbs +22 -0
- data/sig/qube_sync/operations/other_name.rbs +71 -0
- data/sig/qube_sync/operations/paycheck.rbs +27 -0
- data/sig/qube_sync/operations/payment_method.rbs +33 -0
- data/sig/qube_sync/operations/payroll_detail_report.rbs +29 -0
- data/sig/qube_sync/operations/payroll_item.rbs +23 -0
- data/sig/qube_sync/operations/payroll_item_addition.rbs +48 -0
- data/sig/qube_sync/operations/payroll_item_company_contribution.rbs +58 -0
- data/sig/qube_sync/operations/payroll_item_deduction.rbs +54 -0
- data/sig/qube_sync/operations/payroll_item_direct_deposit.rbs +30 -0
- data/sig/qube_sync/operations/payroll_item_non_wage.rbs +23 -0
- data/sig/qube_sync/operations/payroll_item_tax.rbs +58 -0
- data/sig/qube_sync/operations/payroll_item_wage.rbs +48 -0
- data/sig/qube_sync/operations/payroll_item_workers_compensation.rbs +42 -0
- data/sig/qube_sync/operations/payroll_last_period.rbs +13 -0
- data/sig/qube_sync/operations/payroll_liability_adjustment.rbs +59 -0
- data/sig/qube_sync/operations/payroll_liability_check.rbs +27 -0
- data/sig/qube_sync/operations/payroll_prior_payment.rbs +48 -0
- data/sig/qube_sync/operations/payroll_summary_report.rbs +30 -0
- data/sig/qube_sync/operations/payroll_year_to_date_adjustment.rbs +66 -0
- data/sig/qube_sync/operations/preferences.rbs +26 -0
- data/sig/qube_sync/operations/price_level.rbs +57 -0
- data/sig/qube_sync/operations/purchase_order.rbs +159 -0
- data/sig/qube_sync/operations/qb_command_exec.rbs +22 -0
- data/sig/qube_sync/operations/receive_payment.rbs +102 -0
- data/sig/qube_sync/operations/receive_payment_to_deposit.rbs +15 -0
- data/sig/qube_sync/operations/sales_order.rbs +153 -0
- data/sig/qube_sync/operations/sales_receipt.rbs +139 -0
- data/sig/qube_sync/operations/sales_rep.rbs +43 -0
- data/sig/qube_sync/operations/sales_tax_code.rbs +49 -0
- data/sig/qube_sync/operations/sales_tax_payable.rbs +16 -0
- data/sig/qube_sync/operations/sales_tax_payment_check.rbs +64 -0
- data/sig/qube_sync/operations/sales_tax_return.rbs +14 -0
- data/sig/qube_sync/operations/sales_tax_return_line.rbs +15 -0
- data/sig/qube_sync/operations/ship_method.rbs +31 -0
- data/sig/qube_sync/operations/special_account.rbs +16 -0
- data/sig/qube_sync/operations/special_item.rbs +17 -0
- data/sig/qube_sync/operations/standard_terms.rbs +34 -0
- data/sig/qube_sync/operations/template.rbs +15 -0
- data/sig/qube_sync/operations/terms.rbs +23 -0
- data/sig/qube_sync/operations/time_report.rbs +26 -0
- data/sig/qube_sync/operations/time_tracking.rbs +57 -0
- data/sig/qube_sync/operations/to_do.rbs +59 -0
- data/sig/qube_sync/operations/transaction.rbs +39 -0
- data/sig/qube_sync/operations/transfer.rbs +47 -0
- data/sig/qube_sync/operations/transfer_inventory.rbs +76 -0
- data/sig/qube_sync/operations/txn.rbs +15 -0
- data/sig/qube_sync/operations/txn_deleted.rbs +17 -0
- data/sig/qube_sync/operations/txn_display.rbs +22 -0
- data/sig/qube_sync/operations/txn_void.rbs +15 -0
- data/sig/qube_sync/operations/types.rbs +434 -0
- data/sig/qube_sync/operations/unit_of_measure_set.rbs +51 -0
- data/sig/qube_sync/operations/vehicle.rbs +43 -0
- data/sig/qube_sync/operations/vehicle_mileage.rbs +38 -0
- data/sig/qube_sync/operations/vendor.rbs +142 -0
- data/sig/qube_sync/operations/vendor_credit.rbs +70 -0
- data/sig/qube_sync/operations/vendor_type.rbs +32 -0
- data/sig/qube_sync/operations/workers_comp_code.rbs +52 -0
- data/sig/qube_sync/operations.rbs +147 -0
- 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
|