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 Items
4
-
5
-
6
- # Delete all classifications for an item
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Items
4
+
5
+
6
+ # Delete all classifications for an item
7
+ #
8
8
  # Delete all the classifications for a given item.
9
9
  #
10
10
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -13,15 +13,16 @@ module AvaTax
13
13
  #
14
14
  # ### Security Policies
15
15
  #
16
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
16
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
17
+ # Swagger Name: AvaTaxClient
17
18
  # @param companyId [Integer] The ID of the company that owns this item.
18
19
  # @param itemId [Integer] The ID of the item you wish to delete the classifications.
19
- # @return [ErrorDetail[]]
20
- def batch_delete_item_classifications(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
21
- delete(path) end
22
-
23
- # Delete all parameters for an item
24
- #
20
+ # @return [ErrorDetail[]]
21
+ def batch_delete_item_classifications(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
22
+ delete(path, {}, "22.2.0") end
23
+
24
+ # Delete all parameters for an item
25
+ #
25
26
  # Delete all the parameters for a given item.
26
27
  #
27
28
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -32,15 +33,16 @@ module AvaTax
32
33
  #
33
34
  # ### Security Policies
34
35
  #
35
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
36
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
37
+ # Swagger Name: AvaTaxClient
36
38
  # @param companyId [Integer] The ID of the company that owns this item.
37
39
  # @param itemId [Integer] The ID of the item you wish to delete the parameters.
38
- # @return [ErrorDetail[]]
39
- def batch_delete_item_parameters(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
40
- delete(path) end
41
-
42
- # Bulk upload items from a product catalog
43
- #
40
+ # @return [ErrorDetail[]]
41
+ def batch_delete_item_parameters(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
42
+ delete(path, {}, "22.2.0") end
43
+
44
+ # Bulk upload items from a product catalog
45
+ #
44
46
  # Create/Update one or more item objects attached to this company.
45
47
  #
46
48
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -53,15 +55,16 @@ module AvaTax
53
55
  #
54
56
  # ### Security Policies
55
57
  #
56
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
58
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
59
+ # Swagger Name: AvaTaxClient
57
60
  # @param companyId [Integer] The ID of the company that owns this items.
58
61
  # @param model [Object] The items you wish to upload.
59
- # @return [Object]
60
- def bulk_upload_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/upload"
61
- post(path, model) end
62
-
63
- # Add classifications to an item.
64
- #
62
+ # @return [Object]
63
+ def bulk_upload_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/upload"
64
+ post(path, model, {}, "22.2.0") end
65
+
66
+ # Add classifications to an item.
67
+ #
65
68
  # Add classifications to an item.
66
69
  #
67
70
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -72,16 +75,17 @@ module AvaTax
72
75
  #
73
76
  # ### Security Policies
74
77
  #
75
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
78
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
79
+ # Swagger Name: AvaTaxClient
76
80
  # @param companyId [Integer] The company id.
77
81
  # @param itemId [Integer] The item id.
78
82
  # @param model [ItemClassificationInputModel[]] The item classifications you wish to create.
79
- # @return [ItemClassificationOutputModel[]]
80
- def create_item_classifications(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
81
- post(path, model) end
82
-
83
- # Add parameters to an item.
84
- #
83
+ # @return [ItemClassificationOutputModel[]]
84
+ def create_item_classifications(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
85
+ post(path, model, {}, "22.2.0") end
86
+
87
+ # Add parameters to an item.
88
+ #
85
89
  # Add parameters to an item.
86
90
  #
87
91
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -96,16 +100,17 @@ module AvaTax
96
100
  #
97
101
  # ### Security Policies
98
102
  #
99
- # * 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
100
105
  # @param companyId [Integer] The ID of the company that owns this item parameter.
101
106
  # @param itemId [Integer] The item id.
102
107
  # @param model [ItemParameterModel[]] The item parameters you wish to create.
103
- # @return [ItemParameterModel[]]
104
- def create_item_parameters(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
105
- post(path, model) end
106
-
107
- # Create a new item
108
- #
108
+ # @return [ItemParameterModel[]]
109
+ def create_item_parameters(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
110
+ post(path, model, {}, "22.2.0") end
111
+
112
+ # Create a new item
113
+ #
109
114
  # Creates one or more new item objects attached to this company.
110
115
  #
111
116
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -118,31 +123,33 @@ module AvaTax
118
123
  #
119
124
  # ### Security Policies
120
125
  #
121
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
126
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
127
+ # Swagger Name: AvaTaxClient
122
128
  # @param companyId [Integer] The ID of the company that owns this item.
123
129
  # @param model [ItemModel[]] The item you wish to create.
124
- # @return [ItemModel[]]
125
- def create_items(companyId, model) path = "/api/v2/companies/#{companyId}/items"
126
- post(path, model) end
127
-
128
- # Create tags for a item
129
- #
130
+ # @return [ItemModel[]]
131
+ def create_items(companyId, model) path = "/api/v2/companies/#{companyId}/items"
132
+ post(path, model, {}, "22.2.0") end
133
+
134
+ # Create tags for a item
135
+ #
130
136
  # Creates one or more new `Tag` objects attached to this Item.
131
137
  #
132
138
  # Item tags puts multiple labels for an item. So that item can be easily grouped by these tags.
133
139
  #
134
140
  # ### Security Policies
135
141
  #
136
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
142
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
143
+ # Swagger Name: AvaTaxClient
137
144
  # @param companyId [Integer] The ID of the company that defined these items
138
145
  # @param itemId [Integer] The ID of the item as defined by the company that owns this tag.
139
146
  # @param model [ItemTagDetailModel[]] Tags you wish to associate with the Item
140
- # @return [ItemTagDetailModel[]]
141
- def create_item_tags(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
142
- post(path, model) end
143
-
144
- # Delete a single item
145
- #
147
+ # @return [ItemTagDetailModel[]]
148
+ def create_item_tags(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
149
+ post(path, model, {}, "22.2.0") end
150
+
151
+ # Delete a single item
152
+ #
146
153
  # Deletes the item object at this URL.
147
154
  #
148
155
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -155,15 +162,16 @@ module AvaTax
155
162
  #
156
163
  # ### Security Policies
157
164
  #
158
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
165
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
166
+ # Swagger Name: AvaTaxClient
159
167
  # @param companyId [Integer] The ID of the company that owns this item.
160
168
  # @param id [Integer] The ID of the item you wish to delete.
161
- # @return [ErrorDetail[]]
162
- def delete_item(companyId, id) path = "/api/v2/companies/#{companyId}/items/#{id}"
163
- delete(path) end
164
-
165
- # Delete a single item classification.
166
- #
169
+ # @return [ErrorDetail[]]
170
+ def delete_item(companyId, id) path = "/api/v2/companies/#{companyId}/items/#{id}"
171
+ delete(path, {}, "22.2.0") end
172
+
173
+ # Delete a single item classification.
174
+ #
167
175
  # Delete a single item classification.
168
176
  #
169
177
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -172,16 +180,17 @@ module AvaTax
172
180
  #
173
181
  # ### Security Policies
174
182
  #
175
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
183
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
184
+ # Swagger Name: AvaTaxClient
176
185
  # @param companyId [Integer] The company id.
177
186
  # @param itemId [Integer] The item id.
178
187
  # @param id [Integer] The item classification id.
179
- # @return [ErrorDetail[]]
180
- def delete_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
181
- delete(path) end
182
-
183
- # Delete a single item parameter
184
- #
188
+ # @return [ErrorDetail[]]
189
+ def delete_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
190
+ delete(path, {}, "22.2.0") end
191
+
192
+ # Delete a single item parameter
193
+ #
185
194
  # Delete a single item parameter.
186
195
  #
187
196
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -192,47 +201,50 @@ module AvaTax
192
201
  #
193
202
  # ### Security Policies
194
203
  #
195
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
204
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
205
+ # Swagger Name: AvaTaxClient
196
206
  # @param companyId [Integer] The company id
197
207
  # @param itemId [Integer] The item id
198
208
  # @param id [Integer] The parameter id
199
- # @return [ErrorDetail[]]
200
- def delete_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
201
- delete(path) end
202
-
203
- # Delete item tag by id
204
- #
209
+ # @return [ErrorDetail[]]
210
+ def delete_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
211
+ delete(path, {}, "22.2.0") end
212
+
213
+ # Delete item tag by id
214
+ #
205
215
  # Deletes the `Tag` object of an Item at this URL.
206
216
  #
207
217
  # Item tags puts multiple labels for an item. So that item can be easily grouped by these tags.
208
218
  #
209
219
  # ### Security Policies
210
220
  #
211
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
221
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
222
+ # Swagger Name: AvaTaxClient
212
223
  # @param companyId [Integer] The ID of the company that defined these items
213
224
  # @param itemId [Integer] The ID of the item as defined by the company that owns this tag.
214
225
  # @param itemTagDetailId [Integer] The ID of the item tag detail you wish to delete.
215
- # @return [ErrorDetail[]]
216
- def delete_item_tag(companyId, itemId, itemTagDetailId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags/#{itemTagDetailId}"
217
- delete(path) end
218
-
219
- # Delete all item tags
220
- #
226
+ # @return [ErrorDetail[]]
227
+ def delete_item_tag(companyId, itemId, itemTagDetailId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags/#{itemTagDetailId}"
228
+ delete(path, {}, "22.2.0") end
229
+
230
+ # Delete all item tags
231
+ #
221
232
  # Deletes all `Tags` objects of an Item at this URL.
222
233
  #
223
234
  # Item tags puts multiple labels for an item. So that item can be easily grouped by these tags.
224
235
  #
225
236
  # ### Security Policies
226
237
  #
227
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
238
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
239
+ # Swagger Name: AvaTaxClient
228
240
  # @param companyId [Integer] The ID of the company that defined these items.
229
241
  # @param itemId [Integer] The ID of the item as defined by the company that owns this tag.
230
- # @return [ErrorDetail[]]
231
- def delete_item_tags(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
232
- delete(path) end
233
-
234
- # Retrieve a single item
235
- #
242
+ # @return [ErrorDetail[]]
243
+ def delete_item_tags(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
244
+ delete(path, {}, "22.2.0") end
245
+
246
+ # Retrieve a single item
247
+ #
236
248
  # Get the `Item` object identified by this URL.
237
249
  #
238
250
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -243,16 +255,17 @@ module AvaTax
243
255
  #
244
256
  # ### Security Policies
245
257
  #
246
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
258
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
259
+ # Swagger Name: AvaTaxClient
247
260
  # @param companyId [Integer] The ID of the company that owns this item object
248
261
  # @param id [Integer] The primary key of this item
249
262
  # @param include [String] A comma separated list of additional data to retrieve.
250
- # @return [Object]
251
- def get_item(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/items/#{id}"
252
- get(path, options) end
253
-
254
- # Retrieve a single item classification.
255
- #
263
+ # @return [Object]
264
+ def get_item(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/items/#{id}"
265
+ get(path, options, "22.2.0") end
266
+
267
+ # Retrieve a single item classification.
268
+ #
256
269
  # Retrieve a single item classification.
257
270
  #
258
271
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -261,16 +274,17 @@ module AvaTax
261
274
  #
262
275
  # ### Security Policies
263
276
  #
264
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
277
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
278
+ # Swagger Name: AvaTaxClient
265
279
  # @param companyId [Integer] The company id.
266
280
  # @param itemId [Integer] The item id.
267
281
  # @param id [Integer] The item classification id.
268
- # @return [Object]
269
- def get_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
270
- get(path) end
271
-
272
- # Retrieve a single item parameter
273
- #
282
+ # @return [Object]
283
+ def get_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
284
+ get(path, {}, "22.2.0") end
285
+
286
+ # Retrieve a single item parameter
287
+ #
274
288
  # Retrieve a single item parameter.
275
289
  #
276
290
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -281,34 +295,36 @@ module AvaTax
281
295
  #
282
296
  # ### Security Policies
283
297
  #
284
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
298
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
299
+ # Swagger Name: AvaTaxClient
285
300
  # @param companyId [Integer] The company id
286
301
  # @param itemId [Integer] The item id
287
302
  # @param id [Integer] The parameter id
288
- # @return [Object]
289
- def get_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
290
- get(path) end
291
-
292
- # Retrieve tags for an item
293
- #
303
+ # @return [Object]
304
+ def get_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
305
+ get(path, {}, "22.2.0") end
306
+
307
+ # Retrieve tags for an item
308
+ #
294
309
  # Get the `Tag` objects of an Item identified by this URL.
295
310
  #
296
311
  # Item tags puts multiple labels for an item. So that item can be easily grouped by these tags.
297
312
  #
298
313
  # ### Security Policies
299
314
  #
300
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
315
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
316
+ # Swagger Name: AvaTaxClient
301
317
  # @param companyId [Integer] The ID of the company that defined these items
302
318
  # @param itemId [Integer] The ID of the item as defined by the company that owns this tag.
303
319
  # @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:* tagName
304
320
  # @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.
305
321
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
306
- # @return [FetchResult]
307
- def get_item_tags(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
308
- get(path, options) end
309
-
310
- # Retrieve classifications for an item.
311
- #
322
+ # @return [FetchResult]
323
+ def get_item_tags(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
324
+ get(path, options, "22.2.0") end
325
+
326
+ # Retrieve classifications for an item.
327
+ #
312
328
  # List classifications for an item.
313
329
  #
314
330
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -320,19 +336,20 @@ module AvaTax
320
336
  #
321
337
  # ### Security Policies
322
338
  #
323
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
339
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
340
+ # Swagger Name: AvaTaxClient
324
341
  # @param companyId [Integer] The company id.
325
342
  # @param itemId [Integer] The item id.
326
343
  # @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:* productCode, systemCode
327
344
  # @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.
328
345
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
329
346
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
330
- # @return [FetchResult]
331
- def list_item_classifications(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
332
- get(path, options) end
333
-
334
- # Retrieve parameters for an item
335
- #
347
+ # @return [FetchResult]
348
+ def list_item_classifications(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
349
+ get(path, options, "22.2.0") end
350
+
351
+ # Retrieve parameters for an item
352
+ #
336
353
  # List parameters for an item.
337
354
  #
338
355
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -346,19 +363,20 @@ module AvaTax
346
363
  #
347
364
  # ### Security Policies
348
365
  #
349
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
366
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
367
+ # Swagger Name: AvaTaxClient
350
368
  # @param companyId [Integer] The company id
351
369
  # @param itemId [Integer] The item id
352
370
  # @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, isNeededForCalculation, isNeededForReturns, isNeededForClassification
353
371
  # @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.
354
372
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
355
373
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
356
- # @return [FetchResult]
357
- def list_item_parameters(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
358
- get(path, options) end
359
-
360
- # Retrieve items for this company
361
- #
374
+ # @return [FetchResult]
375
+ def list_item_parameters(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
376
+ get(path, options, "22.2.0") end
377
+
378
+ # Retrieve items for this company
379
+ #
362
380
  # List all items defined for the current company.
363
381
  #
364
382
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -381,7 +399,8 @@ module AvaTax
381
399
  #
382
400
  # ### Security Policies
383
401
  #
384
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
402
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
403
+ # Swagger Name: AvaTaxClient
385
404
  # @param companyId [Integer] The ID of the company that defined these items
386
405
  # @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:* taxCode, classifications, parameters, tags
387
406
  # @param include [String] A comma separated list of additional data to retrieve.
@@ -389,12 +408,12 @@ module AvaTax
389
408
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
390
409
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
391
410
  # @param tagName [String] Tag Name on the basis of which you want to filter Items
392
- # @return [FetchResult]
393
- def list_items_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/items"
394
- get(path, options) end
395
-
396
- # Retrieve all items
397
- #
411
+ # @return [FetchResult]
412
+ def list_items_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/items"
413
+ get(path, options, "22.2.0") end
414
+
415
+ # Retrieve all items
416
+ #
398
417
  # Get multiple item objects across all companies.
399
418
  #
400
419
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -409,18 +428,19 @@ module AvaTax
409
428
  #
410
429
  # ### Security Policies
411
430
  #
412
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
431
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
432
+ # Swagger Name: AvaTaxClient
413
433
  # @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:* taxCode, classifications, parameters, tags
414
434
  # @param include [String] A comma separated list of additional data to retrieve.
415
435
  # @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.
416
436
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
417
437
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
418
- # @return [FetchResult]
419
- def query_items(options={}) path = "/api/v2/items"
420
- get(path, options) end
421
-
422
- # Retrieve all items associated with given tag
423
- #
438
+ # @return [FetchResult]
439
+ def query_items(options={}) path = "/api/v2/items"
440
+ get(path, options, "22.2.0") end
441
+
442
+ # Retrieve all items associated with given tag
443
+ #
424
444
  # Get multiple item objects associated with given tag.
425
445
  #
426
446
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -435,7 +455,8 @@ module AvaTax
435
455
  #
436
456
  # ### Security Policies
437
457
  #
438
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
458
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
459
+ # Swagger Name: AvaTaxClient
439
460
  # @param companyId [Integer] The ID of the company that defined these items.
440
461
  # @param tag [String] The master tag to be associated with item.
441
462
  # @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:* taxCode, classifications, parameters, tags
@@ -443,12 +464,12 @@ module AvaTax
443
464
  # @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.
444
465
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
445
466
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
446
- # @return [FetchResult]
447
- def query_items_by_tag(companyId, tag, options={}) path = "/api/v2/companies/#{companyId}/items/bytags/#{tag}"
448
- get(path, options) end
449
-
450
- # Sync items from a product catalog
451
- #
467
+ # @return [FetchResult]
468
+ def query_items_by_tag(companyId, tag, options={}) path = "/api/v2/companies/#{companyId}/items/bytags/#{tag}"
469
+ get(path, options, "22.2.0") end
470
+
471
+ # Sync items from a product catalog
472
+ #
452
473
  # Syncs a list of items with AvaTax without waiting for them to be created. It is ideal for syncing large product catalogs
453
474
  # with AvaTax.
454
475
  #
@@ -464,15 +485,16 @@ module AvaTax
464
485
  #
465
486
  # ### Security Policies
466
487
  #
467
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
488
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
489
+ # Swagger Name: AvaTaxClient
468
490
  # @param companyId [Integer] The ID of the company that owns this item.
469
491
  # @param model [Object] The request object.
470
- # @return [Object]
471
- def sync_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/sync"
472
- post(path, model) end
473
-
474
- # Update a single item
475
- #
492
+ # @return [Object]
493
+ def sync_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/sync"
494
+ post(path, model, {}, "22.2.0") end
495
+
496
+ # Update a single item
497
+ #
476
498
  # Replace the existing `Item` object at this URL with an updated object.
477
499
  #
478
500
  # Items are a way of separating your tax calculation process from your tax configuration details. If you choose, you
@@ -488,16 +510,17 @@ module AvaTax
488
510
  #
489
511
  # ### Security Policies
490
512
  #
491
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
513
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
514
+ # Swagger Name: AvaTaxClient
492
515
  # @param companyId [Integer] The ID of the company that this item belongs to.
493
516
  # @param id [Integer] The ID of the item you wish to update
494
517
  # @param model [Object] The item object you wish to update.
495
- # @return [Object]
496
- def update_item(companyId, id, model) path = "/api/v2/companies/#{companyId}/items/#{id}"
497
- put(path, model) end
498
-
499
- # Update an item classification.
500
- #
518
+ # @return [Object]
519
+ def update_item(companyId, id, model) path = "/api/v2/companies/#{companyId}/items/#{id}"
520
+ put(path, model, {}, "22.2.0") end
521
+
522
+ # Update an item classification.
523
+ #
501
524
  # Update an item classification.
502
525
  #
503
526
  # A classification is the code for a product in a particular tax system. Classifications enable an item to be used in multiple tax systems which may have different tax rates for a product.
@@ -508,17 +531,18 @@ module AvaTax
508
531
  #
509
532
  # ### Security Policies
510
533
  #
511
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
534
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
535
+ # Swagger Name: AvaTaxClient
512
536
  # @param companyId [Integer] The company id.
513
537
  # @param itemId [Integer] The item id.
514
538
  # @param id [Integer] The item classification id.
515
539
  # @param model [Object] The item object you wish to update.
516
- # @return [Object]
517
- def update_item_classification(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
518
- put(path, model) end
519
-
520
- # Update an item parameter
521
- #
540
+ # @return [Object]
541
+ def update_item_classification(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
542
+ put(path, model, {}, "22.2.0") end
543
+
544
+ # Update an item parameter
545
+ #
522
546
  # Update an item parameter.
523
547
  #
524
548
  # Some items can be taxed differently depending on the properties of that item, such as the item grade or by a particular measurement of that item. In AvaTax, these tax-affecting properties are called "parameters".
@@ -529,14 +553,15 @@ module AvaTax
529
553
  #
530
554
  # ### Security Policies
531
555
  #
532
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
556
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
557
+ # Swagger Name: AvaTaxClient
533
558
  # @param companyId [Integer] The company id.
534
559
  # @param itemId [Integer] The item id
535
560
  # @param id [Integer] The item parameter id
536
561
  # @param model [Object] The item object you wish to update.
537
- # @return [Object]
538
- def update_item_parameter(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
539
- put(path, model) end
540
- end
541
- end
562
+ # @return [Object]
563
+ def update_item_parameter(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
564
+ put(path, model, {}, "22.2.0") end
565
+ end
566
+ end
542
567
  end