avatax 22.10.0 → 23.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 +40 -37
- 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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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.1.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