avatax 21.12.0 → 22.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|