avatax 22.2.1 → 22.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avatax/client/accounts.rb +11 -11
  3. data/lib/avatax/client/addresses.rb +2 -2
  4. data/lib/avatax/client/advancedrules.rb +5 -5
  5. data/lib/avatax/client/avafileforms.rb +5 -5
  6. data/lib/avatax/client/batches.rb +8 -8
  7. data/lib/avatax/client/certexpressinvites.rb +3 -3
  8. data/lib/avatax/client/certificates.rb +15 -15
  9. data/lib/avatax/client/companies.rb +22 -22
  10. data/lib/avatax/client/compliance.rb +1 -1
  11. data/lib/avatax/client/contacts.rb +6 -6
  12. data/lib/avatax/client/customers.rb +13 -13
  13. data/lib/avatax/client/datasources.rb +6 -6
  14. data/lib/avatax/client/definitions.rb +75 -72
  15. data/lib/avatax/client/distancethresholds.rb +6 -6
  16. data/lib/avatax/client/ecommercetoken.rb +2 -2
  17. data/lib/avatax/client/filingcalendars.rb +3 -3
  18. data/lib/avatax/client/filings.rb +2 -2
  19. data/lib/avatax/client/firmclientlinkages.rb +9 -9
  20. data/lib/avatax/client/free.rb +1 -1
  21. data/lib/avatax/client/fundingrequests.rb +2 -2
  22. data/lib/avatax/client/items.rb +165 -28
  23. data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
  24. data/lib/avatax/client/locations.rb +12 -12
  25. data/lib/avatax/client/multidocument.rb +10 -10
  26. data/lib/avatax/client/nexus.rb +15 -15
  27. data/lib/avatax/client/notices.rb +4 -4
  28. data/lib/avatax/client/notifications.rb +3 -3
  29. data/lib/avatax/client/provisioning.rb +2 -2
  30. data/lib/avatax/client/registrar.rb +10 -21
  31. data/lib/avatax/client/reports.rb +4 -4
  32. data/lib/avatax/client/settings.rb +6 -6
  33. data/lib/avatax/client/shippingverification.rb +25 -9
  34. data/lib/avatax/client/subscriptions.rb +3 -3
  35. data/lib/avatax/client/taxcodes.rb +6 -6
  36. data/lib/avatax/client/taxcontent.rb +5 -5
  37. data/lib/avatax/client/taxrules.rb +6 -6
  38. data/lib/avatax/client/transactions.rb +21 -21
  39. data/lib/avatax/client/upcs.rb +6 -6
  40. data/lib/avatax/client/userdefinedfields.rb +3 -3
  41. data/lib/avatax/client/users.rb +8 -8
  42. data/lib/avatax/client/utilities.rb +3 -3
  43. data/lib/avatax/request.rb +10 -9
  44. data/lib/avatax/version.rb +1 -1
  45. metadata +2 -2
@@ -19,7 +19,7 @@ module AvaTax
19
19
  # @param model [CompanyDistanceThresholdModel[]] The DistanceThreshold object or objects you wish to create.
20
20
  # @return [CompanyDistanceThresholdModel[]]
21
21
  def create_distance_threshold(companyId, model) path = "/api/v2/companies/#{companyId}/distancethresholds"
22
- post(path, model, {}, "22.2.1") end
22
+ post(path, model, {}, "22.3.0") end
23
23
 
24
24
  # Delete a single DistanceThreshold object
25
25
  #
@@ -37,7 +37,7 @@ module AvaTax
37
37
  # @param id [Integer] The unique ID number of the DistanceThreshold object you wish to delete.
38
38
  # @return [ErrorDetail[]]
39
39
  def delete_distance_threshold(companyId, id) path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
40
- delete(path, {}, "22.2.1") end
40
+ delete(path, {}, "22.3.0") end
41
41
 
42
42
  # Retrieve a single DistanceThreshold
43
43
  #
@@ -55,7 +55,7 @@ module AvaTax
55
55
  # @param id [Integer] The unique ID number referring to this DistanceThreshold object
56
56
  # @return [Object]
57
57
  def get_distance_threshold(companyId, id) path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
58
- get(path, {}, "22.2.1") end
58
+ get(path, {}, "22.3.0") end
59
59
 
60
60
  # Retrieve all DistanceThresholds for this company.
61
61
  #
@@ -77,7 +77,7 @@ module AvaTax
77
77
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
78
78
  # @return [FetchResult]
79
79
  def list_distance_thresholds(companyId, options={}) path = "/api/v2/companies/#{companyId}/distancethresholds"
80
- get(path, options, "22.2.1") end
80
+ get(path, options, "22.3.0") end
81
81
 
82
82
  # Retrieve all DistanceThreshold objects
83
83
  #
@@ -101,7 +101,7 @@ module AvaTax
101
101
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
102
102
  # @return [FetchResult]
103
103
  def query_distance_thresholds(options={}) path = "/api/v2/distancethresholds"
104
- get(path, options, "22.2.1") end
104
+ get(path, options, "22.3.0") end
105
105
 
106
106
  # Update a DistanceThreshold object
107
107
  #
@@ -123,7 +123,7 @@ module AvaTax
123
123
  # @param model [Object] The new DistanceThreshold object to store.
124
124
  # @return [Object]
125
125
  def update_distance_threshold(companyId, id, model) path = "/api/v2/companies/#{companyId}/distancethresholds/#{id}"
126
- put(path, model, {}, "22.2.1") end
126
+ put(path, model, {}, "22.3.0") end
127
127
  end
128
128
  end
129
129
  end
@@ -17,7 +17,7 @@ module AvaTax
17
17
  # @param model [Object]
18
18
  # @return [Object]
19
19
  def create_e_commerce_token(companyId, model) path = "/api/v2/companies/#{companyId}/ecommercetokens"
20
- post(path, model, {}, "22.2.1") end
20
+ post(path, model, {}, "22.3.0") end
21
21
 
22
22
  # Refresh an eCommerce token.
23
23
  #
@@ -33,7 +33,7 @@ module AvaTax
33
33
  # @param model [Object]
34
34
  # @return [FetchResult]
35
35
  def refresh_e_commerce_token(companyId, model) path = "/api/v2/companies/#{companyId}/ecommercetokens"
36
- put(path, model, {}, "22.2.1") end
36
+ put(path, model, {}, "22.3.0") end
37
37
  end
38
38
  end
39
39
  end
@@ -18,7 +18,7 @@ module AvaTax
18
18
  # @param model [Object] Cycle Safe Options Request
19
19
  # @return [Object]
20
20
  def cycle_safe_options(companyId, model) path = "/api/v2/companies/#{companyId}/filingcalendars/edit/cycleSafeOptions"
21
- post(path, model, {}, "22.2.1") end
21
+ post(path, model, {}, "22.3.0") end
22
22
 
23
23
  # Delete a company return setting
24
24
  #
@@ -34,7 +34,7 @@ module AvaTax
34
34
  # @param companyReturnSettingId [Integer] The unique ID of the company return setting that will be deleted from the filing calendar
35
35
  # @return [CompanyReturnSettingModel[]]
36
36
  def delete_company_return_settings(companyId, filingCalendarId, companyReturnSettingId) path = "/api/v2/companies/#{companyId}/filingcalendars/#{filingCalendarId}/setting/#{companyReturnSettingId}"
37
- delete(path, {}, "22.2.1") end
37
+ delete(path, {}, "22.3.0") end
38
38
 
39
39
  # Retrieve all legacy filing calendars for this company
40
40
  #
@@ -54,7 +54,7 @@ module AvaTax
54
54
  # @param returnRegion [String] A comma separated list of regions
55
55
  # @return [FetchResult]
56
56
  def legacy_filing_calendars(companyId, options={}) path = "/api/v2/companies/#{companyId}/filingcalendars/Legacy"
57
- get(path, options, "22.2.1") end
57
+ get(path, options, "22.3.0") end
58
58
  end
59
59
  end
60
60
  end
@@ -14,7 +14,7 @@ module AvaTax
14
14
  # @param filingReturnId [Integer] The ID of the filing return
15
15
  # @return [FetchResult]
16
16
  def get_accrual_filings(companyId, filingReturnId) path = "/api/v2/companies/#{companyId}/filings/accrual/#{filingReturnId}"
17
- get(path, {}, "22.2.1") end
17
+ get(path, {}, "22.3.0") end
18
18
 
19
19
  # Retrieve a list of filed returns for the specified company in the year and month of a given filing period.
20
20
  #
@@ -36,7 +36,7 @@ module AvaTax
36
36
  # @param taxformCode [String] The unique tax form code of the form.
37
37
  # @return [FetchResult]
38
38
  def get_filed_returns(companyId, options={}) path = "/api/v2/companies/#{companyId}/filings/returns/filed"
39
- get(path, options, "22.2.1") end
39
+ get(path, options, "22.3.0") end
40
40
  end
41
41
  end
42
42
  end
@@ -14,7 +14,7 @@ module AvaTax
14
14
  # @param id [Integer]
15
15
  # @return [Object]
16
16
  def approve_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}/approve"
17
- post(path, {}, "22.2.1") end
17
+ post(path, {}, "22.3.0") end
18
18
 
19
19
  # Request a new FirmClient account and create an approved linkage to it
20
20
  #
@@ -36,7 +36,7 @@ module AvaTax
36
36
  # @param model [Object] Information about the account you wish to create.
37
37
  # @return [Object]
38
38
  def create_and_link_new_firm_client_account(model) path = "/api/v2/firmclientlinkages/createandlinkclient"
39
- post(path, model, {}, "22.2.1") end
39
+ post(path, model, {}, "22.3.0") end
40
40
 
41
41
  # Links a firm account with the client account
42
42
  #
@@ -49,7 +49,7 @@ module AvaTax
49
49
  # @param model [Object] FirmClientLinkageInputModel
50
50
  # @return [Object]
51
51
  def create_firm_client_linkage(model) path = "/api/v2/firmclientlinkages"
52
- post(path, model, {}, "22.2.1") end
52
+ post(path, model, {}, "22.3.0") end
53
53
 
54
54
  # Delete a linkage
55
55
  #
@@ -62,7 +62,7 @@ module AvaTax
62
62
  # @param id [Integer]
63
63
  # @return [ErrorDetail[]]
64
64
  def delete_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}"
65
- delete(path, {}, "22.2.1") end
65
+ delete(path, {}, "22.3.0") end
66
66
 
67
67
  # Get linkage between a firm and client by id
68
68
  #
@@ -75,7 +75,7 @@ module AvaTax
75
75
  # @param id [Integer]
76
76
  # @return [Object]
77
77
  def get_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}"
78
- get(path, {}, "22.2.1") end
78
+ get(path, {}, "22.3.0") end
79
79
 
80
80
  # List client linkages for a firm or client
81
81
  #
@@ -88,7 +88,7 @@ module AvaTax
88
88
  # @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:* firmAccountName, clientAccountName
89
89
  # @return [FetchResult]
90
90
  def list_firm_client_linkage(options={}) path = "/api/v2/firmclientlinkages"
91
- get(path, options, "22.2.1") end
91
+ get(path, options, "22.3.0") end
92
92
 
93
93
  # Rejects linkage to a firm for a client account
94
94
  #
@@ -101,7 +101,7 @@ module AvaTax
101
101
  # @param id [Integer]
102
102
  # @return [Object]
103
103
  def reject_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}/reject"
104
- post(path, {}, "22.2.1") end
104
+ post(path, {}, "22.3.0") end
105
105
 
106
106
  # Reset linkage status between a client and firm back to requested
107
107
  #
@@ -114,7 +114,7 @@ module AvaTax
114
114
  # @param id [Integer]
115
115
  # @return [Object]
116
116
  def reset_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}/reset"
117
- post(path, {}, "22.2.1") end
117
+ post(path, {}, "22.3.0") end
118
118
 
119
119
  # Revokes previously approved linkage to a firm for a client account
120
120
  #
@@ -127,7 +127,7 @@ module AvaTax
127
127
  # @param id [Integer]
128
128
  # @return [Object]
129
129
  def revoke_firm_client_linkage(id) path = "/api/v2/firmclientlinkages/#{id}/revoke"
130
- post(path, {}, "22.2.1") end
130
+ post(path, {}, "22.3.0") end
131
131
  end
132
132
  end
133
133
  end
@@ -23,7 +23,7 @@ module AvaTax
23
23
  # @param model [Object] Required information to provision a free trial account.
24
24
  # @return [Object]
25
25
  def request_free_trial(model) path = "/api/v2/accounts/freetrials/request"
26
- post(path, model, {}, "22.2.1") end
26
+ post(path, model, {}, "22.3.0") end
27
27
  end
28
28
  end
29
29
  end
@@ -26,7 +26,7 @@ module AvaTax
26
26
  # @param id [Integer] The unique ID number of this funding request
27
27
  # @return [Object]
28
28
  def activate_funding_request(id) path = "/api/v2/fundingrequests/#{id}/widget"
29
- get(path, {}, "22.2.1") end
29
+ get(path, {}, "22.3.0") end
30
30
 
31
31
  # Retrieve status about a funding setup request
32
32
  #
@@ -49,7 +49,7 @@ module AvaTax
49
49
  # @param id [Integer] The unique ID number of this funding request
50
50
  # @return [Object]
51
51
  def funding_request_status(id) path = "/api/v2/fundingrequests/#{id}"
52
- get(path, {}, "22.2.1") end
52
+ get(path, {}, "22.3.0") end
53
53
  end
54
54
  end
55
55
  end
@@ -19,7 +19,7 @@ module AvaTax
19
19
  # @param itemId [Integer] The ID of the item you wish to delete the classifications.
20
20
  # @return [ErrorDetail[]]
21
21
  def batch_delete_item_classifications(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
22
- delete(path, {}, "22.2.1") end
22
+ delete(path, {}, "22.3.0") end
23
23
 
24
24
  # Delete all parameters for an item
25
25
  #
@@ -39,7 +39,7 @@ module AvaTax
39
39
  # @param itemId [Integer] The ID of the item you wish to delete the parameters.
40
40
  # @return [ErrorDetail[]]
41
41
  def batch_delete_item_parameters(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
42
- delete(path, {}, "22.2.1") end
42
+ delete(path, {}, "22.3.0") end
43
43
 
44
44
  # Bulk upload items from a product catalog
45
45
  #
@@ -61,7 +61,7 @@ module AvaTax
61
61
  # @param model [Object] The items you wish to upload.
62
62
  # @return [Object]
63
63
  def bulk_upload_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/upload"
64
- post(path, model, {}, "22.2.1") end
64
+ post(path, model, {}, "22.3.0") end
65
65
 
66
66
  # Add classifications to an item.
67
67
  #
@@ -82,7 +82,7 @@ module AvaTax
82
82
  # @param model [ItemClassificationInputModel[]] The item classifications you wish to create.
83
83
  # @return [ItemClassificationOutputModel[]]
84
84
  def create_item_classifications(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
85
- post(path, model, {}, "22.2.1") end
85
+ post(path, model, {}, "22.3.0") end
86
86
 
87
87
  # Add parameters to an item.
88
88
  #
@@ -107,7 +107,7 @@ module AvaTax
107
107
  # @param model [ItemParameterModel[]] The item parameters you wish to create.
108
108
  # @return [ItemParameterModel[]]
109
109
  def create_item_parameters(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
110
- post(path, model, {}, "22.2.1") end
110
+ post(path, model, {}, "22.3.0") end
111
111
 
112
112
  # Create a new item
113
113
  #
@@ -129,7 +129,7 @@ module AvaTax
129
129
  # @param model [ItemModel[]] The item you wish to create.
130
130
  # @return [ItemModel[]]
131
131
  def create_items(companyId, model) path = "/api/v2/companies/#{companyId}/items"
132
- post(path, model, {}, "22.2.1") end
132
+ post(path, model, {}, "22.3.0") end
133
133
 
134
134
  # Create tags for a item
135
135
  #
@@ -146,7 +146,53 @@ module AvaTax
146
146
  # @param model [ItemTagDetailModel[]] Tags you wish to associate with the Item
147
147
  # @return [ItemTagDetailModel[]]
148
148
  def create_item_tags(companyId, itemId, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
149
- post(path, model, {}, "22.2.1") end
149
+ post(path, model, {}, "22.3.0") end
150
+
151
+ # Create a new tax code classification request
152
+ #
153
+ # Creates a new tax code classification request.
154
+ #
155
+ # Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and
156
+ # major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes,
157
+ # allowing them to take advantage of thousands of tax rules in the AvaTax engine and resulting in accurate taxability determinations.
158
+ #
159
+ # ### Security Policies
160
+ #
161
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
162
+ # Swagger Name: AvaTaxClient
163
+ # @param companyId [Integer] The ID of the company creating this request.
164
+ # @param model [Object] The request you wish to create.
165
+ # @return [Object]
166
+ def create_tax_code_classification_request(companyId, model) path = "/api/v2/companies/#{companyId}/classificationrequests/taxcode"
167
+ post(path, model, {}, "22.3.0") end
168
+
169
+ # Delete a single item
170
+ #
171
+ # Deletes the item object at this URL.
172
+ #
173
+ # Items are a way of separating your tax calculation process from your tax configuration details.
174
+ # Use this endpoint to delete an existing item with item code.
175
+ #
176
+ # Deleting an item will also delete the parameters, classifications, and product categories associated with that item.
177
+ #
178
+ # NOTE: If your item code contains any of these characters /, +, ? or a space, please use the following encoding before making a request:
179
+ # * Replace '/' with '\_-ava2f-\_' For example: 'Item/Code' becomes 'Item_-ava2f-_Code'
180
+ # * Replace '+' with '\_-ava2b-\_' For example: 'Item+Code' becomes 'Item_-ava2b-_Code'
181
+ # * Replace '?' with '\_-ava3f-\_' For example: 'Item?Code' becomes 'Item_-ava3f-_Code'
182
+ # * Replace '%' with '\_-ava25-\_' For example: 'Item%Code' becomes 'Item_-ava25-_Code'
183
+ # * Replace '#' with '\_-ava23-\_' For example: 'Item#Code' becomes 'Item_-ava23-_Code'
184
+ # * Replace ''' with '\_-ava27-\_' For example: 'Item'Code' becomes 'Item_-ava27-_Code'
185
+ # * Replace '"' with '\_-ava22-\_' For example: 'Item"Code' becomes 'Item_-ava22-_Code'
186
+ #
187
+ # ### Security Policies
188
+ #
189
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
190
+ # Swagger Name: AvaTaxClient
191
+ # @param companyId [Integer] The ID of the company that owns this item.
192
+ # @param itemCode [String] The code of the item you want to delete.
193
+ # @return [ErrorDetail[]]
194
+ def delete_catalogue_item(companyId, itemCode) path = "/api/v2/companies/#{companyId}/itemcatalogue/#{itemCode}"
195
+ delete(path, {}, "22.3.0") end
150
196
 
151
197
  # Delete a single item
152
198
  #
@@ -168,7 +214,7 @@ module AvaTax
168
214
  # @param id [Integer] The ID of the item you wish to delete.
169
215
  # @return [ErrorDetail[]]
170
216
  def delete_item(companyId, id) path = "/api/v2/companies/#{companyId}/items/#{id}"
171
- delete(path, {}, "22.2.1") end
217
+ delete(path, {}, "22.3.0") end
172
218
 
173
219
  # Delete a single item classification.
174
220
  #
@@ -187,7 +233,7 @@ module AvaTax
187
233
  # @param id [Integer] The item classification id.
188
234
  # @return [ErrorDetail[]]
189
235
  def delete_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
190
- delete(path, {}, "22.2.1") end
236
+ delete(path, {}, "22.3.0") end
191
237
 
192
238
  # Delete a single item parameter
193
239
  #
@@ -208,7 +254,7 @@ module AvaTax
208
254
  # @param id [Integer] The parameter id
209
255
  # @return [ErrorDetail[]]
210
256
  def delete_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
211
- delete(path, {}, "22.2.1") end
257
+ delete(path, {}, "22.3.0") end
212
258
 
213
259
  # Delete item tag by id
214
260
  #
@@ -225,7 +271,7 @@ module AvaTax
225
271
  # @param itemTagDetailId [Integer] The ID of the item tag detail you wish to delete.
226
272
  # @return [ErrorDetail[]]
227
273
  def delete_item_tag(companyId, itemId, itemTagDetailId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags/#{itemTagDetailId}"
228
- delete(path, {}, "22.2.1") end
274
+ delete(path, {}, "22.3.0") end
229
275
 
230
276
  # Delete all item tags
231
277
  #
@@ -241,7 +287,31 @@ module AvaTax
241
287
  # @param itemId [Integer] The ID of the item as defined by the company that owns this tag.
242
288
  # @return [ErrorDetail[]]
243
289
  def delete_item_tags(companyId, itemId) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
244
- delete(path, {}, "22.2.1") end
290
+ delete(path, {}, "22.3.0") end
291
+
292
+ # Get the status of classification requests for a company
293
+ #
294
+ # Get the status of tax code classification requests for a company.
295
+ #
296
+ # Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and
297
+ # major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes,
298
+ # allowing them to take advantage of thousands of tax rules in the AvaTax engine and resulting in accurate taxability determinations.
299
+ #
300
+ # Enable includeClassificationDetails flag to get details of classification request status.
301
+ #
302
+ # ### Security Policies
303
+ #
304
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
305
+ # Swagger Name: AvaTaxClient
306
+ # @param companyId [Integer] The ID of the company that defined these items
307
+ # @param includeClassificationDetails [Boolean] A Boolean field that specifies whether to get a detailed classification status.
308
+ # @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:* classificationDetails, totalItems, status
309
+ # @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.
310
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
311
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
312
+ # @return [FetchResult]
313
+ def get_classification_status(companyId, options={}) path = "/api/v2/companies/#{companyId}/classificationrequests/taxcode"
314
+ get(path, options, "22.3.0") end
245
315
 
246
316
  # Retrieve a single item
247
317
  #
@@ -262,7 +332,7 @@ module AvaTax
262
332
  # @param include [String] A comma separated list of additional data to retrieve.
263
333
  # @return [Object]
264
334
  def get_item(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/items/#{id}"
265
- get(path, options, "22.2.1") end
335
+ get(path, options, "22.3.0") end
266
336
 
267
337
  # Retrieve a single item classification.
268
338
  #
@@ -281,7 +351,7 @@ module AvaTax
281
351
  # @param id [Integer] The item classification id.
282
352
  # @return [Object]
283
353
  def get_item_classification(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
284
- get(path, {}, "22.2.1") end
354
+ get(path, {}, "22.3.0") end
285
355
 
286
356
  # Retrieve a single item parameter
287
357
  #
@@ -302,7 +372,7 @@ module AvaTax
302
372
  # @param id [Integer] The parameter id
303
373
  # @return [Object]
304
374
  def get_item_parameter(companyId, itemId, id) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
305
- get(path, {}, "22.2.1") end
375
+ get(path, {}, "22.3.0") end
306
376
 
307
377
  # Retrieve tags for an item
308
378
  #
@@ -321,7 +391,56 @@ module AvaTax
321
391
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
322
392
  # @return [FetchResult]
323
393
  def get_item_tags(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/tags"
324
- get(path, options, "22.2.1") end
394
+ get(path, options, "22.3.0") end
395
+
396
+ # Get tax code recommendations
397
+ #
398
+ # Get tax code recommendations.
399
+ #
400
+ # Avalara AvaTax system tax codes represent various goods and services classified by industry or consumer categories and
401
+ # major physical similarities. Taxability rules are associated with tax codes. Customers can map their Items to tax codes,
402
+ # allowing them to take advantage of thousands of tax rules in the AvaTax engine and resulting in accurate taxability determinations.
403
+ #
404
+ # ### Security Policies
405
+ #
406
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
407
+ # Swagger Name: AvaTaxClient
408
+ # @param companyId [Integer] The ID of the company that defined these items
409
+ # @param requestId [Integer] The ID of the classification request
410
+ # @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:* recommendations, url
411
+ # @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.
412
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
413
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
414
+ # @return [FetchResult]
415
+ def get_tax_code_recommendations(companyId, requestId, options={}) path = "/api/v2/companies/#{companyId}/classificationrequests/taxcode/#{requestId}/recommendations"
416
+ get(path, options, "22.3.0") end
417
+
418
+ # Retrieve Restrictions for Item by CountryOfImport
419
+ #
420
+ # Retrieve Restrictions for Item by CountryOfImport. This API will only return import restriction for the countryOfImport.
421
+ #
422
+ # NOTE: If your item code contains any of these characters /, +, ? or a space, please use the following encoding before making a request:
423
+ # * Replace '/' with '\_-ava2f-\_' For example: 'Item/Code' becomes 'Item_-ava2f-_Code'
424
+ # * Replace '+' with '\_-ava2b-\_' For example: 'Item+Code' becomes 'Item_-ava2b-_Code'
425
+ # * Replace '?' with '\_-ava3f-\_' For example: 'Item?Code' becomes 'Item_-ava3f-_Code'
426
+ # * Replace '%' with '\_-ava25-\_' For example: 'Item%Code' becomes 'Item_-ava25-_Code'
427
+ # * Replace '#' with '\_-ava23-\_' For example: 'Item#Code' becomes 'Item_-ava23-_Code'
428
+ # * Replace ''' with '\_-ava27-\_' For example: 'Item'Code' becomes 'Item_-ava27-_Code'
429
+ # * Replace '"' with '\_-ava22-\_' For example: 'Item"Code' becomes 'Item_-ava22-_Code'
430
+ #
431
+ # ### Security Policies
432
+ #
433
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
434
+ # Swagger Name: AvaTaxClient
435
+ # @param companyId [Integer] The ID of the company that owns this item object
436
+ # @param itemCode [String] ItemCode for the item
437
+ # @param countryOfImport [String] Country for which you want the restrictions for the Item.
438
+ # @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.
439
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
440
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
441
+ # @return [FetchResult]
442
+ def list_import_restrictions(companyId, itemCode, countryOfImport, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemCode}/restrictions/import/#{countryOfImport}"
443
+ get(path, options, "22.3.0") end
325
444
 
326
445
  # Retrieve classifications for an item.
327
446
  #
@@ -346,7 +465,7 @@ module AvaTax
346
465
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
347
466
  # @return [FetchResult]
348
467
  def list_item_classifications(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications"
349
- get(path, options, "22.2.1") end
468
+ get(path, options, "22.3.0") end
350
469
 
351
470
  # Retrieve parameters for an item
352
471
  #
@@ -373,7 +492,7 @@ module AvaTax
373
492
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
374
493
  # @return [FetchResult]
375
494
  def list_item_parameters(companyId, itemId, options={}) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters"
376
- get(path, options, "22.2.1") end
495
+ get(path, options, "22.3.0") end
377
496
 
378
497
  # Retrieve items for this company
379
498
  #
@@ -402,7 +521,7 @@ module AvaTax
402
521
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
403
522
  # Swagger Name: AvaTaxClient
404
523
  # @param companyId [Integer] The ID of the company that defined these items
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
524
+ # @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, source, upc, classifications, parameters, tags
406
525
  # @param include [String] A comma separated list of additional data to retrieve.
407
526
  # @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.
408
527
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
@@ -410,7 +529,7 @@ module AvaTax
410
529
  # @param tagName [String] Tag Name on the basis of which you want to filter Items
411
530
  # @return [FetchResult]
412
531
  def list_items_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/items"
413
- get(path, options, "22.2.1") end
532
+ get(path, options, "22.3.0") end
414
533
 
415
534
  # Retrieve all items
416
535
  #
@@ -430,14 +549,14 @@ module AvaTax
430
549
  #
431
550
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
432
551
  # Swagger Name: AvaTaxClient
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
552
+ # @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, source, upc, classifications, parameters, tags
434
553
  # @param include [String] A comma separated list of additional data to retrieve.
435
554
  # @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.
436
555
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
437
556
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
438
557
  # @return [FetchResult]
439
558
  def query_items(options={}) path = "/api/v2/items"
440
- get(path, options, "22.2.1") end
559
+ get(path, options, "22.3.0") end
441
560
 
442
561
  # Retrieve all items associated with given tag
443
562
  #
@@ -459,14 +578,32 @@ module AvaTax
459
578
  # Swagger Name: AvaTaxClient
460
579
  # @param companyId [Integer] The ID of the company that defined these items.
461
580
  # @param tag [String] The master tag to be associated with item.
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
581
+ # @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, source, upc, classifications, parameters, tags
463
582
  # @param include [String] A comma separated list of additional data to retrieve.
464
583
  # @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.
465
584
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
466
585
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
467
586
  # @return [FetchResult]
468
587
  def query_items_by_tag(companyId, tag, options={}) path = "/api/v2/companies/#{companyId}/items/bytags/#{tag}"
469
- get(path, options, "22.2.1") end
588
+ get(path, options, "22.3.0") end
589
+
590
+ # Create or update items from a product catalog.
591
+ #
592
+ # Creates/updates one or more item objects with additional properties and the AvaTax category attached to this company.
593
+ #
594
+ # Items are a way of separating your tax calculation process from your tax configuration details. Use this endpoint to create
595
+ # a new or update an existing item. This can be used to sync the items with Avalara. For example, an accounting software
596
+ # system can use this to sync all their items from an ERP with Avalara.
597
+ #
598
+ # ### Security Policies
599
+ #
600
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.
601
+ # Swagger Name: AvaTaxClient
602
+ # @param companyId [Integer] The ID of the company that owns this item.
603
+ # @param model [ItemCatalogueInputModel[]] The items you want to create or update.
604
+ # @return [Object]
605
+ def sync_item_catalogue(companyId, model) path = "/api/v2/companies/#{companyId}/itemcatalogue"
606
+ post(path, model, {}, "22.3.0") end
470
607
 
471
608
  # Sync items from a product catalog
472
609
  #
@@ -491,7 +628,7 @@ module AvaTax
491
628
  # @param model [Object] The request object.
492
629
  # @return [Object]
493
630
  def sync_items(companyId, model) path = "/api/v2/companies/#{companyId}/items/sync"
494
- post(path, model, {}, "22.2.1") end
631
+ post(path, model, {}, "22.3.0") end
495
632
 
496
633
  # Update a single item
497
634
  #
@@ -517,7 +654,7 @@ module AvaTax
517
654
  # @param model [Object] The item object you wish to update.
518
655
  # @return [Object]
519
656
  def update_item(companyId, id, model) path = "/api/v2/companies/#{companyId}/items/#{id}"
520
- put(path, model, {}, "22.2.1") end
657
+ put(path, model, {}, "22.3.0") end
521
658
 
522
659
  # Update an item classification.
523
660
  #
@@ -539,7 +676,7 @@ module AvaTax
539
676
  # @param model [Object] The item object you wish to update.
540
677
  # @return [Object]
541
678
  def update_item_classification(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/classifications/#{id}"
542
- put(path, model, {}, "22.2.1") end
679
+ put(path, model, {}, "22.3.0") end
543
680
 
544
681
  # Update an item parameter
545
682
  #
@@ -561,7 +698,7 @@ module AvaTax
561
698
  # @param model [Object] The item object you wish to update.
562
699
  # @return [Object]
563
700
  def update_item_parameter(companyId, itemId, id, model) path = "/api/v2/companies/#{companyId}/items/#{itemId}/parameters/#{id}"
564
- put(path, model, {}, "22.2.1") end
701
+ put(path, model, {}, "22.3.0") end
565
702
  end
566
703
  end
567
704
  end