avatax 22.8.0 → 23.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/gem-push.yml +3 -3
  3. data/.gitignore +2 -0
  4. data/README.md +1 -1
  5. data/avatax.gemspec +3 -3
  6. data/lib/avatax/api.rb +14 -0
  7. data/lib/avatax/client/accounts.rb +17 -17
  8. data/lib/avatax/client/addresses.rb +2 -2
  9. data/lib/avatax/client/advancedrules.rb +5 -5
  10. data/lib/avatax/client/ageverification.rb +60 -1
  11. data/lib/avatax/client/avafileforms.rb +5 -5
  12. data/lib/avatax/client/batches.rb +8 -8
  13. data/lib/avatax/client/certexpressinvites.rb +3 -3
  14. data/lib/avatax/client/certificates.rb +15 -15
  15. data/lib/avatax/client/companies.rb +36 -36
  16. data/lib/avatax/client/compliance.rb +1 -1
  17. data/lib/avatax/client/contacts.rb +6 -6
  18. data/lib/avatax/client/customers.rb +13 -13
  19. data/lib/avatax/client/datasources.rb +9 -9
  20. data/lib/avatax/client/definitions.rb +112 -78
  21. data/lib/avatax/client/distancethresholds.rb +6 -6
  22. data/lib/avatax/client/ecommercetoken.rb +4 -4
  23. data/lib/avatax/client/firmclientlinkages.rb +11 -11
  24. data/lib/avatax/client/free.rb +1 -1
  25. data/lib/avatax/client/fundingrequests.rb +3 -3
  26. data/lib/avatax/client/items.rb +52 -49
  27. data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
  28. data/lib/avatax/client/locations.rb +18 -18
  29. data/lib/avatax/client/multidocument.rb +10 -10
  30. data/lib/avatax/client/nexus.rb +15 -15
  31. data/lib/avatax/client/notices.rb +4 -4
  32. data/lib/avatax/client/notifications.rb +6 -6
  33. data/lib/avatax/client/provisioning.rb +2 -2
  34. data/lib/avatax/client/registrar.rb +32 -10
  35. data/lib/avatax/client/reports.rb +4 -4
  36. data/lib/avatax/client/settings.rb +9 -9
  37. data/lib/avatax/client/shippingverification.rb +4 -4
  38. data/lib/avatax/client/subscriptions.rb +3 -3
  39. data/lib/avatax/client/taxcodes.rb +9 -9
  40. data/lib/avatax/client/taxcontent.rb +16 -12
  41. data/lib/avatax/client/taxrules.rb +42 -6
  42. data/lib/avatax/client/transactions.rb +81 -22
  43. data/lib/avatax/client/upcs.rb +6 -6
  44. data/lib/avatax/client/userdefinedfields.rb +4 -4
  45. data/lib/avatax/client/users.rb +12 -12
  46. data/lib/avatax/client/utilities.rb +3 -3
  47. data/lib/avatax/client.rb +1 -0
  48. data/lib/avatax/configuration.rb +4 -1
  49. data/lib/avatax/connection.rb +17 -12
  50. data/lib/avatax/version.rb +1 -1
  51. data/spec/spec_helper.rb +2 -1
  52. metadata +10 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 497baeb2b861aa486b17458691a09d775e1c462b3997694f9cae65ea6671e115
4
- data.tar.gz: b63cb873a378c9356f18ae6df2fffe7decd89bc1ec46eb3d66361840869e54fc
3
+ metadata.gz: aeef1574896e478aa21341aff33fc8d664c1b130b3e13fc6d78bc3c5373d39bd
4
+ data.tar.gz: 3edafaf948b4592076b70ea2848c4a3dc130182f80ee4ab2fb7c81bd76e2e8bf
5
5
  SHA512:
6
- metadata.gz: c5afe7fbfc48665976a50eab02b2cb16dd3c1f9f808744c0034cfe7b1fa6a5ea5644043f8ab29a92fdaecd34c85eac37a1baf80457c87bab9b9947a9b10969e2
7
- data.tar.gz: d658b9841c05a2142a3801d2fddb9ee30dc8737d06b3cf48a872745bad8f064f09d26483f0dc2ee79d66602bed5b3680907f1c42d17108dea2ae6f355a3bb813
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: actions/setup-ruby@v1
18
+ uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: 2.6.x
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
@@ -12,6 +12,8 @@
12
12
  /example/credentials.yaml
13
13
  /spec/credentials.yaml
14
14
 
15
+ .idea
16
+
15
17
  # Used by dotenv library to load environment variables.
16
18
  # .env
17
19
 
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
- (http://developer.avatax.com).
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
- (http://developer.avatax.com/blog).
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, "22.8.0") end
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, {}, "22.8.0") end
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, "22.8.0") end
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, "22.8.0") end
98
+ get(path, options, AvaTax::VERSION) end
99
99
  end
100
100
  end
101
101
  end