avatax 21.10.0 → 21.12.0

Sign up to get free protection for your applications and to get access to all the features.
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