avatax 21.8.0 → 22.2.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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +55 -55
  3. data/.rspec +1 -1
  4. data/.travis.yml +18 -18
  5. data/.vs/VSWorkspaceState.json +5 -5
  6. data/.yardopts +4 -4
  7. data/Gemfile +2 -2
  8. data/LICENSE +201 -201
  9. data/README.md +98 -98
  10. data/Rakefile +9 -9
  11. data/avatax.gemspec +38 -38
  12. data/example/avatax.rb +47 -47
  13. data/example/credentials.example.yaml +5 -5
  14. data/lib/avatax/api.rb +27 -27
  15. data/lib/avatax/client/accounts.rb +94 -83
  16. data/lib/avatax/client/addresses.rb +22 -20
  17. data/lib/avatax/client/advancedrules.rb +46 -41
  18. data/lib/avatax/client/ageverification.rb +29 -0
  19. data/lib/avatax/client/avafileforms.rb +46 -41
  20. data/lib/avatax/client/batches.rb +70 -62
  21. data/lib/avatax/client/certexpressinvites.rb +30 -27
  22. data/lib/avatax/client/certificates.rb +126 -111
  23. data/lib/avatax/client/companies.rb +192 -152
  24. data/lib/avatax/client/compliance.rb +25 -14
  25. data/lib/avatax/client/contacts.rb +54 -48
  26. data/lib/avatax/client/customers.rb +110 -97
  27. data/lib/avatax/client/datasources.rb +54 -48
  28. data/lib/avatax/client/definitions.rb +620 -446
  29. data/lib/avatax/client/distancethresholds.rb +54 -48
  30. data/lib/avatax/client/ecms.rb +73 -73
  31. data/lib/avatax/client/ecommercetoken.rb +20 -18
  32. data/lib/avatax/client/errortransactions.rb +61 -61
  33. data/lib/avatax/client/filingcalendars.rb +44 -20
  34. data/lib/avatax/client/filings.rb +24 -20
  35. data/lib/avatax/client/firmclientlinkages.rb +78 -69
  36. data/lib/avatax/client/free.rb +14 -13
  37. data/lib/avatax/client/fundingrequests.rb +22 -20
  38. data/lib/avatax/client/items.rb +206 -181
  39. data/lib/avatax/client/jurisdictionoverrides.rb +54 -48
  40. data/lib/avatax/client/locations.rb +102 -90
  41. data/lib/avatax/client/multidocument.rb +86 -76
  42. data/lib/avatax/client/nexus.rb +146 -103
  43. data/lib/avatax/client/notices.rb +30 -26
  44. data/lib/avatax/client/notifications.rb +30 -27
  45. data/lib/avatax/client/onboarding.rb +55 -55
  46. data/lib/avatax/client/pointofsale.rb +21 -21
  47. data/lib/avatax/client/provisioning.rb +22 -20
  48. data/lib/avatax/client/registrar.rb +94 -83
  49. data/lib/avatax/client/reports.rb +38 -34
  50. data/lib/avatax/client/settings.rb +54 -48
  51. data/lib/avatax/client/shippingverification.rb +66 -0
  52. data/lib/avatax/client/subscriptions.rb +30 -27
  53. data/lib/avatax/client/taxcodes.rb +54 -48
  54. data/lib/avatax/client/taxcontent.rb +46 -41
  55. data/lib/avatax/client/taxprofiles.rb +42 -42
  56. data/lib/avatax/client/taxrules.rb +56 -50
  57. data/lib/avatax/client/transactions.rb +174 -153
  58. data/lib/avatax/client/upcs.rb +54 -48
  59. data/lib/avatax/client/userdefinedfields.rb +52 -0
  60. data/lib/avatax/client/users.rb +70 -62
  61. data/lib/avatax/client/utilities.rb +30 -27
  62. data/lib/avatax/client.rb +37 -35
  63. data/lib/avatax/configuration.rb +76 -76
  64. data/lib/avatax/connection.rb +49 -49
  65. data/lib/avatax/request.rb +51 -42
  66. data/lib/avatax/version.rb +3 -3
  67. data/lib/avatax.rb +26 -26
  68. data/spec/avatax/client/accounts_spec.rb +13 -13
  69. data/spec/avatax/client/transactions_spec.rb +80 -80
  70. data/spec/avatax/request_spec.rb +25 -25
  71. data/spec/avatax_spec.rb +45 -45
  72. data/spec/credentials.yaml.example +4 -4
  73. data/spec/fixtures/accounts.json +15 -15
  74. data/spec/spec_helper.rb +27 -27
  75. metadata +9 -13
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Accounts
4
-
5
-
6
- # Reset this account's license key
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Accounts
4
+
5
+
6
+ # Reset this account's license key
7
+ #
8
8
  # Resets the existing license key for this account to a new key.
9
9
  #
10
10
  # To reset your account, you must specify the ID of the account you wish to reset and confirm the action.
@@ -22,15 +22,16 @@ module AvaTax
22
22
  #
23
23
  # ### Security Policies
24
24
  #
25
- # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
25
+ # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
26
+ # Swagger Name: AvaTaxClient
26
27
  # @param id [Integer] The ID of the account you wish to update.
27
28
  # @param model [Object] A request confirming that you wish to reset the license key of this account.
28
- # @return [Object]
29
- def account_reset_license_key(id, model) path = "/api/v2/accounts/#{id}/resetlicensekey"
30
- post(path, model) end
31
-
32
- # Activate an account by accepting terms and conditions
33
- #
29
+ # @return [Object]
30
+ def account_reset_license_key(id, model) path = "/api/v2/accounts/#{id}/resetlicensekey"
31
+ post(path, model, {}, "22.2.0") end
32
+
33
+ # Activate an account by accepting terms and conditions
34
+ #
34
35
  # Activate the account specified by the unique accountId number.
35
36
  #
36
37
  # This activation request can only be called by account administrators. You must indicate
@@ -44,15 +45,16 @@ module AvaTax
44
45
  #
45
46
  # ### Security Policies
46
47
  #
47
- # * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
48
+ # * This API requires one of the following user roles: AccountAdmin, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
49
+ # Swagger Name: AvaTaxClient
48
50
  # @param id [Integer] The ID of the account to activate
49
51
  # @param model [Object] The activation request
50
- # @return [Object]
51
- def activate_account(id, model) path = "/api/v2/accounts/#{id}/activate"
52
- post(path, model) end
53
-
54
- # Retrieve audit history for an account.
55
- #
52
+ # @return [Object]
53
+ def activate_account(id, model) path = "/api/v2/accounts/#{id}/activate"
54
+ post(path, model, {}, "22.2.0") end
55
+
56
+ # Retrieve audit history for an account.
57
+ #
56
58
  # Retrieve audit trace history for an account.
57
59
  #
58
60
  # Your audit trace history contains a record of all API calls made against the AvaTax REST API that returned an error. You can use this API to investigate
@@ -70,18 +72,19 @@ module AvaTax
70
72
  #
71
73
  # ### Security Policies
72
74
  #
73
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
75
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
76
+ # Swagger Name: AvaTaxClient
74
77
  # @param id [Integer] The ID of the account you wish to audit.
75
78
  # @param start [DateTime] The start datetime of audit history you with to retrieve, e.g. "2018-06-08T17:00:00Z". Defaults to the past 15 minutes.
76
79
  # @param end [DateTime] The end datetime of audit history you with to retrieve, e.g. "2018-06-08T17:15:00Z. Defaults to the current time. Maximum of an hour after the start time.
77
80
  # @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.
78
81
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
79
- # @return [FetchResult]
80
- def audit_account(id, options={}) path = "/api/v2/accounts/#{id}/audit"
81
- get(path, options) end
82
-
83
- # Create license key for this account
84
- #
82
+ # @return [FetchResult]
83
+ def audit_account(id, options={}) path = "/api/v2/accounts/#{id}/audit"
84
+ get(path, options, "22.2.0") end
85
+
86
+ # Create license key for this account
87
+ #
85
88
  # Creates a new license key for this account.
86
89
  #
87
90
  # To create a license key for your account, you must specify the ID of the account and license key name.
@@ -95,15 +98,16 @@ module AvaTax
95
98
  #
96
99
  # ### Security Policies
97
100
  #
98
- # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
101
+ # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
102
+ # Swagger Name: AvaTaxClient
99
103
  # @param id [Integer] The ID of the account you wish to update.
100
104
  # @param model [Object]
101
- # @return [Object]
102
- def create_license_key(id, model) path = "/api/v2/accounts/#{id}/licensekey"
103
- post(path, model) end
104
-
105
- # Delete license key for this account by license key name
106
- #
105
+ # @return [Object]
106
+ def create_license_key(id, model) path = "/api/v2/accounts/#{id}/licensekey"
107
+ post(path, model, {}, "22.2.0") end
108
+
109
+ # Delete license key for this account by license key name
110
+ #
107
111
  # Deletes the license key for this account using license key name.
108
112
  #
109
113
  # To delete a license key for your account, you must specify the accountID of the account and license key name.
@@ -112,15 +116,16 @@ module AvaTax
112
116
  #
113
117
  # ### Security Policies
114
118
  #
115
- # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
119
+ # * This API requires one of the following user roles: AccountAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
120
+ # Swagger Name: AvaTaxClient
116
121
  # @param id [Integer] The ID of the account you wish to update.
117
122
  # @param licensekeyname [String] The license key name you wish to update.
118
- # @return [ErrorDetail[]]
119
- def delete_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
120
- delete(path) end
121
-
122
- # Retrieve a single account
123
- #
123
+ # @return [ErrorDetail[]]
124
+ def delete_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
125
+ delete(path, {}, "22.2.0") end
126
+
127
+ # Retrieve a single account
128
+ #
124
129
  # Get the account object identified by this URL.
125
130
  # You may use the '$include' parameter to fetch additional nested data:
126
131
  #
@@ -129,15 +134,16 @@ module AvaTax
129
134
  #
130
135
  # ### Security Policies
131
136
  #
132
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
137
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
138
+ # Swagger Name: AvaTaxClient
133
139
  # @param id [Integer] The ID of the account to retrieve
134
140
  # @param include [String] A comma separated list of special fetch options
135
- # @return [Object]
136
- def get_account(id, options={}) path = "/api/v2/accounts/#{id}"
137
- get(path, options) end
138
-
139
- # Get configuration settings for this account
140
- #
141
+ # @return [Object]
142
+ def get_account(id, options={}) path = "/api/v2/accounts/#{id}"
143
+ get(path, options, "22.2.0") end
144
+
145
+ # Get configuration settings for this account
146
+ #
141
147
  # Retrieve a list of all configuration settings tied to this account.
142
148
  #
143
149
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -153,37 +159,40 @@ module AvaTax
153
159
  #
154
160
  # ### Security Policies
155
161
  #
156
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
162
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
163
+ # Swagger Name: AvaTaxClient
157
164
  # @param id [Integer]
158
- # @return [AccountConfigurationModel[]]
159
- def get_account_configuration(id) path = "/api/v2/accounts/#{id}/configuration"
160
- get(path) end
161
-
162
- # Retrieve license key by license key name
163
- #
165
+ # @return [AccountConfigurationModel[]]
166
+ def get_account_configuration(id) path = "/api/v2/accounts/#{id}/configuration"
167
+ get(path, {}, "22.2.0") end
168
+
169
+ # Retrieve license key by license key name
170
+ #
164
171
  # ### Security Policies
165
172
  #
166
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
173
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
174
+ # Swagger Name: AvaTaxClient
167
175
  # @param id [Integer] The ID of the account to retrieve
168
176
  # @param licensekeyname [String] The ID of the account to retrieve
169
- # @return [Object]
170
- def get_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
171
- get(path) end
172
-
173
- # Retrieve all license keys for this account
174
- #
177
+ # @return [Object]
178
+ def get_license_key(id, licensekeyname) path = "/api/v2/accounts/#{id}/licensekey/#{licensekeyname}"
179
+ get(path, {}, "22.2.0") end
180
+
181
+ # Retrieve all license keys for this account
182
+ #
175
183
  # Gets list of all the license keys used by the account.
176
184
  #
177
185
  # ### Security Policies
178
186
  #
179
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
187
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
188
+ # Swagger Name: AvaTaxClient
180
189
  # @param id [Integer] The ID of the account to retrieve
181
- # @return [AccountLicenseKeyModel[]]
182
- def get_license_keys(id) path = "/api/v2/accounts/#{id}/licensekeys"
183
- get(path) end
184
-
185
- # Retrieve all accounts
186
- #
190
+ # @return [AccountLicenseKeyModel[]]
191
+ def get_license_keys(id) path = "/api/v2/accounts/#{id}/licensekeys"
192
+ get(path, {}, "22.2.0") end
193
+
194
+ # Retrieve all accounts
195
+ #
187
196
  # List all account objects that can be seen by the current user.
188
197
  #
189
198
  # This API lists all accounts you are allowed to see. In general, most users will only be able to see their own account.
@@ -199,18 +208,19 @@ module AvaTax
199
208
  #
200
209
  # ### Security Policies
201
210
  #
202
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
211
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
212
+ # Swagger Name: AvaTaxClient
203
213
  # @param include [String] A comma separated list of objects to fetch underneath this account. Any object with a URL path underneath this account can be fetched by specifying its name.
204
214
  # @param filter [String] A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).<br />*Not filterable:* subscriptions, users
205
215
  # @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.
206
216
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
207
217
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
208
- # @return [FetchResult]
209
- def query_accounts(options={}) path = "/api/v2/accounts"
210
- get(path, options) end
211
-
212
- # Change configuration settings for this account
213
- #
218
+ # @return [FetchResult]
219
+ def query_accounts(options={}) path = "/api/v2/accounts"
220
+ get(path, options, "22.2.0") end
221
+
222
+ # Change configuration settings for this account
223
+ #
214
224
  # Update configuration settings tied to this account.
215
225
  #
216
226
  # Configuration settings provide you with the ability to control features of your account and of your
@@ -226,12 +236,13 @@ module AvaTax
226
236
  #
227
237
  # ### Security Policies
228
238
  #
229
- # * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
239
+ # * This API requires one of the following user roles: AccountAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
240
+ # Swagger Name: AvaTaxClient
230
241
  # @param id [Integer]
231
242
  # @param model [AccountConfigurationModel[]]
232
- # @return [AccountConfigurationModel[]]
233
- def set_account_configuration(id, model) path = "/api/v2/accounts/#{id}/configuration"
234
- post(path, model) end
235
- end
236
- end
243
+ # @return [AccountConfigurationModel[]]
244
+ def set_account_configuration(id, model) path = "/api/v2/accounts/#{id}/configuration"
245
+ post(path, model, {}, "22.2.0") end
246
+ end
247
+ end
237
248
  end
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Addresses
4
-
5
-
6
- # Retrieve geolocation information for a specified address
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Addresses
4
+
5
+
6
+ # Retrieve geolocation information for a specified address
7
+ #
8
8
  # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
9
9
  # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
10
10
  # to identify how closely this address can be located. If the address cannot be clearly located, use the
@@ -20,7 +20,8 @@ module AvaTax
20
20
  # ### Security Policies
21
21
  #
22
22
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
23
- # * This API depends on the following active services:*Required* (all): AutoAddress.
23
+ # * This API depends on the following active services:*Required* (all): AutoAddress.
24
+ # Swagger Name: AvaTaxClient
24
25
  # @param line1 [String] Line 1
25
26
  # @param line2 [String] Line 2
26
27
  # @param line3 [String] Line 3
@@ -29,12 +30,12 @@ module AvaTax
29
30
  # @param postalCode [String] Postal Code / Zip Code
30
31
  # @param country [String] Two character ISO 3166 Country Code (see /api/v2/definitions/countries for a full list)
31
32
  # @param textCase [String] selectable text case for address validation (See TextCase::* for a list of allowable values)
32
- # @return [Object]
33
- def resolve_address(options={}) path = "/api/v2/addresses/resolve"
34
- get(path, options) end
35
-
36
- # Retrieve geolocation information for a specified address
37
- #
33
+ # @return [Object]
34
+ def resolve_address(options={}) path = "/api/v2/addresses/resolve"
35
+ get(path, options, "22.2.0") end
36
+
37
+ # Retrieve geolocation information for a specified address
38
+ #
38
39
  # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
39
40
  # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
40
41
  # to identify how closely this address can be located. If the address cannot be clearly located, use the
@@ -45,11 +46,12 @@ module AvaTax
45
46
  # ### Security Policies
46
47
  #
47
48
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
48
- # * This API depends on the following active services:*Required* (all): AutoAddress.
49
+ # * This API depends on the following active services:*Required* (all): AutoAddress.
50
+ # Swagger Name: AvaTaxClient
49
51
  # @param model [Object] The address to resolve
50
- # @return [Object]
51
- def resolve_address_post(model) path = "/api/v2/addresses/resolve"
52
- post(path, model) end
53
- end
54
- end
52
+ # @return [Object]
53
+ def resolve_address_post(model) path = "/api/v2/addresses/resolve"
54
+ post(path, model, {}, "22.2.0") end
55
+ end
56
+ end
55
57
  end
@@ -1,54 +1,59 @@
1
- module AvaTax
2
- class Client
3
- module AdvancedRules
4
-
5
-
6
- # Create a lookup file for a company
7
- #
8
- #
1
+ module AvaTax
2
+ class Client
3
+ module AdvancedRules
4
+
5
+
6
+ # Create a lookup file for a company
7
+ #
8
+ #
9
+ # Swagger Name: AvaTaxClient
9
10
  # @param accountId [Integer] The ID of the account for the company
10
11
  # @param companyId [Integer] The ID of the company for which the lookup file is to be created
11
12
  # @param model [Object] The lookup file you wish to create
12
- # @return [Object]
13
- def create_company_lookup_file(accountId, companyId, model) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
14
- post(path, model) end
15
-
16
- # Delete a lookup file
17
- #
18
- #
13
+ # @return [Object]
14
+ def create_company_lookup_file(accountId, companyId, model) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
15
+ post(path, model, {}, "22.2.0") end
16
+
17
+ # Delete a lookup file
18
+ #
19
+ #
20
+ # Swagger Name: AvaTaxClient
19
21
  # @param accountId [Integer] The ID of the account for the company the lookup file is for
20
22
  # @param id [String] The unique ID/GUID for the company lookup file to be deleted
21
- # @return [ErrorDetail[]]
22
- def delete_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
23
- delete(path) end
24
-
25
- # Get the lookup files for a company
26
- #
27
- #
23
+ # @return [ErrorDetail[]]
24
+ def delete_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
25
+ delete(path, {}, "22.2.0") end
26
+
27
+ # Get the lookup files for a company
28
+ #
29
+ #
30
+ # Swagger Name: AvaTaxClient
28
31
  # @param accountId [Integer] The account ID for the company
29
32
  # @param companyId [Integer] The ID of the company for which to retrieve lookup files
30
- # @return [FetchResult]
31
- def get_company_lookup_files(accountId, companyId) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
32
- get(path) end
33
-
34
- # Get a lookup file for an accountId and companyLookupFileId
35
- #
36
- #
33
+ # @return [FetchResult]
34
+ def get_company_lookup_files(accountId, companyId) path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
35
+ get(path, {}, "22.2.0") end
36
+
37
+ # Get a lookup file for an accountId and companyLookupFileId
38
+ #
39
+ #
40
+ # Swagger Name: AvaTaxClient
37
41
  # @param accountId [Integer] The ID of the account for the lookup file
38
42
  # @param id [String] The unique ID/GUID of the company lookup file to return
39
- # @return [Object]
40
- def get_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
41
- get(path) end
42
-
43
- # Update a lookup file
44
- #
45
- #
43
+ # @return [Object]
44
+ def get_lookup_file(accountId, id) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
45
+ get(path, {}, "22.2.0") end
46
+
47
+ # Update a lookup file
48
+ #
49
+ #
50
+ # Swagger Name: AvaTaxClient
46
51
  # @param accountId [Integer] The ID of the account for the company the lookup file is for
47
52
  # @param id [String] The unique ID/GUID of the company lookup file to be updated
48
53
  # @param model [Object] The new values to update the lookup file
49
- # @return [Object]
50
- def update_lookup_file(accountId, id, model) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
51
- put(path, model) end
52
- end
53
- end
54
+ # @return [Object]
55
+ def update_lookup_file(accountId, id, model) path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
56
+ put(path, model, {}, "22.2.0") end
57
+ end
58
+ end
54
59
  end
@@ -0,0 +1,29 @@
1
+ module AvaTax
2
+ class Client
3
+ module AgeVerification
4
+
5
+
6
+ # Determines whether an individual meets or exceeds the minimum legal drinking age.
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 transaction and its lines 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
+ #
19
+ # **Security Policies**
20
+ # This API depends on the active subscription *AgeVerification*
21
+ # Swagger Name: AvaTaxBeverageClient
22
+ # @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.
23
+ # @param model [Object] Information about the individual whose age is being verified.
24
+ # @return [Object]
25
+ def verify_age(model, options={}) path = "/api/v2/ageverification/verify"
26
+ post(path, model, options, "") end
27
+ end
28
+ end
29
+ end
@@ -1,79 +1,84 @@
1
- module AvaTax
2
- class Client
3
- module AvaFileForms
4
-
5
-
6
- # Create a new AvaFileForm
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module AvaFileForms
4
+
5
+
6
+ # Create a new AvaFileForm
7
+ #
8
8
  # Create one or more AvaFileForms
9
9
  # A 'AvaFileForm' represents a form supported by our returns team
10
10
  #
11
11
  # ### Security Policies
12
12
  #
13
13
  # * This API requires the user role Compliance Root User.
14
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
14
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
15
+ # Swagger Name: AvaTaxClient
15
16
  # @param model [AvaFileFormModel[]] The AvaFileForm you wish to create.
16
- # @return [AvaFileFormModel[]]
17
- def create_ava_file_forms(model) path = "/api/v2/avafileforms"
18
- post(path, model) end
19
-
20
- # Delete a single AvaFileForm
21
- #
17
+ # @return [AvaFileFormModel[]]
18
+ def create_ava_file_forms(model) path = "/api/v2/avafileforms"
19
+ post(path, model, {}, "22.2.0") end
20
+
21
+ # Delete a single AvaFileForm
22
+ #
22
23
  # Marks the existing AvaFileForm object at this URL as deleted.
23
24
  #
24
25
  # ### Security Policies
25
26
  #
26
27
  # * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin.
27
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
28
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
29
+ # Swagger Name: AvaTaxClient
28
30
  # @param id [Integer] The ID of the AvaFileForm you wish to delete.
29
- # @return [ErrorDetail[]]
30
- def delete_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
31
- delete(path) end
32
-
33
- # Retrieve a single AvaFileForm
34
- #
31
+ # @return [ErrorDetail[]]
32
+ def delete_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
33
+ delete(path, {}, "22.2.0") end
34
+
35
+ # Retrieve a single AvaFileForm
36
+ #
35
37
  # Get the AvaFileForm object identified by this URL.
36
38
  #
37
39
  # ### Security Policies
38
40
  #
39
41
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
40
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
42
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
43
+ # Swagger Name: AvaTaxClient
41
44
  # @param id [Integer] The primary key of this AvaFileForm
42
- # @return [Object]
43
- def get_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
44
- get(path) end
45
-
46
- # Retrieve all AvaFileForms
47
- #
45
+ # @return [Object]
46
+ def get_ava_file_form(id) path = "/api/v2/avafileforms/#{id}"
47
+ get(path, {}, "22.2.0") end
48
+
49
+ # Retrieve all AvaFileForms
50
+ #
48
51
  # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
49
52
  # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
50
53
  #
51
54
  # ### Security Policies
52
55
  #
53
56
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
54
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
57
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
58
+ # Swagger Name: AvaTaxClient
55
59
  # @param filter [String] A filter statement to identify specific records to retrieve. For more information on filtering, see [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/).<br />*Not filterable:* outletTypeId
56
60
  # @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.
57
61
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
58
62
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
59
- # @return [FetchResult]
60
- def query_ava_file_forms(options={}) path = "/api/v2/avafileforms"
61
- get(path, options) end
62
-
63
- # Update a AvaFileForm
64
- #
63
+ # @return [FetchResult]
64
+ def query_ava_file_forms(options={}) path = "/api/v2/avafileforms"
65
+ get(path, options, "22.2.0") end
66
+
67
+ # Update a AvaFileForm
68
+ #
65
69
  # All data from the existing object will be replaced with data in the object you PUT.
66
70
  # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
67
71
  #
68
72
  # ### Security Policies
69
73
  #
70
74
  # * This API requires the user role Compliance Root User.
71
- # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
75
+ # * This API depends on the following active services:*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
76
+ # Swagger Name: AvaTaxClient
72
77
  # @param id [Integer] The ID of the AvaFileForm you wish to update
73
78
  # @param model [Object] The AvaFileForm model you wish to update.
74
- # @return [Object]
75
- def update_ava_file_form(id, model) path = "/api/v2/avafileforms/#{id}"
76
- put(path, model) end
77
- end
78
- end
79
+ # @return [Object]
80
+ def update_ava_file_form(id, model) path = "/api/v2/avafileforms/#{id}"
81
+ put(path, model, {}, "22.2.0") end
82
+ end
83
+ end
79
84
  end