avatax 22.10.0 → 23.2.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/.github/workflows/gem-push.yml +3 -3
- data/.gitignore +2 -0
- data/README.md +1 -1
- data/avatax.gemspec +1 -0
- data/lib/avatax/api.rb +14 -0
- data/lib/avatax/client/accounts.rb +11 -11
- data/lib/avatax/client/addresses.rb +2 -2
- data/lib/avatax/client/advancedrules.rb +5 -5
- data/lib/avatax/client/ageverification.rb +59 -0
- data/lib/avatax/client/avafileforms.rb +5 -5
- data/lib/avatax/client/batches.rb +8 -8
- data/lib/avatax/client/certexpressinvites.rb +3 -3
- data/lib/avatax/client/certificates.rb +15 -15
- data/lib/avatax/client/companies.rb +22 -22
- data/lib/avatax/client/compliance.rb +1 -1
- data/lib/avatax/client/contacts.rb +6 -6
- data/lib/avatax/client/customers.rb +13 -13
- data/lib/avatax/client/datasources.rb +6 -6
- data/lib/avatax/client/definitions.rb +93 -73
- data/lib/avatax/client/distancethresholds.rb +6 -6
- data/lib/avatax/client/ecommercetoken.rb +2 -2
- data/lib/avatax/client/firmclientlinkages.rb +9 -9
- data/lib/avatax/client/free.rb +1 -1
- data/lib/avatax/client/fundingrequests.rb +2 -2
- data/lib/avatax/client/items.rb +51 -48
- data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
- data/lib/avatax/client/locations.rb +12 -12
- data/lib/avatax/client/multidocument.rb +10 -10
- data/lib/avatax/client/nexus.rb +15 -15
- data/lib/avatax/client/notices.rb +4 -4
- data/lib/avatax/client/notifications.rb +3 -3
- data/lib/avatax/client/provisioning.rb +2 -2
- data/lib/avatax/client/registrar.rb +14 -14
- data/lib/avatax/client/reports.rb +4 -4
- data/lib/avatax/client/settings.rb +6 -6
- data/lib/avatax/client/subscriptions.rb +3 -3
- data/lib/avatax/client/taxcodes.rb +6 -6
- data/lib/avatax/client/taxcontent.rb +5 -5
- data/lib/avatax/client/taxrules.rb +6 -6
- data/lib/avatax/client/transactions.rb +60 -22
- data/lib/avatax/client/upcs.rb +6 -6
- data/lib/avatax/client/userdefinedfields.rb +3 -3
- data/lib/avatax/client/users.rb +8 -8
- data/lib/avatax/client/utilities.rb +3 -3
- data/lib/avatax/configuration.rb +4 -1
- data/lib/avatax/connection.rb +6 -5
- data/lib/avatax/version.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +16 -2
@@ -19,7 +19,7 @@ module AvaTax
|
|
19
19
|
# @param model [TaxCodeModel[]] The tax code you wish to create.
|
20
20
|
# @return [TaxCodeModel[]]
|
21
21
|
def create_tax_codes(companyId, model) path = "/api/v2/companies/#{companyId}/taxcodes"
|
22
|
-
post(path, model, {}, "
|
22
|
+
post(path, model, {}, "23.2.0") end
|
23
23
|
|
24
24
|
# Delete a single tax code
|
25
25
|
#
|
@@ -33,7 +33,7 @@ module AvaTax
|
|
33
33
|
# @param id [Integer] The ID of the tax code you wish to delete.
|
34
34
|
# @return [ErrorDetail[]]
|
35
35
|
def delete_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
|
36
|
-
delete(path, {}, "
|
36
|
+
delete(path, {}, "23.2.0") end
|
37
37
|
|
38
38
|
# Retrieve a single tax code
|
39
39
|
#
|
@@ -51,7 +51,7 @@ module AvaTax
|
|
51
51
|
# @param id [Integer] The primary key of this tax code
|
52
52
|
# @return [Object]
|
53
53
|
def get_tax_code(companyId, id) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
|
54
|
-
get(path, {}, "
|
54
|
+
get(path, {}, "23.2.0") end
|
55
55
|
|
56
56
|
# Retrieve tax codes for this company
|
57
57
|
#
|
@@ -76,7 +76,7 @@ module AvaTax
|
|
76
76
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
77
77
|
# @return [FetchResult]
|
78
78
|
def list_tax_codes_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/taxcodes"
|
79
|
-
get(path, options, "
|
79
|
+
get(path, options, "23.2.0") end
|
80
80
|
|
81
81
|
# Retrieve all tax codes
|
82
82
|
#
|
@@ -100,7 +100,7 @@ module AvaTax
|
|
100
100
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
101
101
|
# @return [FetchResult]
|
102
102
|
def query_tax_codes(options={}) path = "/api/v2/taxcodes"
|
103
|
-
get(path, options, "
|
103
|
+
get(path, options, "23.2.0") end
|
104
104
|
|
105
105
|
# Update a single tax code
|
106
106
|
#
|
@@ -121,7 +121,7 @@ module AvaTax
|
|
121
121
|
# @param model [Object] The tax code you wish to update.
|
122
122
|
# @return [Object]
|
123
123
|
def update_tax_code(companyId, id, model) path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
|
124
|
-
put(path, model, {}, "
|
124
|
+
put(path, model, {}, "23.2.0") end
|
125
125
|
end
|
126
126
|
end
|
127
127
|
end
|
@@ -37,7 +37,7 @@ module AvaTax
|
|
37
37
|
# @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
|
38
38
|
# @return [Object]
|
39
39
|
def build_tax_content_file(model) path = "/api/v2/pointofsaledata/build"
|
40
|
-
post(path, model, {}, "
|
40
|
+
post(path, model, {}, "23.2.0") end
|
41
41
|
|
42
42
|
# Build a tax content file for a single location
|
43
43
|
#
|
@@ -78,7 +78,7 @@ module AvaTax
|
|
78
78
|
# @param includeJurisCodes [Boolean] When true, the file will include jurisdiction codes in the result.
|
79
79
|
# @return [Object]
|
80
80
|
def build_tax_content_file_for_location(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/locations/#{id}/pointofsaledata"
|
81
|
-
get(path, options, "
|
81
|
+
get(path, options, "23.2.0") end
|
82
82
|
|
83
83
|
# Download a file listing tax rates by postal code
|
84
84
|
#
|
@@ -131,7 +131,7 @@ module AvaTax
|
|
131
131
|
# @param region [String] A two character region code which limits results to a specific region.
|
132
132
|
# @return [Object]
|
133
133
|
def download_tax_rates_by_zip_code(date, options={}) path = "/api/v2/taxratesbyzipcode/download/#{date}"
|
134
|
-
get(path, options, "
|
134
|
+
get(path, options, "23.2.0") end
|
135
135
|
|
136
136
|
# Sales tax rates for a specified address
|
137
137
|
#
|
@@ -165,7 +165,7 @@ module AvaTax
|
|
165
165
|
# @param country [String] Name or ISO 3166 code identifying the country. This field supports many different country identifiers: * Two character ISO 3166 codes * Three character ISO 3166 codes * Fully spelled out names of the country in ISO supported languages * Common alternative spellings for many countries For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
|
166
166
|
# @return [Object]
|
167
167
|
def tax_rates_by_address(options={}) path = "/api/v2/taxrates/byaddress"
|
168
|
-
get(path, options, "
|
168
|
+
get(path, options, "23.2.0") end
|
169
169
|
|
170
170
|
# Sales tax rates for a specified country and postal code. This API is only available for US postal codes.
|
171
171
|
#
|
@@ -196,7 +196,7 @@ module AvaTax
|
|
196
196
|
# @param postalCode [String] The postal code of the location.
|
197
197
|
# @return [Object]
|
198
198
|
def tax_rates_by_postal_code(options={}) path = "/api/v2/taxrates/bypostalcode"
|
199
|
-
get(path, options, "
|
199
|
+
get(path, options, "23.2.0") end
|
200
200
|
end
|
201
201
|
end
|
202
202
|
end
|
@@ -27,7 +27,7 @@ module AvaTax
|
|
27
27
|
# @param model [TaxRuleModel[]] The tax rule you wish to create.
|
28
28
|
# @return [TaxRuleModel[]]
|
29
29
|
def create_tax_rules(companyId, model) path = "/api/v2/companies/#{companyId}/taxrules"
|
30
|
-
post(path, model, {}, "
|
30
|
+
post(path, model, {}, "23.2.0") end
|
31
31
|
|
32
32
|
# Delete a single tax rule
|
33
33
|
#
|
@@ -53,7 +53,7 @@ module AvaTax
|
|
53
53
|
# @param id [Integer] The ID of the tax rule you wish to delete.
|
54
54
|
# @return [ErrorDetail[]]
|
55
55
|
def delete_tax_rule(companyId, id) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
|
56
|
-
delete(path, {}, "
|
56
|
+
delete(path, {}, "23.2.0") end
|
57
57
|
|
58
58
|
# Retrieve a single tax rule
|
59
59
|
#
|
@@ -79,7 +79,7 @@ module AvaTax
|
|
79
79
|
# @param id [Integer] The primary key of this tax rule
|
80
80
|
# @return [Object]
|
81
81
|
def get_tax_rule(companyId, id) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
|
82
|
-
get(path, {}, "
|
82
|
+
get(path, {}, "23.2.0") end
|
83
83
|
|
84
84
|
# Retrieve tax rules for this company
|
85
85
|
#
|
@@ -112,7 +112,7 @@ module AvaTax
|
|
112
112
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
113
113
|
# @return [FetchResult]
|
114
114
|
def list_tax_rules(companyId, options={}) path = "/api/v2/companies/#{companyId}/taxrules"
|
115
|
-
get(path, options, "
|
115
|
+
get(path, options, "23.2.0") end
|
116
116
|
|
117
117
|
# Retrieve all tax rules
|
118
118
|
#
|
@@ -144,7 +144,7 @@ module AvaTax
|
|
144
144
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
145
145
|
# @return [FetchResult]
|
146
146
|
def query_tax_rules(options={}) path = "/api/v2/taxrules"
|
147
|
-
get(path, options, "
|
147
|
+
get(path, options, "23.2.0") end
|
148
148
|
|
149
149
|
# Update a single tax rule
|
150
150
|
#
|
@@ -171,7 +171,7 @@ module AvaTax
|
|
171
171
|
# @param model [Object] The tax rule you wish to update.
|
172
172
|
# @return [Object]
|
173
173
|
def update_tax_rule(companyId, id, model) path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
|
174
|
-
put(path, model, {}, "
|
174
|
+
put(path, model, {}, "23.2.0") end
|
175
175
|
end
|
176
176
|
end
|
177
177
|
end
|
@@ -35,7 +35,7 @@ module AvaTax
|
|
35
35
|
# @param model [Object] information about the transaction and lines to be added
|
36
36
|
# @return [Object]
|
37
37
|
def add_lines(model, options={}) path = "/api/v2/companies/transactions/lines/add"
|
38
|
-
post(path, model, options, "
|
38
|
+
post(path, model, options, "23.2.0") end
|
39
39
|
|
40
40
|
# Correct a previously created transaction
|
41
41
|
#
|
@@ -81,7 +81,7 @@ module AvaTax
|
|
81
81
|
# @param model [Object] The adjustment you wish to make
|
82
82
|
# @return [Object]
|
83
83
|
def adjust_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/adjust"
|
84
|
-
post(path, model, options, "
|
84
|
+
post(path, model, options, "23.2.0") end
|
85
85
|
|
86
86
|
# Get audit information about a transaction
|
87
87
|
#
|
@@ -118,7 +118,7 @@ module AvaTax
|
|
118
118
|
# @param transactionCode [String] The code identifying the transaction
|
119
119
|
# @return [Object]
|
120
120
|
def audit_transaction(companyCode, transactionCode) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/audit"
|
121
|
-
get(path, {}, "
|
121
|
+
get(path, {}, "23.2.0") end
|
122
122
|
|
123
123
|
# Get audit information about a transaction
|
124
124
|
#
|
@@ -156,7 +156,7 @@ module AvaTax
|
|
156
156
|
# @param documentType [String] The document type of the original transaction (See DocumentType::* for a list of allowable values)
|
157
157
|
# @return [Object]
|
158
158
|
def audit_transaction_with_type(companyCode, transactionCode, documentType) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}/audit"
|
159
|
-
get(path, {}, "
|
159
|
+
get(path, {}, "23.2.0") end
|
160
160
|
|
161
161
|
# Lock a set of documents
|
162
162
|
#
|
@@ -176,7 +176,7 @@ module AvaTax
|
|
176
176
|
# @param model [Object] bulk lock request
|
177
177
|
# @return [Object]
|
178
178
|
def bulk_lock_transaction(model) path = "/api/v2/transactions/lock"
|
179
|
-
post(path, model, {}, "
|
179
|
+
post(path, model, {}, "23.2.0") end
|
180
180
|
|
181
181
|
# Change a transaction's code
|
182
182
|
#
|
@@ -222,7 +222,7 @@ module AvaTax
|
|
222
222
|
# @param model [Object] The code change request you wish to execute
|
223
223
|
# @return [Object]
|
224
224
|
def change_transaction_code(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/changecode"
|
225
|
-
post(path, model, options, "
|
225
|
+
post(path, model, options, "23.2.0") end
|
226
226
|
|
227
227
|
# Commit a transaction for reporting
|
228
228
|
#
|
@@ -266,7 +266,7 @@ module AvaTax
|
|
266
266
|
# @param model [Object] The commit request you wish to execute
|
267
267
|
# @return [Object]
|
268
268
|
def commit_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/commit"
|
269
|
-
post(path, model, options, "
|
269
|
+
post(path, model, options, "23.2.0") end
|
270
270
|
|
271
271
|
# Create or adjust a transaction
|
272
272
|
#
|
@@ -313,7 +313,7 @@ module AvaTax
|
|
313
313
|
# @param model [Object] The transaction you wish to create or adjust
|
314
314
|
# @return [Object]
|
315
315
|
def create_or_adjust_transaction(model, options={}) path = "/api/v2/transactions/createoradjust"
|
316
|
-
post(path, model, options, "
|
316
|
+
post(path, model, options, "23.2.0") end
|
317
317
|
|
318
318
|
# Create a new transaction
|
319
319
|
#
|
@@ -367,7 +367,7 @@ module AvaTax
|
|
367
367
|
# @param model [Object] The transaction you wish to create
|
368
368
|
# @return [Object]
|
369
369
|
def create_transaction(model, options={}) path = "/api/v2/transactions/create"
|
370
|
-
post(path, model, options, "
|
370
|
+
post(path, model, options, "23.2.0") end
|
371
371
|
|
372
372
|
# Remove lines from an existing unlocked transaction
|
373
373
|
#
|
@@ -398,7 +398,19 @@ module AvaTax
|
|
398
398
|
# @param model [Object] information about the transaction and lines to be removed
|
399
399
|
# @return [Object]
|
400
400
|
def delete_lines(model, options={}) path = "/api/v2/companies/transactions/lines/delete"
|
401
|
-
post(path, model, options, "
|
401
|
+
post(path, model, options, "23.2.0") end
|
402
|
+
|
403
|
+
# Fetches the Variance data generated for all the transactions done by Company.
|
404
|
+
#
|
405
|
+
# ### Security Policies
|
406
|
+
#
|
407
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
|
408
|
+
# * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
|
409
|
+
# Swagger Name: AvaTaxClient
|
410
|
+
# @param companyCode [String]
|
411
|
+
# @return [Object]
|
412
|
+
def get_all_variance_report_by_company_code(companyCode) path = "/api/v2/companies/#{companyCode}/AllVariance"
|
413
|
+
get(path, {}, "23.2.0") end
|
402
414
|
|
403
415
|
# Retrieve a single transaction by code
|
404
416
|
#
|
@@ -440,7 +452,7 @@ module AvaTax
|
|
440
452
|
# @param include [String] Specifies objects to include in this fetch call
|
441
453
|
# @return [Object]
|
442
454
|
def get_transaction_by_code(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}"
|
443
|
-
get(path, options, "
|
455
|
+
get(path, options, "23.2.0") end
|
444
456
|
|
445
457
|
# Retrieve a single transaction by code
|
446
458
|
#
|
@@ -465,7 +477,7 @@ module AvaTax
|
|
465
477
|
# @param include [String] Specifies objects to include in this fetch call
|
466
478
|
# @return [Object]
|
467
479
|
def get_transaction_by_code_and_type(companyCode, transactionCode, documentType, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}"
|
468
|
-
get(path, options, "
|
480
|
+
get(path, options, "23.2.0") end
|
469
481
|
|
470
482
|
# Retrieve a single transaction by ID
|
471
483
|
#
|
@@ -495,7 +507,20 @@ module AvaTax
|
|
495
507
|
# @param include [String] Specifies objects to include in this fetch call
|
496
508
|
# @return [Object]
|
497
509
|
def get_transaction_by_id(id, options={}) path = "/api/v2/transactions/#{id}"
|
498
|
-
get(path, options, "
|
510
|
+
get(path, options, "23.2.0") end
|
511
|
+
|
512
|
+
# Fetches the Variance data generated for particular Company by transaction ID
|
513
|
+
#
|
514
|
+
# ### Security Policies
|
515
|
+
#
|
516
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
|
517
|
+
# * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
|
518
|
+
# Swagger Name: AvaTaxClient
|
519
|
+
# @param companyCode [String]
|
520
|
+
# @param transactionId [String]
|
521
|
+
# @return [Object]
|
522
|
+
def get_variance_report_by_company_code_by_transaction_id(companyCode, transactionId) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionId}/variance"
|
523
|
+
get(path, {}, "23.2.0") end
|
499
524
|
|
500
525
|
# Retrieve all transactions
|
501
526
|
#
|
@@ -543,7 +568,7 @@ module AvaTax
|
|
543
568
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
544
569
|
# @return [FetchResult]
|
545
570
|
def list_transactions_by_company(companyCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions"
|
546
|
-
get(path, options, "
|
571
|
+
get(path, options, "23.2.0") end
|
547
572
|
|
548
573
|
# Lock a single transaction
|
549
574
|
#
|
@@ -552,7 +577,7 @@ module AvaTax
|
|
552
577
|
# This API is mainly used for connector developers to simulate what happens when the Returns product locks a document.
|
553
578
|
# After this API call succeeds, the document will be locked and can't be voided or adjusted.
|
554
579
|
#
|
555
|
-
#
|
580
|
+
# On Sandbox, this API is only available to customers who have both an AvaTaxPro and a Managed Returns subscription. On Production, this API is only available internally for the Avalara Returns team.
|
556
581
|
#
|
557
582
|
# If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
|
558
583
|
#
|
@@ -589,7 +614,7 @@ module AvaTax
|
|
589
614
|
# @param model [Object] The lock request you wish to execute
|
590
615
|
# @return [Object]
|
591
616
|
def lock_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/lock"
|
592
|
-
post(path, model, options, "
|
617
|
+
post(path, model, options, "23.2.0") end
|
593
618
|
|
594
619
|
# Create a refund for a transaction
|
595
620
|
#
|
@@ -646,7 +671,7 @@ module AvaTax
|
|
646
671
|
# @param model [Object] Information about the refund to create
|
647
672
|
# @return [Object]
|
648
673
|
def refund_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/refund"
|
649
|
-
post(path, model, options, "
|
674
|
+
post(path, model, options, "23.2.0") end
|
650
675
|
|
651
676
|
# Perform multiple actions on a transaction
|
652
677
|
#
|
@@ -690,7 +715,7 @@ module AvaTax
|
|
690
715
|
# @param model [Object] The data from an external system to reconcile against AvaTax
|
691
716
|
# @return [Object]
|
692
717
|
def settle_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/settle"
|
693
|
-
post(path, model, options, "
|
718
|
+
post(path, model, options, "23.2.0") end
|
694
719
|
|
695
720
|
# Uncommit a transaction for reporting
|
696
721
|
#
|
@@ -728,7 +753,7 @@ module AvaTax
|
|
728
753
|
# @param include [String] Specifies objects to include in this fetch call
|
729
754
|
# @return [Object]
|
730
755
|
def uncommit_transaction(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/uncommit"
|
731
|
-
post(path, options, "
|
756
|
+
post(path, options, "23.2.0") end
|
732
757
|
|
733
758
|
# Unvoids a transaction
|
734
759
|
#
|
@@ -763,7 +788,20 @@ module AvaTax
|
|
763
788
|
# @param include [String] Specifies objects to include in this fetch call
|
764
789
|
# @return [Object]
|
765
790
|
def unvoid_transaction(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/unvoid"
|
766
|
-
post(path, options, "
|
791
|
+
post(path, options, "23.2.0") end
|
792
|
+
|
793
|
+
# Generates the Variance report which will capture the difference between "Tax Calculated by Avalara" Vs "Actual Tax" paid at custom clearance at line / header level.
|
794
|
+
#
|
795
|
+
# ### Security Policies
|
796
|
+
#
|
797
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
|
798
|
+
# * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
|
799
|
+
# Swagger Name: AvaTaxClient
|
800
|
+
# @param companyCode [String]
|
801
|
+
# @param model [VarianceRequestModel[]]
|
802
|
+
# @return [Object]
|
803
|
+
def variance_report(companyCode, model) path = "/api/v2/companies/#{companyCode}/variance"
|
804
|
+
post(path, model, {}, "23.2.0") end
|
767
805
|
|
768
806
|
# Verify a transaction
|
769
807
|
#
|
@@ -806,7 +844,7 @@ module AvaTax
|
|
806
844
|
# @param model [Object] The data from an external system to reconcile against AvaTax
|
807
845
|
# @return [Object]
|
808
846
|
def verify_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/verify"
|
809
|
-
post(path, model, options, "
|
847
|
+
post(path, model, options, "23.2.0") end
|
810
848
|
|
811
849
|
# Void a transaction
|
812
850
|
#
|
@@ -851,7 +889,7 @@ module AvaTax
|
|
851
889
|
# @param model [Object] The void request you wish to execute. To void a transaction the code must be set to 'DocVoided'
|
852
890
|
# @return [Object]
|
853
891
|
def void_transaction(companyCode, transactionCode, model, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/void"
|
854
|
-
post(path, model, options, "
|
892
|
+
post(path, model, options, "23.2.0") end
|
855
893
|
end
|
856
894
|
end
|
857
895
|
end
|
data/lib/avatax/client/upcs.rb
CHANGED
@@ -17,7 +17,7 @@ module AvaTax
|
|
17
17
|
# @param model [UPCModel[]] The UPC you wish to create.
|
18
18
|
# @return [UPCModel[]]
|
19
19
|
def create_u_p_cs(companyId, model) path = "/api/v2/companies/#{companyId}/upcs"
|
20
|
-
post(path, model, {}, "
|
20
|
+
post(path, model, {}, "23.2.0") end
|
21
21
|
|
22
22
|
# Delete a single UPC
|
23
23
|
#
|
@@ -32,7 +32,7 @@ module AvaTax
|
|
32
32
|
# @param id [Integer] The ID of the UPC you wish to delete.
|
33
33
|
# @return [ErrorDetail[]]
|
34
34
|
def delete_u_p_c(companyId, id) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
|
35
|
-
delete(path, {}, "
|
35
|
+
delete(path, {}, "23.2.0") end
|
36
36
|
|
37
37
|
# Retrieve a single UPC
|
38
38
|
#
|
@@ -48,7 +48,7 @@ module AvaTax
|
|
48
48
|
# @param id [Integer] The primary key of this UPC
|
49
49
|
# @return [Object]
|
50
50
|
def get_u_p_c(companyId, id) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
|
51
|
-
get(path, {}, "
|
51
|
+
get(path, {}, "23.2.0") end
|
52
52
|
|
53
53
|
# Retrieve UPCs for this company
|
54
54
|
#
|
@@ -71,7 +71,7 @@ module AvaTax
|
|
71
71
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
72
72
|
# @return [FetchResult]
|
73
73
|
def list_u_p_cs_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/upcs"
|
74
|
-
get(path, options, "
|
74
|
+
get(path, options, "23.2.0") end
|
75
75
|
|
76
76
|
# Retrieve all UPCs
|
77
77
|
#
|
@@ -93,7 +93,7 @@ module AvaTax
|
|
93
93
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
94
94
|
# @return [FetchResult]
|
95
95
|
def query_u_p_cs(options={}) path = "/api/v2/upcs"
|
96
|
-
get(path, options, "
|
96
|
+
get(path, options, "23.2.0") end
|
97
97
|
|
98
98
|
# Update a single UPC
|
99
99
|
#
|
@@ -112,7 +112,7 @@ module AvaTax
|
|
112
112
|
# @param model [Object] The UPC you wish to update.
|
113
113
|
# @return [Object]
|
114
114
|
def update_u_p_c(companyId, id, model) path = "/api/v2/companies/#{companyId}/upcs/#{id}"
|
115
|
-
put(path, model, {}, "
|
115
|
+
put(path, model, {}, "23.2.0") end
|
116
116
|
end
|
117
117
|
end
|
118
118
|
end
|
@@ -16,7 +16,7 @@ module AvaTax
|
|
16
16
|
# @param id [Integer] The id of the User Defined Field you wish to delete.
|
17
17
|
# @return [ErrorDetail[]]
|
18
18
|
def delete_user_defined_field(companyId, id) path = "/api/v2/companies/#{companyId}/userdefinedfields/#{id}"
|
19
|
-
delete(path, {}, "
|
19
|
+
delete(path, {}, "23.2.0") end
|
20
20
|
|
21
21
|
#
|
22
22
|
#
|
@@ -30,7 +30,7 @@ module AvaTax
|
|
30
30
|
# @param allowDefaults [Boolean] If true this will add defaulted UDFs to the list that are not named yet
|
31
31
|
# @return [FetchResult]
|
32
32
|
def list_user_defined_fields_by_company_id(companyId, options={}) path = "/api/v2/companies/#{companyId}/userdefinedfields"
|
33
|
-
get(path, options, "
|
33
|
+
get(path, options, "23.2.0") end
|
34
34
|
|
35
35
|
# Update a User Defined Field identified by id for a company
|
36
36
|
#
|
@@ -46,7 +46,7 @@ module AvaTax
|
|
46
46
|
# @param model [Object]
|
47
47
|
# @return [Object]
|
48
48
|
def update_user_defined_field(companyId, model, options={}) path = "/api/v2/companies/#{companyId}/userdefinedfields"
|
49
|
-
post(path, model, options, "
|
49
|
+
post(path, model, options, "23.2.0") end
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
data/lib/avatax/client/users.rb
CHANGED
@@ -20,7 +20,7 @@ module AvaTax
|
|
20
20
|
# @param model [Object] An object containing your current password and the new password.
|
21
21
|
# @return [String]
|
22
22
|
def change_password(model) path = "/api/v2/passwords"
|
23
|
-
put(path, model, {}, "
|
23
|
+
put(path, model, {}, "23.2.0") end
|
24
24
|
|
25
25
|
# Create new users
|
26
26
|
#
|
@@ -42,7 +42,7 @@ module AvaTax
|
|
42
42
|
# @param model [UserModel[]] The user or array of users you wish to create.
|
43
43
|
# @return [UserModel[]]
|
44
44
|
def create_users(accountId, model) path = "/api/v2/accounts/#{accountId}/users"
|
45
|
-
post(path, model, {}, "
|
45
|
+
post(path, model, {}, "23.2.0") end
|
46
46
|
|
47
47
|
# Delete a single user
|
48
48
|
#
|
@@ -61,7 +61,7 @@ module AvaTax
|
|
61
61
|
# @param accountId [Integer] The accountID of the user you wish to delete.
|
62
62
|
# @return [ErrorDetail[]]
|
63
63
|
def delete_user(id, accountId) path = "/api/v2/accounts/#{accountId}/users/#{id}"
|
64
|
-
delete(path, {}, "
|
64
|
+
delete(path, {}, "23.2.0") end
|
65
65
|
|
66
66
|
# Retrieve a single user
|
67
67
|
#
|
@@ -81,7 +81,7 @@ module AvaTax
|
|
81
81
|
# @param include [String] Optional fetch commands.
|
82
82
|
# @return [Object]
|
83
83
|
def get_user(id, accountId, options={}) path = "/api/v2/accounts/#{accountId}/users/#{id}"
|
84
|
-
get(path, options, "
|
84
|
+
get(path, options, "23.2.0") end
|
85
85
|
|
86
86
|
# Retrieve all entitlements for a single user
|
87
87
|
#
|
@@ -109,7 +109,7 @@ module AvaTax
|
|
109
109
|
# @param accountId [Integer] The accountID of the user you wish to get.
|
110
110
|
# @return [Object]
|
111
111
|
def get_user_entitlements(id, accountId) path = "/api/v2/accounts/#{accountId}/users/#{id}/entitlements"
|
112
|
-
get(path, {}, "
|
112
|
+
get(path, {}, "23.2.0") end
|
113
113
|
|
114
114
|
# Retrieve users for this account
|
115
115
|
#
|
@@ -138,7 +138,7 @@ module AvaTax
|
|
138
138
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
139
139
|
# @return [FetchResult]
|
140
140
|
def list_users_by_account(accountId, options={}) path = "/api/v2/accounts/#{accountId}/users"
|
141
|
-
get(path, options, "
|
141
|
+
get(path, options, "23.2.0") end
|
142
142
|
|
143
143
|
# Retrieve all users
|
144
144
|
#
|
@@ -168,7 +168,7 @@ module AvaTax
|
|
168
168
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
169
169
|
# @return [FetchResult]
|
170
170
|
def query_users(options={}) path = "/api/v2/users"
|
171
|
-
get(path, options, "
|
171
|
+
get(path, options, "23.2.0") end
|
172
172
|
|
173
173
|
# Update a single user
|
174
174
|
#
|
@@ -186,7 +186,7 @@ module AvaTax
|
|
186
186
|
# @param model [Object] The user object you wish to update.
|
187
187
|
# @return [Object]
|
188
188
|
def update_user(id, accountId, model) path = "/api/v2/accounts/#{accountId}/users/#{id}"
|
189
|
-
put(path, model, {}, "
|
189
|
+
put(path, model, {}, "23.2.0") end
|
190
190
|
end
|
191
191
|
end
|
192
192
|
end
|
@@ -17,7 +17,7 @@ module AvaTax
|
|
17
17
|
# @param serviceTypeId [String] The service to check
|
18
18
|
# @return [Object]
|
19
19
|
def get_my_subscription(serviceTypeId) path = "/api/v2/utilities/subscriptions/#{serviceTypeId}"
|
20
|
-
get(path, {}, "
|
20
|
+
get(path, {}, "23.2.0") end
|
21
21
|
|
22
22
|
# List all services to which the current user is subscribed
|
23
23
|
#
|
@@ -32,7 +32,7 @@ module AvaTax
|
|
32
32
|
# Swagger Name: AvaTaxClient
|
33
33
|
# @return [FetchResult]
|
34
34
|
def list_my_subscriptions() path = "/api/v2/utilities/subscriptions"
|
35
|
-
get(path, {}, "
|
35
|
+
get(path, {}, "23.2.0") end
|
36
36
|
|
37
37
|
# Tests connectivity and version of the service
|
38
38
|
#
|
@@ -59,7 +59,7 @@ module AvaTax
|
|
59
59
|
# Swagger Name: AvaTaxClient
|
60
60
|
# @return [Object]
|
61
61
|
def ping() path = "/api/v2/utilities/ping"
|
62
|
-
get(path, {}, "
|
62
|
+
get(path, {}, "23.2.0") end
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
data/lib/avatax/configuration.rb
CHANGED
@@ -19,7 +19,8 @@ module AvaTax
|
|
19
19
|
:custom_logger_options,
|
20
20
|
:proxy,
|
21
21
|
:faraday_response,
|
22
|
-
:response_big_decimal_conversion
|
22
|
+
:response_big_decimal_conversion,
|
23
|
+
:log_request_and_response_info
|
23
24
|
].freeze
|
24
25
|
|
25
26
|
DEFAULT_APP_NAME = nil
|
@@ -36,6 +37,7 @@ module AvaTax
|
|
36
37
|
DEFAULT_PROXY = nil
|
37
38
|
DEFAULT_FARADAY_RESPONSE = false
|
38
39
|
DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION = false
|
40
|
+
DEFAULT_LOG_REQUEST_AND_RESPONSE_INFO = false
|
39
41
|
|
40
42
|
attr_accessor *VALID_OPTIONS_KEYS
|
41
43
|
|
@@ -70,6 +72,7 @@ module AvaTax
|
|
70
72
|
self.proxy = DEFAULT_PROXY
|
71
73
|
self.faraday_response = DEFAULT_FARADAY_RESPONSE
|
72
74
|
self.response_big_decimal_conversion = DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION
|
75
|
+
self.log_request_and_response_info = DEFAULT_LOG_REQUEST_AND_RESPONSE_INFO
|
73
76
|
end
|
74
77
|
|
75
78
|
end
|
data/lib/avatax/connection.rb
CHANGED
@@ -4,8 +4,8 @@ module AvaTax
|
|
4
4
|
|
5
5
|
module Connection
|
6
6
|
private
|
7
|
-
AUTHORIZATION_FILTER_REGEX = /(Authorization
|
8
|
-
REMOVED_LABEL = '\1[REMOVED]'
|
7
|
+
AUTHORIZATION_FILTER_REGEX = /(Authorization)([^&]+)/
|
8
|
+
REMOVED_LABEL = '\1 [REMOVED]'
|
9
9
|
|
10
10
|
def connection
|
11
11
|
client_id = "#{app_name};#{app_version};RubySdk;API_VERSION;#{machine_name}"
|
@@ -26,7 +26,7 @@ module AvaTax
|
|
26
26
|
bigdecimal_load: :bigdecimal
|
27
27
|
}
|
28
28
|
end
|
29
|
-
|
29
|
+
faraday.request :instrumentation
|
30
30
|
faraday.response :json, content_type: /\bjson$/
|
31
31
|
faraday.request :basic_auth, username, password
|
32
32
|
|
@@ -34,14 +34,15 @@ module AvaTax
|
|
34
34
|
# see https://github.com/lostisland/faraday/blob/main/docs/middleware/request/authentication.md
|
35
35
|
# faraday.request :authorization, :basic, username, password
|
36
36
|
|
37
|
+
default_logger_options = { headers: true, bodies: log_request_and_response_info }
|
37
38
|
if logger
|
38
|
-
faraday.response :logger do |logger|
|
39
|
+
faraday.response :logger, nil, default_logger_options do |logger|
|
39
40
|
logger.filter(AUTHORIZATION_FILTER_REGEX, REMOVED_LABEL)
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
43
44
|
if custom_logger
|
44
|
-
faraday.response :logger, custom_logger, custom_logger_options do |logger|
|
45
|
+
faraday.response :logger, custom_logger, default_logger_options.merge(custom_logger_options) do |logger|
|
45
46
|
logger.filter(AUTHORIZATION_FILTER_REGEX, REMOVED_LABEL)
|
46
47
|
end
|
47
48
|
end
|
data/lib/avatax/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED