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 Nexus
4
-
5
-
6
- # Create a new nexus
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Nexus
4
+
5
+
6
+ # Create a new nexus
7
+ #
8
8
  # Creates one or more new nexus declarations attached to this company.
9
9
  #
10
10
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -27,15 +27,16 @@ module AvaTax
27
27
  #
28
28
  # ### Security Policies
29
29
  #
30
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
30
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
31
+ # Swagger Name: AvaTaxClient
31
32
  # @param companyId [Integer] The ID of the company that owns this nexus.
32
33
  # @param model [NexusModel[]] The nexus you wish to create.
33
- # @return [NexusModel[]]
34
- def create_nexus(companyId, model) path = "/api/v2/companies/#{companyId}/nexus"
35
- post(path, model) end
36
-
37
- # Add parameters to a nexus.
38
- #
34
+ # @return [NexusModel[]]
35
+ def create_nexus(companyId, model) path = "/api/v2/companies/#{companyId}/nexus"
36
+ post(path, model, {}, "22.2.0") end
37
+
38
+ # Add parameters to a nexus.
39
+ #
39
40
  # Add parameters to the nexus.
40
41
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
41
42
  #
@@ -49,16 +50,17 @@ module AvaTax
49
50
  #
50
51
  # ### Security Policies
51
52
  #
52
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
53
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
54
+ # Swagger Name: AvaTaxClient
53
55
  # @param companyId [Integer] The ID of the company that owns this nexus parameter.
54
56
  # @param nexusId [Integer] The nexus id.
55
57
  # @param model [NexusParameterDetailModel[]] The nexus parameters you wish to create.
56
- # @return [NexusParameterDetailModel[]]
57
- def create_nexus_parameters(companyId, nexusId, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
58
- post(path, model) end
59
-
60
- # Creates nexus for a list of addresses.
61
- #
58
+ # @return [NexusParameterDetailModel[]]
59
+ def create_nexus_parameters(companyId, nexusId, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
60
+ post(path, model, {}, "22.2.0") end
61
+
62
+ # Creates nexus for a list of addresses.
63
+ #
62
64
  # This call is intended to simplify adding all applicable nexus to a company, for an address or addresses. Calling this
63
65
  # API declares nexus for this company, for the list of addresses provided,
64
66
  # for the date range provided. You may also use this API to extend effective date on an already-declared nexus.
@@ -77,15 +79,16 @@ module AvaTax
77
79
  #
78
80
  # ### Security Policies
79
81
  #
80
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
82
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
83
+ # Swagger Name: AvaTaxClient
81
84
  # @param companyId [Integer] The ID of the company that will own this nexus.
82
85
  # @param model [DeclareNexusByAddressModel[]] The nexus you wish to create.
83
- # @return [NexusByAddressModel[]]
84
- def declare_nexus_by_address(companyId, model) path = "/api/v2/companies/#{companyId}/nexus/byaddress"
85
- post(path, model) end
86
-
87
- # Delete a single nexus
88
- #
86
+ # @return [NexusByAddressModel[]]
87
+ def declare_nexus_by_address(companyId, model) path = "/api/v2/companies/#{companyId}/nexus/byaddress"
88
+ post(path, model, {}, "22.2.0") end
89
+
90
+ # Delete a single nexus
91
+ #
89
92
  # Marks the existing nexus object at this URL as deleted.
90
93
  #
91
94
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -97,16 +100,17 @@ module AvaTax
97
100
  #
98
101
  # ### Security Policies
99
102
  #
100
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
103
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
104
+ # Swagger Name: AvaTaxClient
101
105
  # @param companyId [Integer] The ID of the company that owns this nexus.
102
106
  # @param id [Integer] The ID of the nexus you wish to delete.
103
107
  # @param cascadeDelete [Boolean] If true, deletes all the child nexus if they exist along with parent nexus
104
- # @return [ErrorDetail[]]
105
- def delete_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
106
- delete(path, options) end
107
-
108
- # Delete a single nexus parameter
109
- #
108
+ # @return [ErrorDetail[]]
109
+ def delete_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
110
+ delete(path, options, "22.2.0") end
111
+
112
+ # Delete a single nexus parameter
113
+ #
110
114
  # Delete a single nexus parameter.
111
115
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
112
116
  #
@@ -116,16 +120,17 @@ module AvaTax
116
120
  #
117
121
  # ### Security Policies
118
122
  #
119
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
123
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
124
+ # Swagger Name: AvaTaxClient
120
125
  # @param companyId [Integer] The company id
121
126
  # @param nexusId [Integer] The nexus id
122
127
  # @param id [Integer] The parameter id
123
- # @return [ErrorDetail[]]
124
- def delete_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
125
- delete(path) end
126
-
127
- # Delete all parameters for an nexus
128
- #
128
+ # @return [ErrorDetail[]]
129
+ def delete_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
130
+ delete(path, {}, "22.2.0") end
131
+
132
+ # Delete all parameters for an nexus
133
+ #
129
134
  # Delete all the parameters for a given nexus.
130
135
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
131
136
  #
@@ -135,15 +140,16 @@ module AvaTax
135
140
  #
136
141
  # ### Security Policies
137
142
  #
138
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
143
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
144
+ # Swagger Name: AvaTaxClient
139
145
  # @param companyId [Integer] The ID of the company that owns this nexus.
140
146
  # @param nexusId [Integer] The ID of the nexus you wish to delete the parameters.
141
- # @return [ErrorDetail[]]
142
- def delete_nexus_parameters(companyId, nexusId) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
143
- delete(path) end
144
-
145
- # Retrieve a single nexus
146
- #
147
+ # @return [ErrorDetail[]]
148
+ def delete_nexus_parameters(companyId, nexusId) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
149
+ delete(path, {}, "22.2.0") end
150
+
151
+ # Retrieve a single nexus
152
+ #
147
153
  # Get the nexus object identified by this URL.
148
154
  #
149
155
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -155,16 +161,17 @@ module AvaTax
155
161
  #
156
162
  # ### Security Policies
157
163
  #
158
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
164
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
165
+ # Swagger Name: AvaTaxClient
159
166
  # @param companyId [Integer] The ID of the company that owns this nexus object
160
167
  # @param id [Integer] The primary key of this nexus
161
168
  # @param include [String]
162
- # @return [Object]
163
- def get_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
164
- get(path, options) end
165
-
166
- # List company nexus related to a tax form
167
- #
169
+ # @return [Object]
170
+ def get_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
171
+ get(path, options, "22.2.0") end
172
+
173
+ # List company nexus related to a tax form
174
+ #
168
175
  # Retrieves a list of nexus related to a tax form.
169
176
  #
170
177
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -180,16 +187,17 @@ module AvaTax
180
187
  #
181
188
  # ### Security Policies
182
189
  #
183
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
190
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
191
+ # Swagger Name: AvaTaxClient
184
192
  # @param companyId [Integer] The ID of the company that owns this nexus object
185
193
  # @param formCode [String] The form code that we are looking up the nexus for
186
194
  # @param include [String]
187
- # @return [Object]
188
- def get_nexus_by_form_code(companyId, formCode, options={}) path = "/api/v2/companies/#{companyId}/nexus/byform/#{formCode}"
189
- get(path, options) end
190
-
191
- # Retrieve a single nexus parameter
192
- #
195
+ # @return [Object]
196
+ def get_nexus_by_form_code(companyId, formCode, options={}) path = "/api/v2/companies/#{companyId}/nexus/byform/#{formCode}"
197
+ get(path, options, "22.2.0") end
198
+
199
+ # Retrieve a single nexus parameter
200
+ #
193
201
  # Retrieve a single nexus parameter.
194
202
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller.In AvaTax, these tax-affecting properties are called "parameters".
195
203
  #
@@ -199,16 +207,17 @@ module AvaTax
199
207
  #
200
208
  # ### Security Policies
201
209
  #
202
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
210
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
211
+ # Swagger Name: AvaTaxClient
203
212
  # @param companyId [Integer] The company id
204
213
  # @param nexusId [Integer] The nexus id
205
214
  # @param id [Integer] The parameter id
206
- # @return [Object]
207
- def get_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
208
- get(path) end
209
-
210
- # Retrieve nexus for this company
211
- #
215
+ # @return [Object]
216
+ def get_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
217
+ get(path, {}, "22.2.0") end
218
+
219
+ # Retrieve nexus for this company
220
+ #
212
221
  # List all nexus objects defined for this company.
213
222
  #
214
223
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -223,19 +232,49 @@ module AvaTax
223
232
  #
224
233
  # ### Security Policies
225
234
  #
226
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
235
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
236
+ # Swagger Name: AvaTaxClient
227
237
  # @param companyId [Integer] The ID of the company that owns these nexus objects
228
238
  # @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:* streamlinedSalesTax, isSSTActive, taxTypeGroup, taxAuthorityId, taxName, parameters, taxableNexus
229
239
  # @param include [String] A comma separated list of additional data to retrieve.
230
240
  # @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.
231
241
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
232
242
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
233
- # @return [FetchResult]
234
- def list_nexus_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/nexus"
235
- get(path, options) end
236
-
237
- # Retrieve parameters for a nexus
243
+ # @return [FetchResult]
244
+ def list_nexus_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/nexus"
245
+ get(path, options, "22.2.0") end
246
+
247
+ # Retrieve nexus for this company By TaxTypeGroup
248
+ #
249
+ # List all nexus objects defined for this company filtered by TaxTypeGroup.
250
+ #
251
+ # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
252
+ # taxes. The legal requirements for nexus may vary per country and per jurisdiction; please seek advice from your
253
+ # accountant or lawyer prior to declaring nexus.
238
254
  #
255
+ # 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/) .
256
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
257
+ # You may specify one or more of the following values in the '$include' parameter to fetch additional nested data, using commas to separate multiple values:
258
+ #
259
+ # * Parameters
260
+ #
261
+ # ### Security Policies
262
+ #
263
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
264
+ # Swagger Name: AvaTaxClient
265
+ # @param companyId [Integer] The ID of the company that owns these nexus objects
266
+ # @param taxTypeGroup [String] Name of TaxTypeGroup to filter by
267
+ # @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:* streamlinedSalesTax, isSSTActive, taxTypeGroup, taxAuthorityId, taxName, parameters, taxableNexus
268
+ # @param include [String] A comma separated list of additional data to retrieve.
269
+ # @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.
270
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
271
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
272
+ # @return [FetchResult]
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, "22.2.0") end
275
+
276
+ # Retrieve parameters for a nexus
277
+ #
239
278
  # List parameters for a nexus.
240
279
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
241
280
  #
@@ -248,19 +287,20 @@ module AvaTax
248
287
  #
249
288
  # ### Security Policies
250
289
  #
251
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
290
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
291
+ # Swagger Name: AvaTaxClient
252
292
  # @param companyId [Integer] The company id
253
293
  # @param nexusId [Integer] The nexus id
254
294
  # @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:* name, unit
255
295
  # @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.
256
296
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
257
297
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
258
- # @return [FetchResult]
259
- def list_nexus_parameters(companyId, nexusId, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
260
- get(path, options) end
261
-
262
- # Retrieve all nexus
263
- #
298
+ # @return [FetchResult]
299
+ def list_nexus_parameters(companyId, nexusId, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
300
+ get(path, options, "22.2.0") end
301
+
302
+ # Retrieve all nexus
303
+ #
264
304
  # Get multiple nexus objects across all companies.
265
305
  #
266
306
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -275,18 +315,19 @@ module AvaTax
275
315
  #
276
316
  # ### Security Policies
277
317
  #
278
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
318
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
319
+ # Swagger Name: AvaTaxClient
279
320
  # @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:* streamlinedSalesTax, isSSTActive, taxTypeGroup, taxAuthorityId, taxName, parameters, taxableNexus
280
321
  # @param include [String] A comma separated list of additional data to retrieve.
281
322
  # @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.
282
323
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
283
324
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
284
- # @return [FetchResult]
285
- def query_nexus(options={}) path = "/api/v2/nexus"
286
- get(path, options) end
287
-
288
- # Update a single nexus
289
- #
325
+ # @return [FetchResult]
326
+ def query_nexus(options={}) path = "/api/v2/nexus"
327
+ get(path, options, "22.2.0") end
328
+
329
+ # Update a single nexus
330
+ #
290
331
  # Replace the existing nexus declaration object at this URL with an updated object.
291
332
  #
292
333
  # The concept of Nexus indicates a place where your company is legally obligated to collect and remit transactional
@@ -309,16 +350,17 @@ module AvaTax
309
350
  #
310
351
  # ### Security Policies
311
352
  #
312
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
353
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
354
+ # Swagger Name: AvaTaxClient
313
355
  # @param companyId [Integer] The ID of the company that this nexus belongs to.
314
356
  # @param id [Integer] The ID of the nexus you wish to update
315
357
  # @param model [Object] The nexus object you wish to update.
316
- # @return [Object]
317
- def update_nexus(companyId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
318
- put(path, model) end
319
-
320
- # Update an nexus parameter
321
- #
358
+ # @return [Object]
359
+ def update_nexus(companyId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
360
+ put(path, model, {}, "22.2.0") end
361
+
362
+ # Update an nexus parameter
363
+ #
322
364
  # Update an nexus parameter.
323
365
  #
324
366
  # Some tax calculation and reporting are different depending on the properties of the nexus, such as isRemoteSeller. In AvaTax, these tax-affecting properties are called "parameters".
@@ -329,14 +371,15 @@ module AvaTax
329
371
  #
330
372
  # ### Security Policies
331
373
  #
332
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
374
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
375
+ # Swagger Name: AvaTaxClient
333
376
  # @param companyId [Integer] The company id.
334
377
  # @param nexusId [Integer] The nexus id
335
378
  # @param id [Integer] The nexus parameter id
336
379
  # @param model [Object] The nexus object you wish to update.
337
- # @return [Object]
338
- def update_nexus_parameter(companyId, nexusId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
339
- put(path, model) end
340
- end
341
- end
380
+ # @return [Object]
381
+ def update_nexus_parameter(companyId, nexusId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
382
+ put(path, model, {}, "22.2.0") end
383
+ end
384
+ end
342
385
  end
@@ -5,53 +5,57 @@ module AvaTax
5
5
 
6
6
  # Creates a new tax notice responsibility type.
7
7
  #
8
- # This API is available by invitation only and only available for users with Compliance admin access.
9
- #
10
- # ### Security Policies
11
- #
12
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
8
+ # This API is available by invitation only and only available for users with Compliance admin access.
9
+ #
10
+ # ### Security Policies
11
+ #
12
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
13
13
  # * 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
- # @param model [Object] The responsibility type to create
14
+ # Swagger Name: AvaTaxClient
15
+ # @param model [Object] The responsibility type to create
15
16
  # @return [Object]
16
17
  def create_notice_responsibility_type(model) path = "/api/v2/notices/responsibilities"
17
- post(path, model) end
18
+ post(path, model, {}, "22.2.0") end
18
19
 
19
20
  # Creates a new tax notice root cause type.
20
21
  #
21
- # This API is available by invitation only and only available for users with Compliance admin access.
22
- #
23
- # ### Security Policies
24
- #
25
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
22
+ # This API is available by invitation only and only available for users with Compliance admin access.
23
+ #
24
+ # ### Security Policies
25
+ #
26
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
26
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.
27
- # @param model [Object] The root cause type to create
28
+ # Swagger Name: AvaTaxClient
29
+ # @param model [Object] The root cause type to create
28
30
  # @return [Object]
29
31
  def create_notice_root_cause_type(model) path = "/api/v2/notices/rootcauses"
30
- post(path, model) end
32
+ post(path, model, {}, "22.2.0") end
31
33
 
32
34
  # Delete a tax notice responsibility type.
33
35
  #
34
- # This API is available by invitation only and only available for users with Compliance admin access.
35
- #
36
- # ### Security Policies
37
- #
36
+ # This API is available by invitation only and only available for users with Compliance admin access.
37
+ #
38
+ # ### Security Policies
39
+ #
38
40
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
39
- # @param responsibilityId [Integer] The unique ID of the responsibility type
41
+ # Swagger Name: AvaTaxClient
42
+ # @param responsibilityId [Integer] The unique ID of the responsibility type
40
43
  # @return [ErrorDetail[]]
41
44
  def delete_notice_responsibility_type(responsibilityId) path = "/api/v2/notices/responsibilities/#{responsibilityId}"
42
- delete(path) end
45
+ delete(path, {}, "22.2.0") end
43
46
 
44
47
  # Delete a tax notice root cause type.
45
48
  #
46
- # This API is available by invitation only and only available for users with Compliance admin access.
47
- #
48
- # ### Security Policies
49
- #
49
+ # This API is available by invitation only and only available for users with Compliance admin access.
50
+ #
51
+ # ### Security Policies
52
+ #
50
53
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
51
- # @param rootCauseId [Integer] The unique ID of the root cause type
54
+ # Swagger Name: AvaTaxClient
55
+ # @param rootCauseId [Integer] The unique ID of the root cause type
52
56
  # @return [ErrorDetail[]]
53
57
  def delete_notice_root_cause_type(rootCauseId) path = "/api/v2/notices/rootcauses/#{rootCauseId}"
54
- delete(path) end
58
+ delete(path, {}, "22.2.0") end
55
59
  end
56
60
  end
57
61
  end
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Notifications
4
-
5
-
6
- # Mark a single notification as dismissed.
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Notifications
4
+
5
+
6
+ # Mark a single notification as dismissed.
7
+ #
8
8
  # Marks the notification identified by this URL as dismissed.
9
9
  #
10
10
  # A notification is a message from Avalara that may have relevance to your business. You may want
@@ -22,14 +22,15 @@ module AvaTax
22
22
  #
23
23
  # ### Security Policies
24
24
  #
25
- # * 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.
25
+ # * 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.
26
+ # Swagger Name: AvaTaxClient
26
27
  # @param id [Integer] The id of the notification you wish to mark as dismissed.
27
- # @return [Object]
28
- def dismiss_notification(id) path = "/api/v2/notifications/#{id}/dismiss"
29
- put(path) end
30
-
31
- # Retrieve a single notification.
32
- #
28
+ # @return [Object]
29
+ def dismiss_notification(id) path = "/api/v2/notifications/#{id}/dismiss"
30
+ put(path, {}, "22.2.0") end
31
+
32
+ # Retrieve a single notification.
33
+ #
33
34
  # Retrieve a single notification by its unique ID number.
34
35
  #
35
36
  # A notification is a message from Avalara that may have relevance to your business. You may want
@@ -41,14 +42,15 @@ module AvaTax
41
42
  #
42
43
  # ### Security Policies
43
44
  #
44
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
45
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
46
+ # Swagger Name: AvaTaxClient
45
47
  # @param id [Integer] The id of the notification to retrieve.
46
- # @return [Object]
47
- def get_notification(id) path = "/api/v2/notifications/#{id}"
48
- get(path) end
49
-
50
- # List all notifications.
51
- #
48
+ # @return [Object]
49
+ def get_notification(id) path = "/api/v2/notifications/#{id}"
50
+ get(path, {}, "22.2.0") end
51
+
52
+ # List all notifications.
53
+ #
52
54
  # List all notifications.
53
55
  #
54
56
  # A notification is a message from Avalara that may have relevance to your business. You may want
@@ -63,14 +65,15 @@ module AvaTax
63
65
  #
64
66
  # ### Security Policies
65
67
  #
66
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
68
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
69
+ # Swagger Name: AvaTaxClient
67
70
  # @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/).
68
71
  # @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.
69
72
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
70
73
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
71
- # @return [FetchResult]
72
- def list_notifications(options={}) path = "/api/v2/notifications"
73
- get(path, options) end
74
- end
75
- end
74
+ # @return [FetchResult]
75
+ def list_notifications(options={}) path = "/api/v2/notifications"
76
+ get(path, options, "22.2.0") end
77
+ end
78
+ end
76
79
  end