avatax 21.12.0 → 22.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +55 -55
- data/.rspec +1 -1
- data/.travis.yml +18 -18
- data/.vs/VSWorkspaceState.json +5 -5
- data/.yardopts +4 -4
- data/Gemfile +2 -2
- data/LICENSE +201 -201
- data/README.md +98 -98
- data/Rakefile +9 -9
- data/avatax.gemspec +38 -38
- data/example/avatax.rb +47 -47
- data/example/credentials.example.yaml +5 -5
- data/lib/avatax/api.rb +27 -27
- 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/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 +40 -21
- 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 +75 -72
- data/lib/avatax/client/distancethresholds.rb +6 -6
- data/lib/avatax/client/ecms.rb +73 -73
- data/lib/avatax/client/ecommercetoken.rb +2 -2
- data/lib/avatax/client/errortransactions.rb +61 -61
- data/lib/avatax/client/filingcalendars.rb +3 -3
- data/lib/avatax/client/filings.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 +165 -28
- 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/onboarding.rb +55 -55
- data/lib/avatax/client/pointofsale.rb +21 -21
- data/lib/avatax/client/provisioning.rb +2 -2
- data/lib/avatax/client/registrar.rb +10 -21
- data/lib/avatax/client/reports.rb +4 -4
- data/lib/avatax/client/settings.rb +6 -6
- data/lib/avatax/client/shippingverification.rb +25 -9
- 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/taxprofiles.rb +42 -42
- data/lib/avatax/client/taxrules.rb +6 -6
- data/lib/avatax/client/transactions.rb +22 -23
- 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/client.rb +37 -37
- data/lib/avatax/configuration.rb +76 -76
- data/lib/avatax/connection.rb +49 -49
- data/lib/avatax/request.rb +51 -50
- data/lib/avatax/version.rb +3 -3
- data/lib/avatax.rb +26 -26
- data/spec/avatax/client/accounts_spec.rb +13 -13
- data/spec/avatax/client/transactions_spec.rb +80 -80
- data/spec/avatax/request_spec.rb +25 -25
- data/spec/avatax_spec.rb +45 -45
- data/spec/credentials.yaml.example +4 -4
- data/spec/fixtures/accounts.json +15 -15
- data/spec/spec_helper.rb +27 -27
- metadata +6 -13
data/lib/avatax/client/nexus.rb
CHANGED
@@ -33,7 +33,7 @@ module AvaTax
|
|
33
33
|
# @param model [NexusModel[]] The nexus you wish to create.
|
34
34
|
# @return [NexusModel[]]
|
35
35
|
def create_nexus(companyId, model) path = "/api/v2/companies/#{companyId}/nexus"
|
36
|
-
post(path, model, {}, "
|
36
|
+
post(path, model, {}, "22.3.0") end
|
37
37
|
|
38
38
|
# Add parameters to a nexus.
|
39
39
|
#
|
@@ -57,7 +57,7 @@ module AvaTax
|
|
57
57
|
# @param model [NexusParameterDetailModel[]] The nexus parameters you wish to create.
|
58
58
|
# @return [NexusParameterDetailModel[]]
|
59
59
|
def create_nexus_parameters(companyId, nexusId, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
|
60
|
-
post(path, model, {}, "
|
60
|
+
post(path, model, {}, "22.3.0") end
|
61
61
|
|
62
62
|
# Creates nexus for a list of addresses.
|
63
63
|
#
|
@@ -85,7 +85,7 @@ module AvaTax
|
|
85
85
|
# @param model [DeclareNexusByAddressModel[]] The nexus you wish to create.
|
86
86
|
# @return [NexusByAddressModel[]]
|
87
87
|
def declare_nexus_by_address(companyId, model) path = "/api/v2/companies/#{companyId}/nexus/byaddress"
|
88
|
-
post(path, model, {}, "
|
88
|
+
post(path, model, {}, "22.3.0") end
|
89
89
|
|
90
90
|
# Delete a single nexus
|
91
91
|
#
|
@@ -107,7 +107,7 @@ module AvaTax
|
|
107
107
|
# @param cascadeDelete [Boolean] If true, deletes all the child nexus if they exist along with parent nexus
|
108
108
|
# @return [ErrorDetail[]]
|
109
109
|
def delete_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
|
110
|
-
delete(path, options, "
|
110
|
+
delete(path, options, "22.3.0") end
|
111
111
|
|
112
112
|
# Delete a single nexus parameter
|
113
113
|
#
|
@@ -127,7 +127,7 @@ module AvaTax
|
|
127
127
|
# @param id [Integer] The parameter id
|
128
128
|
# @return [ErrorDetail[]]
|
129
129
|
def delete_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
|
130
|
-
delete(path, {}, "
|
130
|
+
delete(path, {}, "22.3.0") end
|
131
131
|
|
132
132
|
# Delete all parameters for an nexus
|
133
133
|
#
|
@@ -146,7 +146,7 @@ module AvaTax
|
|
146
146
|
# @param nexusId [Integer] The ID of the nexus you wish to delete the parameters.
|
147
147
|
# @return [ErrorDetail[]]
|
148
148
|
def delete_nexus_parameters(companyId, nexusId) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
|
149
|
-
delete(path, {}, "
|
149
|
+
delete(path, {}, "22.3.0") end
|
150
150
|
|
151
151
|
# Retrieve a single nexus
|
152
152
|
#
|
@@ -168,7 +168,7 @@ module AvaTax
|
|
168
168
|
# @param include [String]
|
169
169
|
# @return [Object]
|
170
170
|
def get_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
|
171
|
-
get(path, options, "
|
171
|
+
get(path, options, "22.3.0") end
|
172
172
|
|
173
173
|
# List company nexus related to a tax form
|
174
174
|
#
|
@@ -194,7 +194,7 @@ module AvaTax
|
|
194
194
|
# @param include [String]
|
195
195
|
# @return [Object]
|
196
196
|
def get_nexus_by_form_code(companyId, formCode, options={}) path = "/api/v2/companies/#{companyId}/nexus/byform/#{formCode}"
|
197
|
-
get(path, options, "
|
197
|
+
get(path, options, "22.3.0") end
|
198
198
|
|
199
199
|
# Retrieve a single nexus parameter
|
200
200
|
#
|
@@ -214,7 +214,7 @@ module AvaTax
|
|
214
214
|
# @param id [Integer] The parameter id
|
215
215
|
# @return [Object]
|
216
216
|
def get_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
|
217
|
-
get(path, {}, "
|
217
|
+
get(path, {}, "22.3.0") end
|
218
218
|
|
219
219
|
# Retrieve nexus for this company
|
220
220
|
#
|
@@ -242,7 +242,7 @@ module AvaTax
|
|
242
242
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
243
243
|
# @return [FetchResult]
|
244
244
|
def list_nexus_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/nexus"
|
245
|
-
get(path, options, "
|
245
|
+
get(path, options, "22.3.0") end
|
246
246
|
|
247
247
|
# Retrieve nexus for this company By TaxTypeGroup
|
248
248
|
#
|
@@ -271,7 +271,7 @@ module AvaTax
|
|
271
271
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
272
272
|
# @return [FetchResult]
|
273
273
|
def list_nexus_by_company_and_tax_type_group(companyId, taxTypeGroup, options={}) path = "/api/v2/companies/#{companyId}/nexus/byTaxTypeGroup/#{taxTypeGroup}"
|
274
|
-
get(path, options, "
|
274
|
+
get(path, options, "22.3.0") end
|
275
275
|
|
276
276
|
# Retrieve parameters for a nexus
|
277
277
|
#
|
@@ -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 list_nexus_parameters(companyId, nexusId, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
|
300
|
-
get(path, options, "
|
300
|
+
get(path, options, "22.3.0") end
|
301
301
|
|
302
302
|
# Retrieve all nexus
|
303
303
|
#
|
@@ -324,7 +324,7 @@ module AvaTax
|
|
324
324
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
325
325
|
# @return [FetchResult]
|
326
326
|
def query_nexus(options={}) path = "/api/v2/nexus"
|
327
|
-
get(path, options, "
|
327
|
+
get(path, options, "22.3.0") end
|
328
328
|
|
329
329
|
# Update a single nexus
|
330
330
|
#
|
@@ -357,7 +357,7 @@ module AvaTax
|
|
357
357
|
# @param model [Object] The nexus object you wish to update.
|
358
358
|
# @return [Object]
|
359
359
|
def update_nexus(companyId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
|
360
|
-
put(path, model, {}, "
|
360
|
+
put(path, model, {}, "22.3.0") end
|
361
361
|
|
362
362
|
# Update an nexus parameter
|
363
363
|
#
|
@@ -379,7 +379,7 @@ module AvaTax
|
|
379
379
|
# @param model [Object] The nexus object you wish to update.
|
380
380
|
# @return [Object]
|
381
381
|
def update_nexus_parameter(companyId, nexusId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
|
382
|
-
put(path, model, {}, "
|
382
|
+
put(path, model, {}, "22.3.0") end
|
383
383
|
end
|
384
384
|
end
|
385
385
|
end
|
@@ -15,7 +15,7 @@ module AvaTax
|
|
15
15
|
# @param model [Object] The responsibility type to create
|
16
16
|
# @return [Object]
|
17
17
|
def create_notice_responsibility_type(model) path = "/api/v2/notices/responsibilities"
|
18
|
-
post(path, model, {}, "
|
18
|
+
post(path, model, {}, "22.3.0") end
|
19
19
|
|
20
20
|
# Creates a new tax notice root cause type.
|
21
21
|
#
|
@@ -29,7 +29,7 @@ module AvaTax
|
|
29
29
|
# @param model [Object] The root cause type to create
|
30
30
|
# @return [Object]
|
31
31
|
def create_notice_root_cause_type(model) path = "/api/v2/notices/rootcauses"
|
32
|
-
post(path, model, {}, "
|
32
|
+
post(path, model, {}, "22.3.0") end
|
33
33
|
|
34
34
|
# Delete a tax notice responsibility type.
|
35
35
|
#
|
@@ -42,7 +42,7 @@ module AvaTax
|
|
42
42
|
# @param responsibilityId [Integer] The unique ID of the responsibility type
|
43
43
|
# @return [ErrorDetail[]]
|
44
44
|
def delete_notice_responsibility_type(responsibilityId) path = "/api/v2/notices/responsibilities/#{responsibilityId}"
|
45
|
-
delete(path, {}, "
|
45
|
+
delete(path, {}, "22.3.0") end
|
46
46
|
|
47
47
|
# Delete a tax notice root cause type.
|
48
48
|
#
|
@@ -55,7 +55,7 @@ module AvaTax
|
|
55
55
|
# @param rootCauseId [Integer] The unique ID of the root cause type
|
56
56
|
# @return [ErrorDetail[]]
|
57
57
|
def delete_notice_root_cause_type(rootCauseId) path = "/api/v2/notices/rootcauses/#{rootCauseId}"
|
58
|
-
delete(path, {}, "
|
58
|
+
delete(path, {}, "22.3.0") end
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -27,7 +27,7 @@ module AvaTax
|
|
27
27
|
# @param id [Integer] The id of the notification you wish to mark as dismissed.
|
28
28
|
# @return [Object]
|
29
29
|
def dismiss_notification(id) path = "/api/v2/notifications/#{id}/dismiss"
|
30
|
-
put(path, {}, "
|
30
|
+
put(path, {}, "22.3.0") end
|
31
31
|
|
32
32
|
# Retrieve a single notification.
|
33
33
|
#
|
@@ -47,7 +47,7 @@ module AvaTax
|
|
47
47
|
# @param id [Integer] The id of the notification to retrieve.
|
48
48
|
# @return [Object]
|
49
49
|
def get_notification(id) path = "/api/v2/notifications/#{id}"
|
50
|
-
get(path, {}, "
|
50
|
+
get(path, {}, "22.3.0") end
|
51
51
|
|
52
52
|
# List all notifications.
|
53
53
|
#
|
@@ -73,7 +73,7 @@ module AvaTax
|
|
73
73
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
74
74
|
# @return [FetchResult]
|
75
75
|
def list_notifications(options={}) path = "/api/v2/notifications"
|
76
|
-
get(path, options, "
|
76
|
+
get(path, options, "22.3.0") end
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
@@ -1,56 +1,56 @@
|
|
1
|
-
module AvaTax
|
2
|
-
class Client
|
3
|
-
module Onboarding
|
4
|
-
|
5
|
-
|
6
|
-
# Request a new Avalara account
|
7
|
-
#
|
8
|
-
# This API is for use by partner onboarding services customers only.
|
9
|
-
#
|
10
|
-
# Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features
|
11
|
-
# of AvaTax. These partners can create accounts for new customers using this API.
|
12
|
-
#
|
13
|
-
# Calling this API creates an account with the specified product subscriptions, but does not configure billing.
|
14
|
-
# The customer will receive information from Avalara about how to configure billing for their account.
|
15
|
-
# You should call this API when a customer has requested to begin using Avalara services.
|
16
|
-
#
|
17
|
-
# If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara
|
18
|
-
# terms and conditions. If they do so, they can receive a license key as part of this API and their
|
19
|
-
# API will be created in `Active` status. If the customer has not yet read and accepted these terms and
|
20
|
-
# conditions, the account will be created in `New` status and they can receive a license key by logging
|
21
|
-
# onto the AvaTax website and reviewing terms and conditions online.
|
22
|
-
#
|
23
|
-
# ### Security Policies
|
24
|
-
#
|
25
|
-
# * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
|
26
|
-
# * This API is available by invitation only.
|
27
|
-
# * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
|
28
|
-
# @param model [Object] Information about the account you wish to create and the selected product offerings.
|
29
|
-
# @return [Object]
|
30
|
-
def request_new_account(model)
|
31
|
-
path = "/api/v2/accounts/request"
|
32
|
-
post(path, model)
|
33
|
-
end
|
34
|
-
|
35
|
-
|
36
|
-
# Request a new entitilement to an existing customer
|
37
|
-
#
|
38
|
-
# This API is for use by partner onboarding services customers only. This will allow the partners to allow
|
39
|
-
# the add new entitlement to an existing customer
|
40
|
-
#
|
41
|
-
# ### Security Policies
|
42
|
-
#
|
43
|
-
# * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
|
44
|
-
# * This API is available by invitation only.
|
45
|
-
# * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
|
46
|
-
# @param id [Integer] The avatax account id of the customer
|
47
|
-
# @param offer [String] The offer to be added to an already existing customer
|
48
|
-
# @return [Object]
|
49
|
-
def request_new_entitlement(id, offer)
|
50
|
-
path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
|
51
|
-
post(path)
|
52
|
-
end
|
53
|
-
|
54
|
-
end
|
55
|
-
end
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module Onboarding
|
4
|
+
|
5
|
+
|
6
|
+
# Request a new Avalara account
|
7
|
+
#
|
8
|
+
# This API is for use by partner onboarding services customers only.
|
9
|
+
#
|
10
|
+
# Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features
|
11
|
+
# of AvaTax. These partners can create accounts for new customers using this API.
|
12
|
+
#
|
13
|
+
# Calling this API creates an account with the specified product subscriptions, but does not configure billing.
|
14
|
+
# The customer will receive information from Avalara about how to configure billing for their account.
|
15
|
+
# You should call this API when a customer has requested to begin using Avalara services.
|
16
|
+
#
|
17
|
+
# If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara
|
18
|
+
# terms and conditions. If they do so, they can receive a license key as part of this API and their
|
19
|
+
# API will be created in `Active` status. If the customer has not yet read and accepted these terms and
|
20
|
+
# conditions, the account will be created in `New` status and they can receive a license key by logging
|
21
|
+
# onto the AvaTax website and reviewing terms and conditions online.
|
22
|
+
#
|
23
|
+
# ### Security Policies
|
24
|
+
#
|
25
|
+
# * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
|
26
|
+
# * This API is available by invitation only.
|
27
|
+
# * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
|
28
|
+
# @param model [Object] Information about the account you wish to create and the selected product offerings.
|
29
|
+
# @return [Object]
|
30
|
+
def request_new_account(model)
|
31
|
+
path = "/api/v2/accounts/request"
|
32
|
+
post(path, model)
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
# Request a new entitilement to an existing customer
|
37
|
+
#
|
38
|
+
# This API is for use by partner onboarding services customers only. This will allow the partners to allow
|
39
|
+
# the add new entitlement to an existing customer
|
40
|
+
#
|
41
|
+
# ### Security Policies
|
42
|
+
#
|
43
|
+
# * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
|
44
|
+
# * This API is available by invitation only.
|
45
|
+
# * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
|
46
|
+
# @param id [Integer] The avatax account id of the customer
|
47
|
+
# @param offer [String] The offer to be added to an already existing customer
|
48
|
+
# @return [Object]
|
49
|
+
def request_new_entitlement(id, offer)
|
50
|
+
path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
|
51
|
+
post(path)
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
56
56
|
end
|
@@ -1,22 +1,22 @@
|
|
1
|
-
module AvaTax
|
2
|
-
class Client
|
3
|
-
module PointOfSale
|
4
|
-
|
5
|
-
|
6
|
-
# Point of sale data file generation
|
7
|
-
#
|
8
|
-
# Builds a point-of-sale data file containing tax rates and rules for items and locations that can be used
|
9
|
-
# to correctly calculate tax in the event a point-of-sale device is not able to reach AvaTax.
|
10
|
-
# This data file can be customized for specific partner devices and usage conditions.
|
11
|
-
# The result of this API is the file you requested in the format you requested using the 'responseType' field.
|
12
|
-
# This API builds the file on demand, and is limited to files with no more than 7500 scenarios.
|
13
|
-
# @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
|
14
|
-
# @return [Object]
|
15
|
-
def build_point_of_sale_data_file(model)
|
16
|
-
path = "/api/v2/pointofsaledata/build"
|
17
|
-
post(path, model)
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|
1
|
+
module AvaTax
|
2
|
+
class Client
|
3
|
+
module PointOfSale
|
4
|
+
|
5
|
+
|
6
|
+
# Point of sale data file generation
|
7
|
+
#
|
8
|
+
# Builds a point-of-sale data file containing tax rates and rules for items and locations that can be used
|
9
|
+
# to correctly calculate tax in the event a point-of-sale device is not able to reach AvaTax.
|
10
|
+
# This data file can be customized for specific partner devices and usage conditions.
|
11
|
+
# The result of this API is the file you requested in the format you requested using the 'responseType' field.
|
12
|
+
# This API builds the file on demand, and is limited to files with no more than 7500 scenarios.
|
13
|
+
# @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
|
14
|
+
# @return [Object]
|
15
|
+
def build_point_of_sale_data_file(model)
|
16
|
+
path = "/api/v2/pointofsaledata/build"
|
17
|
+
post(path, model)
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
22
|
end
|
@@ -29,7 +29,7 @@ module AvaTax
|
|
29
29
|
# @param model [Object] Information about the account you wish to create and the selected product offerings.
|
30
30
|
# @return [Object]
|
31
31
|
def request_new_account(model) path = "/api/v2/accounts/request"
|
32
|
-
post(path, model, {}, "
|
32
|
+
post(path, model, {}, "22.3.0") end
|
33
33
|
|
34
34
|
# Request a new entitilement to an existing customer
|
35
35
|
#
|
@@ -46,7 +46,7 @@ module AvaTax
|
|
46
46
|
# @param offer [String] The offer to be added to an already existing customer
|
47
47
|
# @return [Object]
|
48
48
|
def request_new_entitlement(id, offer) path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
|
49
|
-
post(path, {}, "
|
49
|
+
post(path, {}, "22.3.0") end
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -18,7 +18,7 @@ module AvaTax
|
|
18
18
|
# @param model [Object] The account you wish to create.
|
19
19
|
# @return [AccountModel[]]
|
20
20
|
def create_account(model) path = "/api/v2/accounts"
|
21
|
-
post(path, model, {}, "
|
21
|
+
post(path, model, {}, "22.3.0") end
|
22
22
|
|
23
23
|
# Create new notifications.
|
24
24
|
#
|
@@ -44,7 +44,7 @@ module AvaTax
|
|
44
44
|
# @param model [NotificationModel[]] The notifications you wish to create.
|
45
45
|
# @return [NotificationModel[]]
|
46
46
|
def create_notifications(model) path = "/api/v2/notifications"
|
47
|
-
post(path, model, {}, "
|
47
|
+
post(path, model, {}, "22.3.0") end
|
48
48
|
|
49
49
|
# Create a new subscription
|
50
50
|
#
|
@@ -62,7 +62,7 @@ module AvaTax
|
|
62
62
|
# @param model [SubscriptionModel[]] The subscription you wish to create.
|
63
63
|
# @return [SubscriptionModel[]]
|
64
64
|
def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
|
65
|
-
post(path, model, {}, "
|
65
|
+
post(path, model, {}, "22.3.0") end
|
66
66
|
|
67
67
|
# Delete a single account
|
68
68
|
#
|
@@ -79,7 +79,7 @@ module AvaTax
|
|
79
79
|
# @param id [Integer] The ID of the account you wish to delete.
|
80
80
|
# @return [ErrorDetail[]]
|
81
81
|
def delete_account(id) path = "/api/v2/accounts/#{id}"
|
82
|
-
delete(path, {}, "
|
82
|
+
delete(path, {}, "22.3.0") end
|
83
83
|
|
84
84
|
# Delete a single notification.
|
85
85
|
#
|
@@ -102,7 +102,7 @@ module AvaTax
|
|
102
102
|
# @param id [Integer] The id of the notification you wish to delete.
|
103
103
|
# @return [ErrorDetail[]]
|
104
104
|
def delete_notification(id) path = "/api/v2/notifications/#{id}"
|
105
|
-
delete(path, {}, "
|
105
|
+
delete(path, {}, "22.3.0") end
|
106
106
|
|
107
107
|
# Delete a single subscription
|
108
108
|
#
|
@@ -119,18 +119,7 @@ module AvaTax
|
|
119
119
|
# @param id [Integer] The ID of the subscription you wish to delete.
|
120
120
|
# @return [ErrorDetail[]]
|
121
121
|
def delete_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
|
122
|
-
delete(path, {}, "
|
123
|
-
|
124
|
-
# Retrieve List of Accounts by Account Migration Status
|
125
|
-
#
|
126
|
-
# ### Security Policies
|
127
|
-
#
|
128
|
-
# * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
|
129
|
-
# Swagger Name: AvaTaxClient
|
130
|
-
# @param writeMode [String] (See TssAccountMigrationId::* for a list of allowable values)
|
131
|
-
# @return [Object]
|
132
|
-
def list_accounts_by_tss_write_mode(writeMode) path = "/api/v2/accounts/ListAccountsByTssWriteMode/#{writeMode}"
|
133
|
-
get(path, {}, "21.12.0") end
|
122
|
+
delete(path, {}, "22.3.0") end
|
134
123
|
|
135
124
|
# Reset a user's password programmatically
|
136
125
|
#
|
@@ -151,7 +140,7 @@ module AvaTax
|
|
151
140
|
# @param model [Object] The new password for this user
|
152
141
|
# @return [String]
|
153
142
|
def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
|
154
|
-
post(path, model, options, "
|
143
|
+
post(path, model, options, "22.3.0") end
|
155
144
|
|
156
145
|
# Update a single account
|
157
146
|
#
|
@@ -168,7 +157,7 @@ module AvaTax
|
|
168
157
|
# @param model [Object] The account object you wish to update.
|
169
158
|
# @return [Object]
|
170
159
|
def update_account(id, model) path = "/api/v2/accounts/#{id}"
|
171
|
-
put(path, model, {}, "
|
160
|
+
put(path, model, {}, "22.3.0") end
|
172
161
|
|
173
162
|
# Update a single notification.
|
174
163
|
#
|
@@ -192,7 +181,7 @@ module AvaTax
|
|
192
181
|
# @param model [Object] The notification object you wish to update.
|
193
182
|
# @return [Object]
|
194
183
|
def update_notification(id, model) path = "/api/v2/notifications/#{id}"
|
195
|
-
put(path, model, {}, "
|
184
|
+
put(path, model, {}, "22.3.0") end
|
196
185
|
|
197
186
|
# Update a single subscription
|
198
187
|
#
|
@@ -214,7 +203,7 @@ module AvaTax
|
|
214
203
|
# @param model [Object] The subscription you wish to update.
|
215
204
|
# @return [Object]
|
216
205
|
def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
|
217
|
-
put(path, model, {}, "
|
206
|
+
put(path, model, {}, "22.3.0") end
|
218
207
|
end
|
219
208
|
end
|
220
209
|
end
|
@@ -27,7 +27,7 @@ module AvaTax
|
|
27
27
|
# @param id [Integer] The unique ID number of this report
|
28
28
|
# @return [Object]
|
29
29
|
def download_report(id) path = "/api/v2/reports/#{id}/attachment"
|
30
|
-
get(path, {}, "
|
30
|
+
get(path, {}, "22.3.0") end
|
31
31
|
|
32
32
|
# Retrieve a single report
|
33
33
|
#
|
@@ -46,7 +46,7 @@ module AvaTax
|
|
46
46
|
# @param id [Integer] The unique ID number of the report to retrieve
|
47
47
|
# @return [Object]
|
48
48
|
def get_report(id) path = "/api/v2/reports/#{id}"
|
49
|
-
get(path, {}, "
|
49
|
+
get(path, {}, "22.3.0") end
|
50
50
|
|
51
51
|
# Initiate an ExportDocumentLine report task
|
52
52
|
#
|
@@ -79,7 +79,7 @@ module AvaTax
|
|
79
79
|
# @param model [Object] Options that may be configured to customize the report.
|
80
80
|
# @return [ReportModel[]]
|
81
81
|
def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
|
82
|
-
post(path, model, {}, "
|
82
|
+
post(path, model, {}, "22.3.0") end
|
83
83
|
|
84
84
|
# List all report tasks for account
|
85
85
|
#
|
@@ -105,7 +105,7 @@ module AvaTax
|
|
105
105
|
# @param top [Integer] If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
|
106
106
|
# @return [FetchResult]
|
107
107
|
def list_reports(options={}) path = "/api/v2/reports"
|
108
|
-
get(path, options, "
|
108
|
+
get(path, options, "22.3.0") end
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
@@ -29,7 +29,7 @@ module AvaTax
|
|
29
29
|
# @param model [SettingModel[]] The setting you wish to create.
|
30
30
|
# @return [SettingModel[]]
|
31
31
|
def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
|
32
|
-
post(path, model, {}, "
|
32
|
+
post(path, model, {}, "22.3.0") end
|
33
33
|
|
34
34
|
# Delete a single setting
|
35
35
|
#
|
@@ -52,7 +52,7 @@ module AvaTax
|
|
52
52
|
# @param id [Integer] The ID of the setting you wish to delete.
|
53
53
|
# @return [ErrorDetail[]]
|
54
54
|
def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
|
55
|
-
delete(path, {}, "
|
55
|
+
delete(path, {}, "22.3.0") end
|
56
56
|
|
57
57
|
# Retrieve a single setting
|
58
58
|
#
|
@@ -75,7 +75,7 @@ module AvaTax
|
|
75
75
|
# @param id [Integer] The primary key of this setting
|
76
76
|
# @return [Object]
|
77
77
|
def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
|
78
|
-
get(path, {}, "
|
78
|
+
get(path, {}, "22.3.0") end
|
79
79
|
|
80
80
|
# Retrieve all settings for this company
|
81
81
|
#
|
@@ -105,7 +105,7 @@ module AvaTax
|
|
105
105
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
106
106
|
# @return [FetchResult]
|
107
107
|
def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
|
108
|
-
get(path, options, "
|
108
|
+
get(path, options, "22.3.0") end
|
109
109
|
|
110
110
|
# Retrieve all settings
|
111
111
|
#
|
@@ -134,7 +134,7 @@ module AvaTax
|
|
134
134
|
# @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
|
135
135
|
# @return [FetchResult]
|
136
136
|
def query_settings(options={}) path = "/api/v2/settings"
|
137
|
-
get(path, options, "
|
137
|
+
get(path, options, "22.3.0") end
|
138
138
|
|
139
139
|
# Update a single setting
|
140
140
|
#
|
@@ -162,7 +162,7 @@ module AvaTax
|
|
162
162
|
# @param model [Object] The setting you wish to update.
|
163
163
|
# @return [Object]
|
164
164
|
def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
|
165
|
-
put(path, model, {}, "
|
165
|
+
put(path, model, {}, "22.3.0") end
|
166
166
|
end
|
167
167
|
end
|
168
168
|
end
|
@@ -10,9 +10,13 @@ module AvaTax
|
|
10
10
|
# @param companyCode [String] The company code of the company that recorded the transaction
|
11
11
|
# @param transactionCode [String] The transaction code to retrieve
|
12
12
|
# @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
|
13
|
+
# @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
|
14
|
+
# @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
|
13
15
|
# @return []
|
14
|
-
def deregister_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
|
15
|
-
|
16
|
+
def deregister_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
|
17
|
+
headers= Hash.new
|
18
|
+
headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
|
19
|
+
delete(path, options, "", headers) end
|
16
20
|
|
17
21
|
# Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
|
18
22
|
#
|
@@ -21,9 +25,13 @@ module AvaTax
|
|
21
25
|
# @param companyCode [String] The company code of the company that recorded the transaction
|
22
26
|
# @param transactionCode [String] The transaction code to retrieve
|
23
27
|
# @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
|
28
|
+
# @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
|
29
|
+
# @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
|
24
30
|
# @return []
|
25
|
-
def register_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
|
26
|
-
|
31
|
+
def register_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
|
32
|
+
headers= Hash.new
|
33
|
+
headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
|
34
|
+
put(path, options, "", headers) end
|
27
35
|
|
28
36
|
# Evaluates a transaction against a set of direct-to-consumer shipping regulations and, if compliant, registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
|
29
37
|
#
|
@@ -32,9 +40,13 @@ module AvaTax
|
|
32
40
|
# @param companyCode [String] The company code of the company that recorded the transaction
|
33
41
|
# @param transactionCode [String] The transaction code to retrieve
|
34
42
|
# @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
|
43
|
+
# @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
|
44
|
+
# @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
|
35
45
|
# @return [Object]
|
36
|
-
def register_shipment_if_compliant(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registerIfCompliant"
|
37
|
-
|
46
|
+
def register_shipment_if_compliant(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registerIfCompliant"
|
47
|
+
headers= Hash.new
|
48
|
+
headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
|
49
|
+
put(path, options, "", headers) end
|
38
50
|
|
39
51
|
# Evaluates a transaction against a set of direct-to-consumer shipping regulations.
|
40
52
|
#
|
@@ -44,13 +56,13 @@ module AvaTax
|
|
44
56
|
# * A parameter with the name *RecipientName* must be specified and the value must be the name of the recipient.
|
45
57
|
# * Each alcohol line must include a *ContainerSize* parameter that describes the volume of a single container. Use the *unit* field to specify one of the following units: '*Litre*', '*Millilitre*', '*gallon (US fluid)*', '*quart (US fluid)*', '*ounce (fluid US customary)*'
|
46
58
|
# * Each alcohol line must include a *PackSize* parameter that describes the number of containers in a pack. Specify *Count* in the *unit* field.
|
59
|
+
# * Each alcohol line must include a *AlcoholContent* parameter that describes the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field. If unable to provide this parameter, use version 2.1 of the API.
|
47
60
|
#
|
48
61
|
# Optionally, the transaction and its lines may use the following parameters:
|
49
62
|
# * The *ShipDate* parameter may be used if the date of shipment is different than the date of the transaction. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
50
63
|
# * The *RecipientDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
51
64
|
# * The *PurchaserDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
|
52
65
|
# * The *SalesLocation* parameter may be used to describe whether the sale was made *OnSite* or *OffSite*. *OffSite* is the default value.
|
53
|
-
# * The *AlcoholContent* parameter may be used to describe the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field.
|
54
66
|
#
|
55
67
|
# **Security Policies**
|
56
68
|
# This API depends on all of the following active subscriptions: *AvaAlcohol, AutoAddress, AvaTaxPro*
|
@@ -58,9 +70,13 @@ module AvaTax
|
|
58
70
|
# @param companyCode [String] The company code of the company that recorded the transaction
|
59
71
|
# @param transactionCode [String] The transaction code to retrieve
|
60
72
|
# @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
|
73
|
+
# @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
|
74
|
+
# @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
|
61
75
|
# @return [Object]
|
62
|
-
def verify_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
|
63
|
-
|
76
|
+
def verify_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
|
77
|
+
headers= Hash.new
|
78
|
+
headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
|
79
|
+
get(path, options, "", headers) end
|
64
80
|
end
|
65
81
|
end
|
66
82
|
end
|