avatax 22.8.0 → 23.8.1
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 +3 -3
- data/lib/avatax/api.rb +14 -0
- data/lib/avatax/client/accounts.rb +17 -17
- data/lib/avatax/client/addresses.rb +2 -2
- data/lib/avatax/client/advancedrules.rb +5 -5
- data/lib/avatax/client/ageverification.rb +60 -1
- 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 +36 -36
- 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 +9 -9
- data/lib/avatax/client/definitions.rb +112 -78
- data/lib/avatax/client/distancethresholds.rb +6 -6
- data/lib/avatax/client/ecommercetoken.rb +4 -4
- data/lib/avatax/client/firmclientlinkages.rb +11 -11
- data/lib/avatax/client/free.rb +1 -1
- data/lib/avatax/client/fundingrequests.rb +3 -3
- data/lib/avatax/client/items.rb +52 -49
- data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
- data/lib/avatax/client/locations.rb +18 -18
- 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 +6 -6
- data/lib/avatax/client/provisioning.rb +2 -2
- data/lib/avatax/client/registrar.rb +32 -10
- data/lib/avatax/client/reports.rb +4 -4
- data/lib/avatax/client/settings.rb +9 -9
- data/lib/avatax/client/shippingverification.rb +4 -4
- data/lib/avatax/client/subscriptions.rb +3 -3
- data/lib/avatax/client/taxcodes.rb +9 -9
- data/lib/avatax/client/taxcontent.rb +16 -12
- data/lib/avatax/client/taxrules.rb +42 -6
- data/lib/avatax/client/transactions.rb +81 -22
- data/lib/avatax/client/upcs.rb +6 -6
- data/lib/avatax/client/userdefinedfields.rb +4 -4
- data/lib/avatax/client/users.rb +12 -12
- data/lib/avatax/client/utilities.rb +3 -3
- data/lib/avatax/client.rb +1 -0
- data/lib/avatax/configuration.rb +4 -1
- data/lib/avatax/connection.rb +17 -12
- data/lib/avatax/version.rb +1 -1
- data/spec/spec_helper.rb +2 -1
- metadata +10 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aeef1574896e478aa21341aff33fc8d664c1b130b3e13fc6d78bc3c5373d39bd
|
4
|
+
data.tar.gz: 3edafaf948b4592076b70ea2848c4a3dc130182f80ee4ab2fb7c81bd76e2e8bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b5efe3e93349e52d25ce7b9ba222a8bed185fd672a67fd6aaa12d93ffc51779e393e1dc45b9da32e2b21a8b99198a9e2161b75f9f463030a9f2b24308320ecc
|
7
|
+
data.tar.gz: 6509f4d7379c091a8bbbd69858aff375a7d42bc9b917ee0be6cc92d2e6cd833db1f84f4fc903c64e84f743220ae53b44c34fbcd437da301438cd6e9b09722ad7
|
@@ -15,9 +15,9 @@ jobs:
|
|
15
15
|
steps:
|
16
16
|
- uses: actions/checkout@v2
|
17
17
|
- name: Set up Ruby 2.6
|
18
|
-
uses:
|
18
|
+
uses: ruby/setup-ruby@v1
|
19
19
|
with:
|
20
|
-
ruby-version: 2.6
|
20
|
+
ruby-version: '2.6'
|
21
21
|
|
22
22
|
- name: Publish to RubyGems
|
23
23
|
run: |
|
@@ -28,4 +28,4 @@ jobs:
|
|
28
28
|
gem build avatax.gemspec
|
29
29
|
gem push *.gem
|
30
30
|
env:
|
31
|
-
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
31
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -9,7 +9,7 @@ Installation
|
|
9
9
|
Simple Code Example
|
10
10
|
-------------------------
|
11
11
|
```ruby
|
12
|
-
@client = AvaTax::Client.new(:logger => true)
|
12
|
+
@client = AvaTax::Client.new({ :logger => true, :log_request_and_response_info => true })
|
13
13
|
|
14
14
|
createTransactionModel = {
|
15
15
|
"type" => 'SalesInvoice',
|
data/avatax.gemspec
CHANGED
@@ -5,8 +5,8 @@ Gem::Specification.new do |s|
|
|
5
5
|
s.add_development_dependency('rspec', '~> 3.5.0')
|
6
6
|
s.add_development_dependency('webmock', '>= 2.0.0')
|
7
7
|
s.add_runtime_dependency('faraday', '>= 0.10')
|
8
|
-
s.add_runtime_dependency('faraday_middleware', '>= 0.10')
|
9
8
|
s.add_runtime_dependency('multi_json', '>= 1.0.3')
|
9
|
+
s.add_runtime_dependency('activesupport', '>= 6.1.7')
|
10
10
|
s.authors = ["Marcus Vorwaller"]
|
11
11
|
s.description = %q{A Ruby wrapper for the AvaTax REST and Search APIs}
|
12
12
|
s.post_install_message =<<eos
|
@@ -15,12 +15,12 @@ Gem::Specification.new do |s|
|
|
15
15
|
AvaTax REST API
|
16
16
|
------------------------------
|
17
17
|
Our developer site documents the AvaTax REST API.
|
18
|
-
(
|
18
|
+
(https://developer.avalara.com).
|
19
19
|
Blog
|
20
20
|
----------------------------
|
21
21
|
The Developer Blog is a great place to learn more about the API and AvaTax integrations
|
22
22
|
Subscribe to the RSS feed be notified of new posts:
|
23
|
-
(
|
23
|
+
(https://developer.avalara.com/blogs).
|
24
24
|
|
25
25
|
********************************************************************************
|
26
26
|
eos
|
data/lib/avatax/api.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require File.expand_path('../connection', __FILE__)
|
2
2
|
require File.expand_path('../request', __FILE__)
|
3
|
+
require 'active_support/notifications'
|
4
|
+
require 'logger'
|
3
5
|
|
4
6
|
module AvaTax
|
5
7
|
class API
|
@@ -8,9 +10,21 @@ module AvaTax
|
|
8
10
|
|
9
11
|
def initialize(options={})
|
10
12
|
options = AvaTax.options.merge(options)
|
13
|
+
# The default logger in Faraday is configured exactly the same as this one, but we cannot get a reference to it, so we will instantiate our own.
|
14
|
+
default_logger = Logger.new(STDOUT)
|
11
15
|
Configuration::VALID_OPTIONS_KEYS.each do |key|
|
12
16
|
send("#{key}=", options[key])
|
13
17
|
end
|
18
|
+
ActiveSupport::Notifications.subscribe("request.faraday") do |name, starts, ends, _, env|
|
19
|
+
url = env[:url]
|
20
|
+
duration = (ends - starts) * 1000
|
21
|
+
|
22
|
+
if custom_logger
|
23
|
+
custom_logger.info "The request to #{url} took #{duration} ms."
|
24
|
+
elsif logger
|
25
|
+
default_logger.info "The request to #{url} took #{duration} ms."
|
26
|
+
end
|
27
|
+
end
|
14
28
|
end
|
15
29
|
|
16
30
|
def config
|
@@ -28,7 +28,7 @@ module AvaTax
|
|
28
28
|
# @param model [Object] A request confirming that you wish to reset the license key of this account.
|
29
29
|
# @return [Object]
|
30
30
|
def account_reset_license_key(id, model) path = "/api/v2/accounts/#{id}/resetlicensekey"
|
31
|
-
post(path, model, {},
|
31
|
+
post(path, model, {}, AvaTax::VERSION) end
|
32
32
|
|
33
33
|
# Activate an account by accepting terms and conditions
|
34
34
|
#
|
@@ -51,7 +51,7 @@ module AvaTax
|
|
51
51
|
# @param model [Object] The activation request
|
52
52
|
# @return [Object]
|
53
53
|
def activate_account(id, model) path = "/api/v2/accounts/#{id}/activate"
|
54
|
-
post(path, model, {},
|
54
|
+
post(path, model, {}, AvaTax::VERSION) end
|
55
55
|
|
56
56
|
# Retrieve audit history for an account.
|
57
57
|
#
|
@@ -72,7 +72,7 @@ module AvaTax
|
|
72
72
|
#
|
73
73
|
# ### Security Policies
|
74
74
|
#
|
75
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
75
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
76
76
|
# Swagger Name: AvaTaxClient
|
77
77
|
# @param id [Integer] The ID of the account you wish to audit.
|
78
78
|
# @param start [DateTime] The start datetime of audit history you with to retrieve, e.g. "2018-06-08T17:00:00Z". Defaults to the past 15 minutes.
|
@@ -81,7 +81,7 @@ module AvaTax
|
|
81
81
|
# @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
|
82
82
|
# @return [FetchResult]
|
83
83
|
def audit_account(id, options={}) path = "/api/v2/accounts/#{id}/audit"
|
84
|
-
get(path, options,
|
84
|
+
get(path, options, AvaTax::VERSION) end
|
85
85
|
|
86
86
|
# Create license key for this account
|
87
87
|
#
|
@@ -104,7 +104,7 @@ module AvaTax
|
|
104
104
|
# @param model [Object]
|
105
105
|
# @return [Object]
|
106
106
|
def create_license_key(id, model) path = "/api/v2/accounts/#{id}/licensekey"
|
107
|
-
post(path, model, {},
|
107
|
+
post(path, model, {}, AvaTax::VERSION) end
|
108
108
|
|
109
109
|
# Delete license key for this account by license key name
|
110
110
|
#
|
@@ -122,7 +122,7 @@ module AvaTax
|
|
122
122
|
# @param licensekeyname [String] The license key name you wish to update.
|
123
123
|
# @return [ErrorDetail[]]
|
124
124
|
def delete_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
|
125
|
-
delete(path, {},
|
125
|
+
delete(path, {}, AvaTax::VERSION) end
|
126
126
|
|
127
127
|
# Retrieve a single account
|
128
128
|
#
|
@@ -134,13 +134,13 @@ module AvaTax
|
|
134
134
|
#
|
135
135
|
# ### Security Policies
|
136
136
|
#
|
137
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
137
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
138
138
|
# Swagger Name: AvaTaxClient
|
139
139
|
# @param id [Integer] The ID of the account to retrieve
|
140
140
|
# @param include [String] A comma separated list of special fetch options
|
141
141
|
# @return [Object]
|
142
142
|
def get_account(id, options={}) path = "/api/v2/accounts/#{id}"
|
143
|
-
get(path, options,
|
143
|
+
get(path, options, AvaTax::VERSION) end
|
144
144
|
|
145
145
|
# Get configuration settings for this account
|
146
146
|
#
|
@@ -159,24 +159,24 @@ module AvaTax
|
|
159
159
|
#
|
160
160
|
# ### Security Policies
|
161
161
|
#
|
162
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
|
162
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
|
163
163
|
# Swagger Name: AvaTaxClient
|
164
164
|
# @param id [Integer]
|
165
165
|
# @return [AccountConfigurationModel[]]
|
166
166
|
def get_account_configuration(id) path = "/api/v2/accounts/#{id}/configuration"
|
167
|
-
get(path, {},
|
167
|
+
get(path, {}, AvaTax::VERSION) end
|
168
168
|
|
169
169
|
# Retrieve license key by license key name
|
170
170
|
#
|
171
171
|
# ### Security Policies
|
172
172
|
#
|
173
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
173
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
174
174
|
# Swagger Name: AvaTaxClient
|
175
175
|
# @param id [Integer] The ID of the account to retrieve
|
176
176
|
# @param licensekeyname [String] The ID of the account to retrieve
|
177
177
|
# @return [Object]
|
178
178
|
def get_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
|
179
|
-
get(path, {},
|
179
|
+
get(path, {}, AvaTax::VERSION) end
|
180
180
|
|
181
181
|
# Retrieve all license keys for this account
|
182
182
|
#
|
@@ -184,12 +184,12 @@ module AvaTax
|
|
184
184
|
#
|
185
185
|
# ### Security Policies
|
186
186
|
#
|
187
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
187
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
188
188
|
# Swagger Name: AvaTaxClient
|
189
189
|
# @param id [Integer] The ID of the account to retrieve
|
190
190
|
# @return [AccountLicenseKeyModel[]]
|
191
191
|
def get_license_keys(id) path = "/api/v2/accounts/#{id}/licensekeys"
|
192
|
-
get(path, {},
|
192
|
+
get(path, {}, AvaTax::VERSION) end
|
193
193
|
|
194
194
|
# Retrieve all accounts
|
195
195
|
#
|
@@ -208,7 +208,7 @@ module AvaTax
|
|
208
208
|
#
|
209
209
|
# ### Security Policies
|
210
210
|
#
|
211
|
-
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
211
|
+
# * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
|
212
212
|
# Swagger Name: AvaTaxClient
|
213
213
|
# @param include [String] A comma separated list of objects to fetch underneath this account. Any object with a URL path underneath this account can be fetched by specifying its name.
|
214
214
|
# @param filter [String] A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).<br />*Not filterable:* subscriptions, users
|
@@ -217,7 +217,7 @@ module AvaTax
|
|
217
217
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
218
218
|
# @return [FetchResult]
|
219
219
|
def query_accounts(options={}) path = "/api/v2/accounts"
|
220
|
-
get(path, options,
|
220
|
+
get(path, options, AvaTax::VERSION) end
|
221
221
|
|
222
222
|
# Change configuration settings for this account
|
223
223
|
#
|
@@ -242,7 +242,7 @@ module AvaTax
|
|
242
242
|
# @param model [AccountConfigurationModel[]]
|
243
243
|
# @return [AccountConfigurationModel[]]
|
244
244
|
def set_account_configuration(id, model) path = "/api/v2/accounts/#{id}/configuration"
|
245
|
-
post(path, model, {},
|
245
|
+
post(path, model, {}, AvaTax::VERSION) end
|
246
246
|
end
|
247
247
|
end
|
248
248
|
end
|
@@ -32,7 +32,7 @@ module AvaTax
|
|
32
32
|
# @param textCase [String] selectable text case for address validation (See TextCase::* for a list of allowable values)
|
33
33
|
# @return [Object]
|
34
34
|
def resolve_address(options={}) path = "/api/v2/addresses/resolve"
|
35
|
-
get(path, options,
|
35
|
+
get(path, options, AvaTax::VERSION) end
|
36
36
|
|
37
37
|
# Retrieve geolocation information for a specified address
|
38
38
|
#
|
@@ -51,7 +51,7 @@ module AvaTax
|
|
51
51
|
# @param model [Object] The address to resolve
|
52
52
|
# @return [Object]
|
53
53
|
def resolve_address_post(model) path = "/api/v2/addresses/resolve"
|
54
|
-
post(path, model, {},
|
54
|
+
post(path, model, {}, AvaTax::VERSION) end
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
@@ -12,7 +12,7 @@ module AvaTax
|
|
12
12
|
# @param model [Object] The lookup file you wish to create
|
13
13
|
# @return [Object]
|
14
14
|
def create_company_lookup_file(accountId, companyId, model) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
|
15
|
-
post(path, model, {},
|
15
|
+
post(path, model, {}, AvaTax::VERSION) end
|
16
16
|
|
17
17
|
# Delete a lookup file
|
18
18
|
#
|
@@ -22,7 +22,7 @@ module AvaTax
|
|
22
22
|
# @param id [String] The unique ID/GUID for the company lookup file to be deleted
|
23
23
|
# @return [ErrorDetail[]]
|
24
24
|
def delete_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
|
25
|
-
delete(path, {},
|
25
|
+
delete(path, {}, AvaTax::VERSION) end
|
26
26
|
|
27
27
|
# Get the lookup files for a company
|
28
28
|
#
|
@@ -32,7 +32,7 @@ module AvaTax
|
|
32
32
|
# @param companyId [Integer] The ID of the company for which to retrieve lookup files
|
33
33
|
# @return [FetchResult]
|
34
34
|
def get_company_lookup_files(accountId, companyId) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
|
35
|
-
get(path, {},
|
35
|
+
get(path, {}, AvaTax::VERSION) end
|
36
36
|
|
37
37
|
# Get a lookup file for an accountId and companyLookupFileId
|
38
38
|
#
|
@@ -42,7 +42,7 @@ module AvaTax
|
|
42
42
|
# @param id [String] The unique ID/GUID of the company lookup file to return
|
43
43
|
# @return [Object]
|
44
44
|
def get_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
|
45
|
-
get(path, {},
|
45
|
+
get(path, {}, AvaTax::VERSION) end
|
46
46
|
|
47
47
|
# Update a lookup file
|
48
48
|
#
|
@@ -53,7 +53,7 @@ module AvaTax
|
|
53
53
|
# @param model [Object] The new values to update the lookup file
|
54
54
|
# @return [Object]
|
55
55
|
def update_lookup_file(accountId, id, model) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
|
56
|
-
put(path, model, {},
|
56
|
+
put(path, model, {}, AvaTax::VERSION) end
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -3,6 +3,65 @@ module AvaTax
|
|
3
3
|
module AgeVerification
|
4
4
|
|
5
5
|
|
6
|
+
# Fetches a previously stored age verification response.
|
7
|
+
#
|
8
|
+
# The request must meet the following criteria in order to be evaluated:
|
9
|
+
# * *firstName*, *lastName*, and *address* are required fields.
|
10
|
+
# * One of the following sets of attributes are required for the *address*:
|
11
|
+
# * *line1, city, region*
|
12
|
+
# * *line1, postalCode*
|
13
|
+
#
|
14
|
+
# * Optionally, the request may use the following parameters:
|
15
|
+
# * A *DOB* (Date of Birth) field. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
16
|
+
# * Beyond the required *address* fields above, a *country* field is permitted
|
17
|
+
# * The valid values for this attribute are [*US, USA*]
|
18
|
+
# Swagger Name: AvaTaxBeverageClient
|
19
|
+
# @param model [Object] Information about the individual whose age is being verified.
|
20
|
+
# @return [Object]
|
21
|
+
def find_age_verification(model) path = "/api/v2/ageverification/store/identity/find"
|
22
|
+
put(path, model, {}, AvaTax::VERSION) end
|
23
|
+
|
24
|
+
# Stores an age verification response for the account.
|
25
|
+
#
|
26
|
+
# The request field must meet the following criteria in order to be evaluated:
|
27
|
+
# * *firstName*, *lastName*, and *address* are required fields.
|
28
|
+
# * One of the following sets of attributes are required for the *address*:
|
29
|
+
# * *line1, city, region*
|
30
|
+
# * *line1, postalCode*
|
31
|
+
#
|
32
|
+
# * Optionally, request field may use the following parameters:
|
33
|
+
# * A *DOB* (Date of Birth) field. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
34
|
+
# * Beyond the required *address* fields above, a *country* field is permitted
|
35
|
+
# * The valid values for this attribute are [*US, USA*]
|
36
|
+
#
|
37
|
+
#
|
38
|
+
# The response field must meet the following criteria in order to be evaluated:
|
39
|
+
# * *isOfAge*, *failureCodes* are required fields
|
40
|
+
# Swagger Name: AvaTaxBeverageClient
|
41
|
+
# @param model [Object] Information about the individual whose age has been verified and the corresponding age verification response.
|
42
|
+
# @return []
|
43
|
+
def store_age_verification(model) path = "/api/v2/ageverification/store/identity"
|
44
|
+
put(path, model, {}, AvaTax::VERSION) end
|
45
|
+
|
46
|
+
# Conditionally performs an age verification check. If a record matching the request is found in the internal store, the associated response is returned. Otherwise, an age verification check is performed and the response is stored if the individual is determined to be of age.
|
47
|
+
#
|
48
|
+
# The request must meet the following criteria in order to be evaluated:
|
49
|
+
# * *firstName*, *lastName*, and *address* are required fields.
|
50
|
+
# * One of the following sets of attributes are required for the *address*:
|
51
|
+
# * *line1, city, region*
|
52
|
+
# * *line1, postalCode*
|
53
|
+
#
|
54
|
+
# * Optionally, the request may use the following parameters:
|
55
|
+
# * A *DOB* (Date of Birth) field. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
56
|
+
# * Beyond the required *address* fields above, a *country* field is permitted
|
57
|
+
# * The valid values for this attribute are [*US, USA*]
|
58
|
+
# Swagger Name: AvaTaxBeverageClient
|
59
|
+
# @param simulatedFailureCode [String] (Optional) The failure code included in the simulated response of the endpoint. Note that this endpoint is only available in Sandbox for testing purposes.
|
60
|
+
# @param model [Object] Information about the individual whose age is being verified.
|
61
|
+
# @return [Object]
|
62
|
+
def store_if_verified(model, options={}) path = "/api/v2/ageverification/store/identity/storeIfVerified"
|
63
|
+
put(path, model, options, AvaTax::VERSION) end
|
64
|
+
|
6
65
|
# Determines whether an individual meets or exceeds the minimum legal drinking age.
|
7
66
|
#
|
8
67
|
# The request must meet the following criteria in order to be evaluated:
|
@@ -23,7 +82,7 @@ module AvaTax
|
|
23
82
|
# @param model [Object] Information about the individual whose age is being verified.
|
24
83
|
# @return [Object]
|
25
84
|
def verify_age(model, options={}) path = "/api/v2/ageverification/verify"
|
26
|
-
post(path, model, options,
|
85
|
+
post(path, model, options, AvaTax::VERSION) end
|
27
86
|
end
|
28
87
|
end
|
29
88
|
end
|
@@ -16,7 +16,7 @@ module AvaTax
|
|
16
16
|
# @param model [AvaFileFormModel[]] The AvaFileForm you wish to create.
|
17
17
|
# @return [AvaFileFormModel[]]
|
18
18
|
def create_ava_file_forms(model) path = "/api/v2/avafileforms"
|
19
|
-
post(path, model, {},
|
19
|
+
post(path, model, {}, AvaTax::VERSION) end
|
20
20
|
|
21
21
|
# Delete a single AvaFileForm
|
22
22
|
#
|
@@ -30,7 +30,7 @@ module AvaTax
|
|
30
30
|
# @param id [Integer] The ID of the AvaFileForm you wish to delete.
|
31
31
|
# @return [ErrorDetail[]]
|
32
32
|
def delete_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
|
33
|
-
delete(path, {},
|
33
|
+
delete(path, {}, AvaTax::VERSION) end
|
34
34
|
|
35
35
|
# Retrieve a single AvaFileForm
|
36
36
|
#
|
@@ -44,7 +44,7 @@ module AvaTax
|
|
44
44
|
# @param id [Integer] The primary key of this AvaFileForm
|
45
45
|
# @return [Object]
|
46
46
|
def get_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
|
47
|
-
get(path, {},
|
47
|
+
get(path, {}, AvaTax::VERSION) end
|
48
48
|
|
49
49
|
# Retrieve all AvaFileForms
|
50
50
|
#
|
@@ -62,7 +62,7 @@ module AvaTax
|
|
62
62
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
63
63
|
# @return [FetchResult]
|
64
64
|
def query_ava_file_forms(options={}) path = "/api/v2/avafileforms"
|
65
|
-
get(path, options,
|
65
|
+
get(path, options, AvaTax::VERSION) end
|
66
66
|
|
67
67
|
# Update a AvaFileForm
|
68
68
|
#
|
@@ -78,7 +78,7 @@ module AvaTax
|
|
78
78
|
# @param model [Object] The AvaFileForm model you wish to update.
|
79
79
|
# @return [Object]
|
80
80
|
def update_ava_file_form(id, model) path = "/api/v2/avafileforms/#{id}"
|
81
|
-
put(path, model, {},
|
81
|
+
put(path, model, {}, AvaTax::VERSION) end
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|
@@ -26,7 +26,7 @@ module AvaTax
|
|
26
26
|
# @param id [Integer] The ID of the batch to cancel.
|
27
27
|
# @return [Object]
|
28
28
|
def cancel_batch(companyId, id) path = "/api/v2/companies/#{companyId}/batches/#{id}/cancel"
|
29
|
-
post(path, {},
|
29
|
+
post(path, {}, {}, AvaTax::VERSION) end
|
30
30
|
|
31
31
|
# Create a new batch
|
32
32
|
#
|
@@ -58,7 +58,7 @@ module AvaTax
|
|
58
58
|
# @param model [BatchModel[]] The batch you wish to create.
|
59
59
|
# @return [BatchModel[]]
|
60
60
|
def create_batches(companyId, model) path = "/api/v2/companies/#{companyId}/batches"
|
61
|
-
post(path, model, {},
|
61
|
+
post(path, model, {}, AvaTax::VERSION) end
|
62
62
|
|
63
63
|
# Create a new transaction batch
|
64
64
|
#
|
@@ -88,7 +88,7 @@ module AvaTax
|
|
88
88
|
# @param model [Object] The transaction batch you wish to create.
|
89
89
|
# @return [Object]
|
90
90
|
def create_transaction_batch(companyId, model) path = "/api/v2/companies/#{companyId}/batches/transactions"
|
91
|
-
post(path, model, {},
|
91
|
+
post(path, model, {}, AvaTax::VERSION) end
|
92
92
|
|
93
93
|
# Delete a single batch
|
94
94
|
#
|
@@ -111,7 +111,7 @@ module AvaTax
|
|
111
111
|
# @param id [Integer] The ID of the batch to delete.
|
112
112
|
# @return [ErrorDetail[]]
|
113
113
|
def delete_batch(companyId, id) path = "/api/v2/companies/#{companyId}/batches/#{id}"
|
114
|
-
delete(path, {},
|
114
|
+
delete(path, {}, AvaTax::VERSION) end
|
115
115
|
|
116
116
|
# Download a single batch file
|
117
117
|
#
|
@@ -126,7 +126,7 @@ module AvaTax
|
|
126
126
|
# @param id [Integer] The primary key of this batch file object
|
127
127
|
# @return [Object]
|
128
128
|
def download_batch(companyId, batchId, id) path = "/api/v2/companies/#{companyId}/batches/#{batchId}/files/#{id}/attachment"
|
129
|
-
get(path, {},
|
129
|
+
get(path, {}, AvaTax::VERSION) end
|
130
130
|
|
131
131
|
# Retrieve a single batch
|
132
132
|
#
|
@@ -154,7 +154,7 @@ module AvaTax
|
|
154
154
|
# @param id [Integer] The primary key of this batch
|
155
155
|
# @return [Object]
|
156
156
|
def get_batch(companyId, id) path = "/api/v2/companies/#{companyId}/batches/#{id}"
|
157
|
-
get(path, {},
|
157
|
+
get(path, {}, AvaTax::VERSION) end
|
158
158
|
|
159
159
|
# Retrieve all batches for this company
|
160
160
|
#
|
@@ -192,7 +192,7 @@ module AvaTax
|
|
192
192
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
193
193
|
# @return [FetchResult]
|
194
194
|
def list_batches_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/batches"
|
195
|
-
get(path, options,
|
195
|
+
get(path, options, AvaTax::VERSION) end
|
196
196
|
|
197
197
|
# Retrieve all batches
|
198
198
|
#
|
@@ -226,7 +226,7 @@ module AvaTax
|
|
226
226
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
227
227
|
# @return [FetchResult]
|
228
228
|
def query_batches(options={}) path = "/api/v2/batches"
|
229
|
-
get(path, options,
|
229
|
+
get(path, options, AvaTax::VERSION) end
|
230
230
|
end
|
231
231
|
end
|
232
232
|
end
|
@@ -31,7 +31,7 @@ module AvaTax
|
|
31
31
|
# @param model [CreateCertExpressInvitationModel[]] the requests to send out to customers
|
32
32
|
# @return [CertExpressInvitationStatusModel[]]
|
33
33
|
def create_cert_express_invitation(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites"
|
34
|
-
post(path, model, {},
|
34
|
+
post(path, model, {}, AvaTax::VERSION) end
|
35
35
|
|
36
36
|
# Retrieve a single CertExpress invitation
|
37
37
|
#
|
@@ -62,7 +62,7 @@ module AvaTax
|
|
62
62
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
|
63
63
|
# @return [Object]
|
64
64
|
def get_cert_express_invitation(companyId, customerCode, id, options={}) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites/#{id}"
|
65
|
-
get(path, options,
|
65
|
+
get(path, options, AvaTax::VERSION) end
|
66
66
|
|
67
67
|
# List CertExpress invitations
|
68
68
|
#
|
@@ -95,7 +95,7 @@ module AvaTax
|
|
95
95
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
96
96
|
# @return [FetchResult]
|
97
97
|
def list_cert_express_invitations(companyId, options={}) path = "/api/v2/companies/#{companyId}/certexpressinvites"
|
98
|
-
get(path, options,
|
98
|
+
get(path, options, AvaTax::VERSION) end
|
99
99
|
end
|
100
100
|
end
|
101
101
|
end
|