avatax 21.12.0 → 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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +55 -55
  3. data/.rspec +1 -1
  4. data/.travis.yml +18 -18
  5. data/.vs/VSWorkspaceState.json +5 -5
  6. data/.yardopts +4 -4
  7. data/Gemfile +2 -2
  8. data/LICENSE +201 -201
  9. data/README.md +98 -98
  10. data/Rakefile +9 -9
  11. data/avatax.gemspec +38 -38
  12. data/example/avatax.rb +47 -47
  13. data/example/credentials.example.yaml +5 -5
  14. data/lib/avatax/api.rb +27 -27
  15. data/lib/avatax/client/accounts.rb +11 -11
  16. data/lib/avatax/client/addresses.rb +2 -2
  17. data/lib/avatax/client/advancedrules.rb +5 -5
  18. data/lib/avatax/client/avafileforms.rb +5 -5
  19. data/lib/avatax/client/batches.rb +8 -8
  20. data/lib/avatax/client/certexpressinvites.rb +3 -3
  21. data/lib/avatax/client/certificates.rb +15 -15
  22. data/lib/avatax/client/companies.rb +40 -21
  23. data/lib/avatax/client/compliance.rb +1 -1
  24. data/lib/avatax/client/contacts.rb +6 -6
  25. data/lib/avatax/client/customers.rb +13 -13
  26. data/lib/avatax/client/datasources.rb +6 -6
  27. data/lib/avatax/client/definitions.rb +75 -72
  28. data/lib/avatax/client/distancethresholds.rb +6 -6
  29. data/lib/avatax/client/ecms.rb +73 -73
  30. data/lib/avatax/client/ecommercetoken.rb +2 -2
  31. data/lib/avatax/client/errortransactions.rb +61 -61
  32. data/lib/avatax/client/filingcalendars.rb +3 -3
  33. data/lib/avatax/client/filings.rb +2 -2
  34. data/lib/avatax/client/firmclientlinkages.rb +9 -9
  35. data/lib/avatax/client/free.rb +1 -1
  36. data/lib/avatax/client/fundingrequests.rb +2 -2
  37. data/lib/avatax/client/items.rb +165 -28
  38. data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
  39. data/lib/avatax/client/locations.rb +12 -12
  40. data/lib/avatax/client/multidocument.rb +10 -10
  41. data/lib/avatax/client/nexus.rb +15 -15
  42. data/lib/avatax/client/notices.rb +4 -4
  43. data/lib/avatax/client/notifications.rb +3 -3
  44. data/lib/avatax/client/onboarding.rb +55 -55
  45. data/lib/avatax/client/pointofsale.rb +21 -21
  46. data/lib/avatax/client/provisioning.rb +2 -2
  47. data/lib/avatax/client/registrar.rb +10 -21
  48. data/lib/avatax/client/reports.rb +4 -4
  49. data/lib/avatax/client/settings.rb +6 -6
  50. data/lib/avatax/client/shippingverification.rb +25 -9
  51. data/lib/avatax/client/subscriptions.rb +3 -3
  52. data/lib/avatax/client/taxcodes.rb +6 -6
  53. data/lib/avatax/client/taxcontent.rb +5 -5
  54. data/lib/avatax/client/taxprofiles.rb +42 -42
  55. data/lib/avatax/client/taxrules.rb +6 -6
  56. data/lib/avatax/client/transactions.rb +22 -23
  57. data/lib/avatax/client/upcs.rb +6 -6
  58. data/lib/avatax/client/userdefinedfields.rb +3 -3
  59. data/lib/avatax/client/users.rb +8 -8
  60. data/lib/avatax/client/utilities.rb +3 -3
  61. data/lib/avatax/client.rb +37 -37
  62. data/lib/avatax/configuration.rb +76 -76
  63. data/lib/avatax/connection.rb +49 -49
  64. data/lib/avatax/request.rb +51 -50
  65. data/lib/avatax/version.rb +3 -3
  66. data/lib/avatax.rb +26 -26
  67. data/spec/avatax/client/accounts_spec.rb +13 -13
  68. data/spec/avatax/client/transactions_spec.rb +80 -80
  69. data/spec/avatax/request_spec.rb +25 -25
  70. data/spec/avatax_spec.rb +45 -45
  71. data/spec/credentials.yaml.example +4 -4
  72. data/spec/fixtures/accounts.json +15 -15
  73. data/spec/spec_helper.rb +27 -27
  74. metadata +6 -13
@@ -33,7 +33,7 @@ module AvaTax
33
33
  # @param model [NexusModel[]] The nexus you wish to create.
34
34
  # @return [NexusModel[]]
35
35
  def create_nexus(companyId, model) path = "/api/v2/companies/#{companyId}/nexus"
36
- post(path, model, {}, "21.12.0") end
36
+ post(path, model, {}, "22.3.0") end
37
37
 
38
38
  # Add parameters to a nexus.
39
39
  #
@@ -57,7 +57,7 @@ module AvaTax
57
57
  # @param model [NexusParameterDetailModel[]] The nexus parameters you wish to create.
58
58
  # @return [NexusParameterDetailModel[]]
59
59
  def create_nexus_parameters(companyId, nexusId, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
60
- post(path, model, {}, "21.12.0") end
60
+ post(path, model, {}, "22.3.0") end
61
61
 
62
62
  # Creates nexus for a list of addresses.
63
63
  #
@@ -85,7 +85,7 @@ module AvaTax
85
85
  # @param model [DeclareNexusByAddressModel[]] The nexus you wish to create.
86
86
  # @return [NexusByAddressModel[]]
87
87
  def declare_nexus_by_address(companyId, model) path = "/api/v2/companies/#{companyId}/nexus/byaddress"
88
- post(path, model, {}, "21.12.0") end
88
+ post(path, model, {}, "22.3.0") end
89
89
 
90
90
  # Delete a single nexus
91
91
  #
@@ -107,7 +107,7 @@ module AvaTax
107
107
  # @param cascadeDelete [Boolean] If true, deletes all the child nexus if they exist along with parent nexus
108
108
  # @return [ErrorDetail[]]
109
109
  def delete_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
110
- delete(path, options, "21.12.0") end
110
+ delete(path, options, "22.3.0") end
111
111
 
112
112
  # Delete a single nexus parameter
113
113
  #
@@ -127,7 +127,7 @@ module AvaTax
127
127
  # @param id [Integer] The parameter id
128
128
  # @return [ErrorDetail[]]
129
129
  def delete_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
130
- delete(path, {}, "21.12.0") end
130
+ delete(path, {}, "22.3.0") end
131
131
 
132
132
  # Delete all parameters for an nexus
133
133
  #
@@ -146,7 +146,7 @@ module AvaTax
146
146
  # @param nexusId [Integer] The ID of the nexus you wish to delete the parameters.
147
147
  # @return [ErrorDetail[]]
148
148
  def delete_nexus_parameters(companyId, nexusId) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
149
- delete(path, {}, "21.12.0") end
149
+ delete(path, {}, "22.3.0") end
150
150
 
151
151
  # Retrieve a single nexus
152
152
  #
@@ -168,7 +168,7 @@ module AvaTax
168
168
  # @param include [String]
169
169
  # @return [Object]
170
170
  def get_nexus(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
171
- get(path, options, "21.12.0") end
171
+ get(path, options, "22.3.0") end
172
172
 
173
173
  # List company nexus related to a tax form
174
174
  #
@@ -194,7 +194,7 @@ module AvaTax
194
194
  # @param include [String]
195
195
  # @return [Object]
196
196
  def get_nexus_by_form_code(companyId, formCode, options={}) path = "/api/v2/companies/#{companyId}/nexus/byform/#{formCode}"
197
- get(path, options, "21.12.0") end
197
+ get(path, options, "22.3.0") end
198
198
 
199
199
  # Retrieve a single nexus parameter
200
200
  #
@@ -214,7 +214,7 @@ module AvaTax
214
214
  # @param id [Integer] The parameter id
215
215
  # @return [Object]
216
216
  def get_nexus_parameter(companyId, nexusId, id) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
217
- get(path, {}, "21.12.0") end
217
+ get(path, {}, "22.3.0") end
218
218
 
219
219
  # Retrieve nexus for this company
220
220
  #
@@ -242,7 +242,7 @@ module AvaTax
242
242
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
243
243
  # @return [FetchResult]
244
244
  def list_nexus_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/nexus"
245
- get(path, options, "21.12.0") end
245
+ get(path, options, "22.3.0") end
246
246
 
247
247
  # Retrieve nexus for this company By TaxTypeGroup
248
248
  #
@@ -271,7 +271,7 @@ module AvaTax
271
271
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
272
272
  # @return [FetchResult]
273
273
  def list_nexus_by_company_and_tax_type_group(companyId, taxTypeGroup, options={}) path = "/api/v2/companies/#{companyId}/nexus/byTaxTypeGroup/#{taxTypeGroup}"
274
- get(path, options, "21.12.0") end
274
+ get(path, options, "22.3.0") end
275
275
 
276
276
  # Retrieve parameters for a nexus
277
277
  #
@@ -297,7 +297,7 @@ module AvaTax
297
297
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
298
298
  # @return [FetchResult]
299
299
  def list_nexus_parameters(companyId, nexusId, options={}) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters"
300
- get(path, options, "21.12.0") end
300
+ get(path, options, "22.3.0") end
301
301
 
302
302
  # Retrieve all nexus
303
303
  #
@@ -324,7 +324,7 @@ module AvaTax
324
324
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
325
325
  # @return [FetchResult]
326
326
  def query_nexus(options={}) path = "/api/v2/nexus"
327
- get(path, options, "21.12.0") end
327
+ get(path, options, "22.3.0") end
328
328
 
329
329
  # Update a single nexus
330
330
  #
@@ -357,7 +357,7 @@ module AvaTax
357
357
  # @param model [Object] The nexus object you wish to update.
358
358
  # @return [Object]
359
359
  def update_nexus(companyId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{id}"
360
- put(path, model, {}, "21.12.0") end
360
+ put(path, model, {}, "22.3.0") end
361
361
 
362
362
  # Update an nexus parameter
363
363
  #
@@ -379,7 +379,7 @@ module AvaTax
379
379
  # @param model [Object] The nexus object you wish to update.
380
380
  # @return [Object]
381
381
  def update_nexus_parameter(companyId, nexusId, id, model) path = "/api/v2/companies/#{companyId}/nexus/#{nexusId}/parameters/#{id}"
382
- put(path, model, {}, "21.12.0") end
382
+ put(path, model, {}, "22.3.0") end
383
383
  end
384
384
  end
385
385
  end
@@ -15,7 +15,7 @@ module AvaTax
15
15
  # @param model [Object] The responsibility type to create
16
16
  # @return [Object]
17
17
  def create_notice_responsibility_type(model) path = "/api/v2/notices/responsibilities"
18
- post(path, model, {}, "21.12.0") end
18
+ post(path, model, {}, "22.3.0") end
19
19
 
20
20
  # Creates a new tax notice root cause type.
21
21
  #
@@ -29,7 +29,7 @@ module AvaTax
29
29
  # @param model [Object] The root cause type to create
30
30
  # @return [Object]
31
31
  def create_notice_root_cause_type(model) path = "/api/v2/notices/rootcauses"
32
- post(path, model, {}, "21.12.0") end
32
+ post(path, model, {}, "22.3.0") end
33
33
 
34
34
  # Delete a tax notice responsibility type.
35
35
  #
@@ -42,7 +42,7 @@ module AvaTax
42
42
  # @param responsibilityId [Integer] The unique ID of the responsibility type
43
43
  # @return [ErrorDetail[]]
44
44
  def delete_notice_responsibility_type(responsibilityId) path = "/api/v2/notices/responsibilities/#{responsibilityId}"
45
- delete(path, {}, "21.12.0") end
45
+ delete(path, {}, "22.3.0") end
46
46
 
47
47
  # Delete a tax notice root cause type.
48
48
  #
@@ -55,7 +55,7 @@ module AvaTax
55
55
  # @param rootCauseId [Integer] The unique ID of the root cause type
56
56
  # @return [ErrorDetail[]]
57
57
  def delete_notice_root_cause_type(rootCauseId) path = "/api/v2/notices/rootcauses/#{rootCauseId}"
58
- delete(path, {}, "21.12.0") end
58
+ delete(path, {}, "22.3.0") end
59
59
  end
60
60
  end
61
61
  end
@@ -27,7 +27,7 @@ module AvaTax
27
27
  # @param id [Integer] The id of the notification you wish to mark as dismissed.
28
28
  # @return [Object]
29
29
  def dismiss_notification(id) path = "/api/v2/notifications/#{id}/dismiss"
30
- put(path, {}, "21.12.0") end
30
+ put(path, {}, "22.3.0") end
31
31
 
32
32
  # Retrieve a single notification.
33
33
  #
@@ -47,7 +47,7 @@ module AvaTax
47
47
  # @param id [Integer] The id of the notification to retrieve.
48
48
  # @return [Object]
49
49
  def get_notification(id) path = "/api/v2/notifications/#{id}"
50
- get(path, {}, "21.12.0") end
50
+ get(path, {}, "22.3.0") end
51
51
 
52
52
  # List all notifications.
53
53
  #
@@ -73,7 +73,7 @@ module AvaTax
73
73
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
74
74
  # @return [FetchResult]
75
75
  def list_notifications(options={}) path = "/api/v2/notifications"
76
- get(path, options, "21.12.0") end
76
+ get(path, options, "22.3.0") end
77
77
  end
78
78
  end
79
79
  end
@@ -1,56 +1,56 @@
1
- module AvaTax
2
- class Client
3
- module Onboarding
4
-
5
-
6
- # Request a new Avalara account
7
- #
8
- # This API is for use by partner onboarding services customers only.
9
- #
10
- # Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features
11
- # of AvaTax. These partners can create accounts for new customers using this API.
12
- #
13
- # Calling this API creates an account with the specified product subscriptions, but does not configure billing.
14
- # The customer will receive information from Avalara about how to configure billing for their account.
15
- # You should call this API when a customer has requested to begin using Avalara services.
16
- #
17
- # If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara
18
- # terms and conditions. If they do so, they can receive a license key as part of this API and their
19
- # API will be created in `Active` status. If the customer has not yet read and accepted these terms and
20
- # conditions, the account will be created in `New` status and they can receive a license key by logging
21
- # onto the AvaTax website and reviewing terms and conditions online.
22
- #
23
- # ### Security Policies
24
- #
25
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
26
- # * This API is available by invitation only.
27
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
28
- # @param model [Object] Information about the account you wish to create and the selected product offerings.
29
- # @return [Object]
30
- def request_new_account(model)
31
- path = "/api/v2/accounts/request"
32
- post(path, model)
33
- end
34
-
35
-
36
- # Request a new entitilement to an existing customer
37
- #
38
- # This API is for use by partner onboarding services customers only. This will allow the partners to allow
39
- # the add new entitlement to an existing customer
40
- #
41
- # ### Security Policies
42
- #
43
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
44
- # * This API is available by invitation only.
45
- # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
46
- # @param id [Integer] The avatax account id of the customer
47
- # @param offer [String] The offer to be added to an already existing customer
48
- # @return [Object]
49
- def request_new_entitlement(id, offer)
50
- path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
51
- post(path)
52
- end
53
-
54
- end
55
- end
1
+ module AvaTax
2
+ class Client
3
+ module Onboarding
4
+
5
+
6
+ # Request a new Avalara account
7
+ #
8
+ # This API is for use by partner onboarding services customers only.
9
+ #
10
+ # Avalara invites select partners to refer new customers to the AvaTax service using the onboarding features
11
+ # of AvaTax. These partners can create accounts for new customers using this API.
12
+ #
13
+ # Calling this API creates an account with the specified product subscriptions, but does not configure billing.
14
+ # The customer will receive information from Avalara about how to configure billing for their account.
15
+ # You should call this API when a customer has requested to begin using Avalara services.
16
+ #
17
+ # If the newly created account owner wishes, they can confirm that they have read and agree to the Avalara
18
+ # terms and conditions. If they do so, they can receive a license key as part of this API and their
19
+ # API will be created in `Active` status. If the customer has not yet read and accepted these terms and
20
+ # conditions, the account will be created in `New` status and they can receive a license key by logging
21
+ # onto the AvaTax website and reviewing terms and conditions online.
22
+ #
23
+ # ### Security Policies
24
+ #
25
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
26
+ # * This API is available by invitation only.
27
+ # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
28
+ # @param model [Object] Information about the account you wish to create and the selected product offerings.
29
+ # @return [Object]
30
+ def request_new_account(model)
31
+ path = "/api/v2/accounts/request"
32
+ post(path, model)
33
+ end
34
+
35
+
36
+ # Request a new entitilement to an existing customer
37
+ #
38
+ # This API is for use by partner onboarding services customers only. This will allow the partners to allow
39
+ # the add new entitlement to an existing customer
40
+ #
41
+ # ### Security Policies
42
+ #
43
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
44
+ # * This API is available by invitation only.
45
+ # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Onboarding:RequestNewAccount].
46
+ # @param id [Integer] The avatax account id of the customer
47
+ # @param offer [String] The offer to be added to an already existing customer
48
+ # @return [Object]
49
+ def request_new_entitlement(id, offer)
50
+ path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
51
+ post(path)
52
+ end
53
+
54
+ end
55
+ end
56
56
  end
@@ -1,22 +1,22 @@
1
- module AvaTax
2
- class Client
3
- module PointOfSale
4
-
5
-
6
- # Point of sale data file generation
7
- #
8
- # Builds a point-of-sale data file containing tax rates and rules for items and locations that can be used
9
- # to correctly calculate tax in the event a point-of-sale device is not able to reach AvaTax.
10
- # This data file can be customized for specific partner devices and usage conditions.
11
- # The result of this API is the file you requested in the format you requested using the 'responseType' field.
12
- # This API builds the file on demand, and is limited to files with no more than 7500 scenarios.
13
- # @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
14
- # @return [Object]
15
- def build_point_of_sale_data_file(model)
16
- path = "/api/v2/pointofsaledata/build"
17
- post(path, model)
18
- end
19
-
20
- end
21
- end
1
+ module AvaTax
2
+ class Client
3
+ module PointOfSale
4
+
5
+
6
+ # Point of sale data file generation
7
+ #
8
+ # Builds a point-of-sale data file containing tax rates and rules for items and locations that can be used
9
+ # to correctly calculate tax in the event a point-of-sale device is not able to reach AvaTax.
10
+ # This data file can be customized for specific partner devices and usage conditions.
11
+ # The result of this API is the file you requested in the format you requested using the 'responseType' field.
12
+ # This API builds the file on demand, and is limited to files with no more than 7500 scenarios.
13
+ # @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
14
+ # @return [Object]
15
+ def build_point_of_sale_data_file(model)
16
+ path = "/api/v2/pointofsaledata/build"
17
+ post(path, model)
18
+ end
19
+
20
+ end
21
+ end
22
22
  end
@@ -29,7 +29,7 @@ module AvaTax
29
29
  # @param model [Object] Information about the account you wish to create and the selected product offerings.
30
30
  # @return [Object]
31
31
  def request_new_account(model) path = "/api/v2/accounts/request"
32
- post(path, model, {}, "21.12.0") end
32
+ post(path, model, {}, "22.3.0") end
33
33
 
34
34
  # Request a new entitilement to an existing customer
35
35
  #
@@ -46,7 +46,7 @@ module AvaTax
46
46
  # @param offer [String] The offer to be added to an already existing customer
47
47
  # @return [Object]
48
48
  def request_new_entitlement(id, offer) path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
49
- post(path, {}, "21.12.0") end
49
+ post(path, {}, "22.3.0") end
50
50
  end
51
51
  end
52
52
  end
@@ -18,7 +18,7 @@ module AvaTax
18
18
  # @param model [Object] The account you wish to create.
19
19
  # @return [AccountModel[]]
20
20
  def create_account(model) path = "/api/v2/accounts"
21
- post(path, model, {}, "21.12.0") end
21
+ post(path, model, {}, "22.3.0") end
22
22
 
23
23
  # Create new notifications.
24
24
  #
@@ -44,7 +44,7 @@ module AvaTax
44
44
  # @param model [NotificationModel[]] The notifications you wish to create.
45
45
  # @return [NotificationModel[]]
46
46
  def create_notifications(model) path = "/api/v2/notifications"
47
- post(path, model, {}, "21.12.0") end
47
+ post(path, model, {}, "22.3.0") end
48
48
 
49
49
  # Create a new subscription
50
50
  #
@@ -62,7 +62,7 @@ module AvaTax
62
62
  # @param model [SubscriptionModel[]] The subscription you wish to create.
63
63
  # @return [SubscriptionModel[]]
64
64
  def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
65
- post(path, model, {}, "21.12.0") end
65
+ post(path, model, {}, "22.3.0") end
66
66
 
67
67
  # Delete a single account
68
68
  #
@@ -79,7 +79,7 @@ module AvaTax
79
79
  # @param id [Integer] The ID of the account you wish to delete.
80
80
  # @return [ErrorDetail[]]
81
81
  def delete_account(id) path = "/api/v2/accounts/#{id}"
82
- delete(path, {}, "21.12.0") end
82
+ delete(path, {}, "22.3.0") end
83
83
 
84
84
  # Delete a single notification.
85
85
  #
@@ -102,7 +102,7 @@ module AvaTax
102
102
  # @param id [Integer] The id of the notification you wish to delete.
103
103
  # @return [ErrorDetail[]]
104
104
  def delete_notification(id) path = "/api/v2/notifications/#{id}"
105
- delete(path, {}, "21.12.0") end
105
+ delete(path, {}, "22.3.0") end
106
106
 
107
107
  # Delete a single subscription
108
108
  #
@@ -119,18 +119,7 @@ module AvaTax
119
119
  # @param id [Integer] The ID of the subscription you wish to delete.
120
120
  # @return [ErrorDetail[]]
121
121
  def delete_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
122
- delete(path, {}, "21.12.0") end
123
-
124
- # Retrieve List of Accounts by Account Migration Status
125
- #
126
- # ### Security Policies
127
- #
128
- # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
129
- # Swagger Name: AvaTaxClient
130
- # @param writeMode [String] (See TssAccountMigrationId::* for a list of allowable values)
131
- # @return [Object]
132
- def list_accounts_by_tss_write_mode(writeMode) path = "/api/v2/accounts/ListAccountsByTssWriteMode/#{writeMode}"
133
- get(path, {}, "21.12.0") end
122
+ delete(path, {}, "22.3.0") end
134
123
 
135
124
  # Reset a user's password programmatically
136
125
  #
@@ -151,7 +140,7 @@ module AvaTax
151
140
  # @param model [Object] The new password for this user
152
141
  # @return [String]
153
142
  def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
154
- post(path, model, options, "21.12.0") end
143
+ post(path, model, options, "22.3.0") end
155
144
 
156
145
  # Update a single account
157
146
  #
@@ -168,7 +157,7 @@ module AvaTax
168
157
  # @param model [Object] The account object you wish to update.
169
158
  # @return [Object]
170
159
  def update_account(id, model) path = "/api/v2/accounts/#{id}"
171
- put(path, model, {}, "21.12.0") end
160
+ put(path, model, {}, "22.3.0") end
172
161
 
173
162
  # Update a single notification.
174
163
  #
@@ -192,7 +181,7 @@ module AvaTax
192
181
  # @param model [Object] The notification object you wish to update.
193
182
  # @return [Object]
194
183
  def update_notification(id, model) path = "/api/v2/notifications/#{id}"
195
- put(path, model, {}, "21.12.0") end
184
+ put(path, model, {}, "22.3.0") end
196
185
 
197
186
  # Update a single subscription
198
187
  #
@@ -214,7 +203,7 @@ module AvaTax
214
203
  # @param model [Object] The subscription you wish to update.
215
204
  # @return [Object]
216
205
  def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
217
- put(path, model, {}, "21.12.0") end
206
+ put(path, model, {}, "22.3.0") end
218
207
  end
219
208
  end
220
209
  end
@@ -27,7 +27,7 @@ module AvaTax
27
27
  # @param id [Integer] The unique ID number of this report
28
28
  # @return [Object]
29
29
  def download_report(id) path = "/api/v2/reports/#{id}/attachment"
30
- get(path, {}, "21.12.0") end
30
+ get(path, {}, "22.3.0") end
31
31
 
32
32
  # Retrieve a single report
33
33
  #
@@ -46,7 +46,7 @@ module AvaTax
46
46
  # @param id [Integer] The unique ID number of the report to retrieve
47
47
  # @return [Object]
48
48
  def get_report(id) path = "/api/v2/reports/#{id}"
49
- get(path, {}, "21.12.0") end
49
+ get(path, {}, "22.3.0") end
50
50
 
51
51
  # Initiate an ExportDocumentLine report task
52
52
  #
@@ -79,7 +79,7 @@ module AvaTax
79
79
  # @param model [Object] Options that may be configured to customize the report.
80
80
  # @return [ReportModel[]]
81
81
  def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
82
- post(path, model, {}, "21.12.0") end
82
+ post(path, model, {}, "22.3.0") end
83
83
 
84
84
  # List all report tasks for account
85
85
  #
@@ -105,7 +105,7 @@ module AvaTax
105
105
  # @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.
106
106
  # @return [FetchResult]
107
107
  def list_reports(options={}) path = "/api/v2/reports"
108
- get(path, options, "21.12.0") end
108
+ get(path, options, "22.3.0") end
109
109
  end
110
110
  end
111
111
  end
@@ -29,7 +29,7 @@ module AvaTax
29
29
  # @param model [SettingModel[]] The setting you wish to create.
30
30
  # @return [SettingModel[]]
31
31
  def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
32
- post(path, model, {}, "21.12.0") end
32
+ post(path, model, {}, "22.3.0") end
33
33
 
34
34
  # Delete a single setting
35
35
  #
@@ -52,7 +52,7 @@ module AvaTax
52
52
  # @param id [Integer] The ID of the setting you wish to delete.
53
53
  # @return [ErrorDetail[]]
54
54
  def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
55
- delete(path, {}, "21.12.0") end
55
+ delete(path, {}, "22.3.0") end
56
56
 
57
57
  # Retrieve a single setting
58
58
  #
@@ -75,7 +75,7 @@ module AvaTax
75
75
  # @param id [Integer] The primary key of this setting
76
76
  # @return [Object]
77
77
  def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
78
- get(path, {}, "21.12.0") end
78
+ get(path, {}, "22.3.0") end
79
79
 
80
80
  # Retrieve all settings for this company
81
81
  #
@@ -105,7 +105,7 @@ module AvaTax
105
105
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
106
106
  # @return [FetchResult]
107
107
  def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
108
- get(path, options, "21.12.0") end
108
+ get(path, options, "22.3.0") end
109
109
 
110
110
  # Retrieve all settings
111
111
  #
@@ -134,7 +134,7 @@ module AvaTax
134
134
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
135
135
  # @return [FetchResult]
136
136
  def query_settings(options={}) path = "/api/v2/settings"
137
- get(path, options, "21.12.0") end
137
+ get(path, options, "22.3.0") end
138
138
 
139
139
  # Update a single setting
140
140
  #
@@ -162,7 +162,7 @@ module AvaTax
162
162
  # @param model [Object] The setting you wish to update.
163
163
  # @return [Object]
164
164
  def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
165
- put(path, model, {}, "21.12.0") end
165
+ put(path, model, {}, "22.3.0") end
166
166
  end
167
167
  end
168
168
  end
@@ -10,9 +10,13 @@ module AvaTax
10
10
  # @param companyCode [String] The company code of the company that recorded the transaction
11
11
  # @param transactionCode [String] The transaction code to retrieve
12
12
  # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
13
+ # @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
14
+ # @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
13
15
  # @return []
14
- def deregister_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
15
- delete(path, options, "") end
16
+ def deregister_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
17
+ headers= Hash.new
18
+ headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
19
+ delete(path, options, "", headers) end
16
20
 
17
21
  # Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
18
22
  #
@@ -21,9 +25,13 @@ module AvaTax
21
25
  # @param companyCode [String] The company code of the company that recorded the transaction
22
26
  # @param transactionCode [String] The transaction code to retrieve
23
27
  # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
28
+ # @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
29
+ # @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
24
30
  # @return []
25
- def register_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
26
- put(path, options, "") end
31
+ def register_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
32
+ headers= Hash.new
33
+ headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
34
+ put(path, options, "", headers) end
27
35
 
28
36
  # Evaluates a transaction against a set of direct-to-consumer shipping regulations and, if compliant, registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
29
37
  #
@@ -32,9 +40,13 @@ module AvaTax
32
40
  # @param companyCode [String] The company code of the company that recorded the transaction
33
41
  # @param transactionCode [String] The transaction code to retrieve
34
42
  # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
43
+ # @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
44
+ # @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
35
45
  # @return [Object]
36
- def register_shipment_if_compliant(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registerIfCompliant"
37
- put(path, options, "") end
46
+ def register_shipment_if_compliant(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registerIfCompliant"
47
+ headers= Hash.new
48
+ headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
49
+ put(path, options, "", headers) end
38
50
 
39
51
  # Evaluates a transaction against a set of direct-to-consumer shipping regulations.
40
52
  #
@@ -44,13 +56,13 @@ module AvaTax
44
56
  # * A parameter with the name *RecipientName* must be specified and the value must be the name of the recipient.
45
57
  # * Each alcohol line must include a *ContainerSize* parameter that describes the volume of a single container. Use the *unit* field to specify one of the following units: '*Litre*', '*Millilitre*', '*gallon (US fluid)*', '*quart (US fluid)*', '*ounce (fluid US customary)*'
46
58
  # * Each alcohol line must include a *PackSize* parameter that describes the number of containers in a pack. Specify *Count* in the *unit* field.
59
+ # * Each alcohol line must include a *AlcoholContent* parameter that describes the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field. If unable to provide this parameter, use version 2.1 of the API.
47
60
  #
48
61
  # Optionally, the transaction and its lines may use the following parameters:
49
62
  # * The *ShipDate* parameter may be used if the date of shipment is different than the date of the transaction. The value should be ISO-8601 compliant (e.g. 2020-07-21).
50
63
  # * The *RecipientDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
51
64
  # * The *PurchaserDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
52
65
  # * The *SalesLocation* parameter may be used to describe whether the sale was made *OnSite* or *OffSite*. *OffSite* is the default value.
53
- # * The *AlcoholContent* parameter may be used to describe the alcohol percentage by volume of the item. Specify *Percentage* in the *unit* field.
54
66
  #
55
67
  # **Security Policies**
56
68
  # This API depends on all of the following active subscriptions: *AvaAlcohol, AutoAddress, AvaTaxPro*
@@ -58,9 +70,13 @@ module AvaTax
58
70
  # @param companyCode [String] The company code of the company that recorded the transaction
59
71
  # @param transactionCode [String] The transaction code to retrieve
60
72
  # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
73
+ # @param api-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2
74
+ # @param x-avalara-version [String] (Optional): API version that should satisfy the request. If omitted, defaults to 2.2. Header takes precendence if both header and query parameters are present.
61
75
  # @return [Object]
62
- def verify_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
63
- get(path, options, "") end
76
+ def verify_shipment(companyCode, transactionCode, options={}, x_avalara_version="") path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
77
+ headers= Hash.new
78
+ headers["x-avalara-version"]=x_avalara_version if !(x_avalara_version.nil? || x_avalara_version.empty?);
79
+ get(path, options, "", headers) end
64
80
  end
65
81
  end
66
82
  end