avatax 22.2.1 → 22.3.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 (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