avatax 21.10.0 → 21.12.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 (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avatax/client/accounts.rb +22 -11
  3. data/lib/avatax/client/addresses.rb +4 -2
  4. data/lib/avatax/client/advancedrules.rb +10 -5
  5. data/lib/avatax/client/ageverification.rb +29 -0
  6. data/lib/avatax/client/avafileforms.rb +10 -5
  7. data/lib/avatax/client/batches.rb +16 -8
  8. data/lib/avatax/client/certexpressinvites.rb +6 -3
  9. data/lib/avatax/client/certificates.rb +30 -15
  10. data/lib/avatax/client/companies.rb +42 -21
  11. data/lib/avatax/client/compliance.rb +25 -14
  12. data/lib/avatax/client/contacts.rb +12 -6
  13. data/lib/avatax/client/customers.rb +26 -13
  14. data/lib/avatax/client/datasources.rb +12 -6
  15. data/lib/avatax/client/definitions.rb +140 -70
  16. data/lib/avatax/client/distancethresholds.rb +12 -6
  17. data/lib/avatax/client/ecommercetoken.rb +4 -2
  18. data/lib/avatax/client/filingcalendars.rb +7 -4
  19. data/lib/avatax/client/filings.rb +4 -2
  20. data/lib/avatax/client/firmclientlinkages.rb +18 -9
  21. data/lib/avatax/client/free.rb +2 -1
  22. data/lib/avatax/client/fundingrequests.rb +4 -2
  23. data/lib/avatax/client/items.rb +50 -25
  24. data/lib/avatax/client/jurisdictionoverrides.rb +12 -6
  25. data/lib/avatax/client/locations.rb +24 -12
  26. data/lib/avatax/client/multidocument.rb +20 -10
  27. data/lib/avatax/client/nexus.rb +30 -15
  28. data/lib/avatax/client/notices.rb +8 -4
  29. data/lib/avatax/client/notifications.rb +6 -3
  30. data/lib/avatax/client/provisioning.rb +4 -2
  31. data/lib/avatax/client/registrar.rb +22 -11
  32. data/lib/avatax/client/reports.rb +8 -4
  33. data/lib/avatax/client/settings.rb +12 -6
  34. data/lib/avatax/client/shippingverification.rb +66 -0
  35. data/lib/avatax/client/subscriptions.rb +6 -3
  36. data/lib/avatax/client/taxcodes.rb +12 -6
  37. data/lib/avatax/client/taxcontent.rb +10 -5
  38. data/lib/avatax/client/taxrules.rb +12 -6
  39. data/lib/avatax/client/transactions.rb +42 -21
  40. data/lib/avatax/client/upcs.rb +12 -6
  41. data/lib/avatax/client/userdefinedfields.rb +52 -0
  42. data/lib/avatax/client/users.rb +16 -8
  43. data/lib/avatax/client/utilities.rb +6 -3
  44. data/lib/avatax/client.rb +2 -0
  45. data/lib/avatax/connection.rb +1 -1
  46. data/lib/avatax/request.rb +10 -9
  47. data/lib/avatax/version.rb +1 -1
  48. metadata +5 -2
@@ -25,11 +25,12 @@ module AvaTax
25
25
  #
26
26
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
27
27
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
28
+ # Swagger Name: AvaTaxClient
28
29
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
29
30
  # @param model [CustomerModel[]] The list of customer objects to be created
30
31
  # @return [CustomerModel[]]
31
32
  def create_customers(companyId, model) path = "/api/v2/companies/#{companyId}/customers"
32
- post(path, model) end
33
+ post(path, model, {}, "21.12.0") end
33
34
 
34
35
  # Delete a customer record
35
36
  #
@@ -50,11 +51,12 @@ module AvaTax
50
51
  #
51
52
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
52
53
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
54
+ # Swagger Name: AvaTaxClient
53
55
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
54
56
  # @param customerCode [String] The unique code representing this customer
55
57
  # @return [Object]
56
58
  def delete_customer(companyId, customerCode) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}"
57
- delete(path) end
59
+ delete(path, {}, "21.12.0") end
58
60
 
59
61
  # Retrieve a single customer
60
62
  #
@@ -81,12 +83,13 @@ module AvaTax
81
83
  #
82
84
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
83
85
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
86
+ # Swagger Name: AvaTaxClient
84
87
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
85
88
  # @param customerCode [String] The unique code representing this customer
86
89
  # @param include [String] Specify optional additional objects to include in this fetch request
87
90
  # @return [Object]
88
91
  def get_customer(companyId, customerCode, options={}) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}"
89
- get(path, options) end
92
+ get(path, options, "21.12.0") end
90
93
 
91
94
  # Link attributes to a customer
92
95
  #
@@ -110,12 +113,13 @@ module AvaTax
110
113
  #
111
114
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
112
115
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
116
+ # Swagger Name: AvaTaxClient
113
117
  # @param companyId [Integer] The unique ID number of the company that recorded the provided customer
114
118
  # @param customerCode [String] The unique code representing the current customer
115
119
  # @param model [CustomerAttributeModel[]] The list of attributes to link to the customer.
116
120
  # @return [FetchResult]
117
121
  def link_attributes_to_customer(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes/link"
118
- put(path, model) end
122
+ put(path, model, {}, "21.12.0") end
119
123
 
120
124
  # Link certificates to a customer
121
125
  #
@@ -136,12 +140,13 @@ module AvaTax
136
140
  #
137
141
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
138
142
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
143
+ # Swagger Name: AvaTaxClient
139
144
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
140
145
  # @param customerCode [String] The unique code representing this customer
141
146
  # @param model [Object] The list of certificates to link to this customer
142
147
  # @return [FetchResult]
143
148
  def link_certificates_to_customer(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certificates/link"
144
- post(path, model) end
149
+ post(path, model, {}, "21.12.0") end
145
150
 
146
151
  # Link two customer records together
147
152
  #
@@ -163,12 +168,13 @@ module AvaTax
163
168
  #
164
169
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
165
170
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
171
+ # Swagger Name: AvaTaxClient
166
172
  # @param companyId [Integer] The unique ID number of the company defining customers.
167
173
  # @param code [String] The code of the bill-to customer to link.
168
174
  # @param model [Object] A list of information about ship-to customers to link to this bill-to customer.
169
175
  # @return [Object]
170
176
  def link_ship_to_customers_to_bill_customer(companyId, code, model) path = "/api/v2/companies/#{companyId}/customers/billto/#{code}/shipto/link"
171
- post(path, model) end
177
+ post(path, model, {}, "21.12.0") end
172
178
 
173
179
  # Retrieve a customer's attributes
174
180
  #
@@ -192,11 +198,12 @@ module AvaTax
192
198
  #
193
199
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
194
200
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
201
+ # Swagger Name: AvaTaxClient
195
202
  # @param companyId [Integer] The unique ID number of the company that recorded the provided customer
196
203
  # @param customerCode [String] The unique code representing the current customer
197
204
  # @return [FetchResult]
198
205
  def list_attributes_for_customer(companyId, customerCode) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes"
199
- get(path) end
206
+ get(path, {}, "21.12.0") end
200
207
 
201
208
  # List certificates linked to a customer
202
209
  #
@@ -217,6 +224,7 @@ module AvaTax
217
224
  #
218
225
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
219
226
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
227
+ # Swagger Name: AvaTaxClient
220
228
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
221
229
  # @param customerCode [String] The unique code representing this customer
222
230
  # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
@@ -226,7 +234,7 @@ module AvaTax
226
234
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
227
235
  # @return [FetchResult]
228
236
  def list_certificates_for_customer(companyId, customerCode, options={}) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certificates"
229
- get(path, options) end
237
+ get(path, options, "21.12.0") end
230
238
 
231
239
  # List valid certificates for a location
232
240
  #
@@ -250,13 +258,14 @@ module AvaTax
250
258
  #
251
259
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
252
260
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
261
+ # Swagger Name: AvaTaxClient
253
262
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
254
263
  # @param customerCode [String] The unique code representing this customer
255
264
  # @param country [String] Search for certificates matching this country. Uses the ISO 3166 two character country code.
256
265
  # @param region [String] Search for certificates matching this region. Uses the ISO 3166 two or three character state, region, or province code.
257
266
  # @return [Object]
258
267
  def list_valid_certificates_for_customer(companyId, customerCode, country, region) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certificates/#{country}/#{region}"
259
- get(path) end
268
+ get(path, {}, "21.12.0") end
260
269
 
261
270
  # List all customers for this company
262
271
  #
@@ -282,6 +291,7 @@ module AvaTax
282
291
  #
283
292
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
284
293
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
294
+ # Swagger Name: AvaTaxClient
285
295
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
286
296
  # @param include [String] OPTIONAL - You can specify the value `certificates` to fetch information about certificates linked to the customer.
287
297
  # @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:* shipTos
@@ -290,7 +300,7 @@ module AvaTax
290
300
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
291
301
  # @return [FetchResult]
292
302
  def query_customers(companyId, options={}) path = "/api/v2/companies/#{companyId}/customers"
293
- get(path, options) end
303
+ get(path, options, "21.12.0") end
294
304
 
295
305
  # Unlink attributes from a customer
296
306
  #
@@ -314,12 +324,13 @@ module AvaTax
314
324
  #
315
325
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
316
326
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
327
+ # Swagger Name: AvaTaxClient
317
328
  # @param companyId [Integer] The unique ID number of the company that recorded the customer
318
329
  # @param customerCode [String] The unique code representing the current customer
319
330
  # @param model [CustomerAttributeModel[]] The list of attributes to unlink from the customer.
320
331
  # @return [FetchResult]
321
332
  def unlink_attributes_from_customer(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/attributes/unlink"
322
- put(path, model) end
333
+ put(path, model, {}, "21.12.0") end
323
334
 
324
335
  # Unlink certificates from a customer
325
336
  #
@@ -340,12 +351,13 @@ module AvaTax
340
351
  #
341
352
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
342
353
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
354
+ # Swagger Name: AvaTaxClient
343
355
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
344
356
  # @param customerCode [String] The unique code representing this customer
345
357
  # @param model [Object] The list of certificates to link to this customer
346
358
  # @return [FetchResult]
347
359
  def unlink_certificates_from_customer(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certificates/unlink"
348
- post(path, model) end
360
+ post(path, model, {}, "21.12.0") end
349
361
 
350
362
  # Update a single customer
351
363
  #
@@ -366,12 +378,13 @@ module AvaTax
366
378
  #
367
379
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
368
380
  # * This API depends on the following active services:*Required* (all): AvaTaxPro.
381
+ # Swagger Name: AvaTaxClient
369
382
  # @param companyId [Integer] The unique ID number of the company that recorded this customer
370
383
  # @param customerCode [String] The unique code representing this customer
371
384
  # @param model [Object] The new customer model that will replace the existing record at this URL
372
385
  # @return [Object]
373
386
  def update_customer(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}"
374
- put(path, model) end
387
+ put(path, model, {}, "21.12.0") end
375
388
  end
376
389
  end
377
390
  end
@@ -11,11 +11,12 @@ module AvaTax
11
11
  #
12
12
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
13
13
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
14
+ # Swagger Name: AvaTaxClient
14
15
  # @param companyId [Integer] The id of the company you which to create the datasources
15
16
  # @param model [DataSourceModel[]]
16
17
  # @return [DataSourceModel[]]
17
18
  def create_data_sources(companyId, model) path = "/api/v2/companies/#{companyId}/datasources"
18
- post(path, model) end
19
+ post(path, model, {}, "21.12.0") end
19
20
 
20
21
  # Delete a datasource by datasource id for a company.
21
22
  #
@@ -25,11 +26,12 @@ module AvaTax
25
26
  #
26
27
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
27
28
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
29
+ # Swagger Name: AvaTaxClient
28
30
  # @param companyId [Integer] The id of the company the datasource belongs to.
29
31
  # @param id [Integer] The id of the datasource you wish to delete.
30
32
  # @return [ErrorDetail[]]
31
33
  def delete_data_source(companyId, id) path = "/api/v2/companies/#{companyId}/datasources/#{id}"
32
- delete(path) end
34
+ delete(path, {}, "21.12.0") end
33
35
 
34
36
  # Get data source by data source id
35
37
  #
@@ -39,11 +41,12 @@ module AvaTax
39
41
  #
40
42
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
41
43
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
44
+ # Swagger Name: AvaTaxClient
42
45
  # @param companyId [Integer]
43
46
  # @param id [Integer] data source id
44
47
  # @return [Object]
45
48
  def get_data_source_by_id(companyId, id) path = "/api/v2/companies/#{companyId}/datasources/#{id}"
46
- get(path) end
49
+ get(path, {}, "21.12.0") end
47
50
 
48
51
  # Retrieve all datasources for this company
49
52
  #
@@ -53,6 +56,7 @@ module AvaTax
53
56
  #
54
57
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
55
58
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
59
+ # Swagger Name: AvaTaxClient
56
60
  # @param companyId [Integer] The id of the company you wish to retrieve the datasources.
57
61
  # @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:* isEnabled, isSynced, isAuthorized, name, externalState
58
62
  # @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.
@@ -60,7 +64,7 @@ module AvaTax
60
64
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
61
65
  # @return [FetchResult]
62
66
  def list_data_sources(companyId, options={}) path = "/api/v2/companies/#{companyId}/datasources"
63
- get(path, options) end
67
+ get(path, options, "21.12.0") end
64
68
 
65
69
  # Retrieve all datasources
66
70
  #
@@ -73,13 +77,14 @@ module AvaTax
73
77
  #
74
78
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
75
79
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
80
+ # Swagger Name: AvaTaxClient
76
81
  # @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:* isEnabled, isSynced, isAuthorized, name, externalState
77
82
  # @param top [Integer] If nonzero, return no more than this number of results. Used with `$skip` to provide pagination for large datasets. Unless otherwise specified, the maximum number of records that can be returned from an API call is 1,000 records.
78
83
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
79
84
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
80
85
  # @return [FetchResult]
81
86
  def query_data_sources(options={}) path = "/api/v2/datasources"
82
- get(path, options) end
87
+ get(path, options, "21.12.0") end
83
88
 
84
89
  # Update a datasource identified by id for a company
85
90
  #
@@ -89,12 +94,13 @@ module AvaTax
89
94
  #
90
95
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
91
96
  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
97
+ # Swagger Name: AvaTaxClient
92
98
  # @param companyId [Integer] The id of the company the datasource belongs to.
93
99
  # @param id [Integer] The id of the datasource you wish to delete.
94
100
  # @param model [Object]
95
101
  # @return [Object]
96
102
  def update_data_source(companyId, id, model) path = "/api/v2/companies/#{companyId}/datasources/#{id}"
97
- put(path, model) end
103
+ put(path, model, {}, "21.12.0") end
98
104
  end
99
105
  end
100
106
  end