avatax 22.10.0 → 23.2.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 +51 -48
- data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
- data/lib/avatax/client/locations.rb +12 -12
- data/lib/avatax/client/multidocument.rb +10 -10
- data/lib/avatax/client/nexus.rb +15 -15
- data/lib/avatax/client/notices.rb +4 -4
- data/lib/avatax/client/notifications.rb +3 -3
- data/lib/avatax/client/provisioning.rb +2 -2
- data/lib/avatax/client/registrar.rb +14 -14
- data/lib/avatax/client/reports.rb +4 -4
- data/lib/avatax/client/settings.rb +6 -6
- data/lib/avatax/client/subscriptions.rb +3 -3
- data/lib/avatax/client/taxcodes.rb +6 -6
- data/lib/avatax/client/taxcontent.rb +5 -5
- data/lib/avatax/client/taxrules.rb +6 -6
- data/lib/avatax/client/transactions.rb +60 -22
- data/lib/avatax/client/upcs.rb +6 -6
- data/lib/avatax/client/userdefinedfields.rb +3 -3
- data/lib/avatax/client/users.rb +8 -8
- data/lib/avatax/client/utilities.rb +3 -3
- data/lib/avatax/configuration.rb +4 -1
- data/lib/avatax/connection.rb +6 -5
- data/lib/avatax/version.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55c2ec27025d5363b4188af602e207887bc80e8563f8ecbedf87e692e364ce99
|
4
|
+
data.tar.gz: a5550b4d18372ecdefc9d7fd61a45232b4fdcffeb96e6b4d3e69095f2138c079
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4824974b1849b5ac1630023120ade5ed309f85e3aef065c88016cb4207f492fe6b580dd0e7330d29722947b7b5fbcf6c09a408e4b4c0c848e3b1c3aa21e29478
|
7
|
+
data.tar.gz: 0e4220aee51e12aef4664ff4785bb881e1e9715ca4249084a0beffbbff7c4710a746ad80e721342bcf4c163edd8f4ad40c23c3e675e30dc3f1c4e7dcb25f0edb
|
@@ -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
@@ -7,6 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.add_runtime_dependency('faraday', '>= 0.10')
|
8
8
|
s.add_runtime_dependency('faraday_middleware', '>= 0.10')
|
9
9
|
s.add_runtime_dependency('multi_json', '>= 1.0.3')
|
10
|
+
s.add_runtime_dependency('activesupport', '>= 6.1.7')
|
10
11
|
s.authors = ["Marcus Vorwaller"]
|
11
12
|
s.description = %q{A Ruby wrapper for the AvaTax REST and Search APIs}
|
12
13
|
s.post_install_message =<<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, {}, "23.2.0") 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, {}, "23.2.0") end
|
55
55
|
|
56
56
|
# Retrieve audit history for an account.
|
57
57
|
#
|
@@ -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, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") end
|
126
126
|
|
127
127
|
# Retrieve a single account
|
128
128
|
#
|
@@ -140,7 +140,7 @@ module AvaTax
|
|
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, "23.2.0") end
|
144
144
|
|
145
145
|
# Get configuration settings for this account
|
146
146
|
#
|
@@ -164,7 +164,7 @@ module AvaTax
|
|
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, {}, "23.2.0") end
|
168
168
|
|
169
169
|
# Retrieve license key by license key name
|
170
170
|
#
|
@@ -176,7 +176,7 @@ module AvaTax
|
|
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, {}, "23.2.0") end
|
180
180
|
|
181
181
|
# Retrieve all license keys for this account
|
182
182
|
#
|
@@ -189,7 +189,7 @@ module AvaTax
|
|
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, {}, "23.2.0") end
|
193
193
|
|
194
194
|
# Retrieve all accounts
|
195
195
|
#
|
@@ -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, "23.2.0") 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, {}, "23.2.0") 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, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "") 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, {}, "") 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, "") 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:
|
@@ -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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, {}, "23.2.0") 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, "23.2.0") 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, "23.2.0") 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, {}, "23.2.0") 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, "23.2.0") 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, "23.2.0") end
|
99
99
|
end
|
100
100
|
end
|
101
101
|
end
|
@@ -37,7 +37,7 @@ module AvaTax
|
|
37
37
|
# @param model [CertificateModel[]] Certificates to be created
|
38
38
|
# @return [CertificateModel[]]
|
39
39
|
def create_certificates(companyId, model, options={}) path = "/api/v2/companies/#{companyId}/certificates"
|
40
|
-
post(path, model, options, "
|
40
|
+
post(path, model, options, "23.2.0") end
|
41
41
|
|
42
42
|
# Revoke and delete a certificate
|
43
43
|
#
|
@@ -64,7 +64,7 @@ module AvaTax
|
|
64
64
|
# @param id [Integer] The unique ID number of this certificate
|
65
65
|
# @return [ErrorDetail[]]
|
66
66
|
def delete_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
|
67
|
-
delete(path, {}, "
|
67
|
+
delete(path, {}, "23.2.0") end
|
68
68
|
|
69
69
|
# Download an image for this certificate
|
70
70
|
#
|
@@ -94,7 +94,7 @@ module AvaTax
|
|
94
94
|
# @param type [String] The data format in which to retrieve the certificate image (See CertificatePreviewType::* for a list of allowable values)
|
95
95
|
# @return [Object]
|
96
96
|
def download_certificate_image(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
|
97
|
-
get(path, options, "
|
97
|
+
get(path, options, "23.2.0") end
|
98
98
|
|
99
99
|
# Retrieve a single certificate
|
100
100
|
#
|
@@ -126,7 +126,7 @@ module AvaTax
|
|
126
126
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
|
127
127
|
# @return [Object]
|
128
128
|
def get_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
|
129
|
-
get(path, options, "
|
129
|
+
get(path, options, "23.2.0") end
|
130
130
|
|
131
131
|
# Check a company's exemption certificate status.
|
132
132
|
#
|
@@ -146,7 +146,7 @@ module AvaTax
|
|
146
146
|
# @param companyId [Integer] The company ID to check
|
147
147
|
# @return [Object]
|
148
148
|
def get_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
|
149
|
-
get(path, {}, "
|
149
|
+
get(path, {}, "23.2.0") end
|
150
150
|
|
151
151
|
# Link attributes to a certificate
|
152
152
|
#
|
@@ -175,7 +175,7 @@ module AvaTax
|
|
175
175
|
# @param model [CertificateAttributeModel[]] The list of attributes to link to this certificate.
|
176
176
|
# @return [FetchResult]
|
177
177
|
def link_attributes_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/link"
|
178
|
-
post(path, model, {}, "
|
178
|
+
post(path, model, {}, "23.2.0") end
|
179
179
|
|
180
180
|
# Link customers to a certificate
|
181
181
|
#
|
@@ -205,7 +205,7 @@ module AvaTax
|
|
205
205
|
# @param model [Object] The list of customers needed be added to the Certificate for exemption
|
206
206
|
# @return [FetchResult]
|
207
207
|
def link_customers_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/link"
|
208
|
-
post(path, model, {}, "
|
208
|
+
post(path, model, {}, "23.2.0") end
|
209
209
|
|
210
210
|
# List all attributes applied to this certificate
|
211
211
|
#
|
@@ -233,7 +233,7 @@ module AvaTax
|
|
233
233
|
# @param id [Integer] The unique ID number of this certificate
|
234
234
|
# @return [FetchResult]
|
235
235
|
def list_attributes_for_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes"
|
236
|
-
get(path, {}, "
|
236
|
+
get(path, {}, "23.2.0") end
|
237
237
|
|
238
238
|
# List customers linked to this certificate
|
239
239
|
#
|
@@ -262,7 +262,7 @@ module AvaTax
|
|
262
262
|
# @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
|
263
263
|
# @return [FetchResult]
|
264
264
|
def list_customers_for_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers"
|
265
|
-
get(path, options, "
|
265
|
+
get(path, options, "23.2.0") end
|
266
266
|
|
267
267
|
# List all certificates for a company
|
268
268
|
#
|
@@ -297,7 +297,7 @@ module AvaTax
|
|
297
297
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
298
298
|
# @return [FetchResult]
|
299
299
|
def query_certificates(companyId, options={}) path = "/api/v2/companies/#{companyId}/certificates"
|
300
|
-
get(path, options, "
|
300
|
+
get(path, options, "23.2.0") end
|
301
301
|
|
302
302
|
# Request setup of exemption certificates for this company.
|
303
303
|
#
|
@@ -319,7 +319,7 @@ module AvaTax
|
|
319
319
|
# @param companyId [Integer]
|
320
320
|
# @return [Object]
|
321
321
|
def request_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
|
322
|
-
post(path, {}, "
|
322
|
+
post(path, {}, "23.2.0") end
|
323
323
|
|
324
324
|
# Unlink attributes from a certificate
|
325
325
|
#
|
@@ -348,7 +348,7 @@ module AvaTax
|
|
348
348
|
# @param model [CertificateAttributeModel[]] The list of attributes to unlink from this certificate.
|
349
349
|
# @return [FetchResult]
|
350
350
|
def unlink_attributes_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/unlink"
|
351
|
-
post(path, model, {}, "
|
351
|
+
post(path, model, {}, "23.2.0") end
|
352
352
|
|
353
353
|
# Unlink customers from a certificate
|
354
354
|
#
|
@@ -379,7 +379,7 @@ module AvaTax
|
|
379
379
|
# @param model [Object] The list of customers to unlink from this certificate
|
380
380
|
# @return [FetchResult]
|
381
381
|
def unlink_customers_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/unlink"
|
382
|
-
post(path, model, {}, "
|
382
|
+
post(path, model, {}, "23.2.0") end
|
383
383
|
|
384
384
|
# Update a single certificate
|
385
385
|
#
|
@@ -405,7 +405,7 @@ module AvaTax
|
|
405
405
|
# @param model [Object] The new certificate object that will replace the existing one
|
406
406
|
# @return [Object]
|
407
407
|
def update_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
|
408
|
-
put(path, model, {}, "
|
408
|
+
put(path, model, {}, "23.2.0") end
|
409
409
|
|
410
410
|
# Upload an image or PDF attachment for this certificate
|
411
411
|
#
|
@@ -434,7 +434,7 @@ module AvaTax
|
|
434
434
|
# @param file [Object] The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
|
435
435
|
# @return [String]
|
436
436
|
def upload_certificate_image(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
|
437
|
-
post(path, {}, "
|
437
|
+
post(path, {}, "23.2.0") end
|
438
438
|
end
|
439
439
|
end
|
440
440
|
end
|