avatax 21.9.0 → 22.2.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 (75) 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 +22 -11
  16. data/lib/avatax/client/addresses.rb +4 -2
  17. data/lib/avatax/client/advancedrules.rb +10 -5
  18. data/lib/avatax/client/ageverification.rb +29 -0
  19. data/lib/avatax/client/avafileforms.rb +10 -5
  20. data/lib/avatax/client/batches.rb +16 -8
  21. data/lib/avatax/client/certexpressinvites.rb +6 -3
  22. data/lib/avatax/client/certificates.rb +30 -15
  23. data/lib/avatax/client/companies.rb +61 -21
  24. data/lib/avatax/client/compliance.rb +25 -14
  25. data/lib/avatax/client/contacts.rb +12 -6
  26. data/lib/avatax/client/customers.rb +26 -13
  27. data/lib/avatax/client/datasources.rb +12 -6
  28. data/lib/avatax/client/definitions.rb +140 -70
  29. data/lib/avatax/client/distancethresholds.rb +12 -6
  30. data/lib/avatax/client/ecms.rb +73 -73
  31. data/lib/avatax/client/ecommercetoken.rb +4 -2
  32. data/lib/avatax/client/errortransactions.rb +61 -61
  33. data/lib/avatax/client/filingcalendars.rb +9 -4
  34. data/lib/avatax/client/filings.rb +6 -2
  35. data/lib/avatax/client/firmclientlinkages.rb +18 -9
  36. data/lib/avatax/client/free.rb +2 -1
  37. data/lib/avatax/client/fundingrequests.rb +4 -2
  38. data/lib/avatax/client/items.rb +50 -25
  39. data/lib/avatax/client/jurisdictionoverrides.rb +12 -6
  40. data/lib/avatax/client/locations.rb +24 -12
  41. data/lib/avatax/client/multidocument.rb +20 -10
  42. data/lib/avatax/client/nexus.rb +30 -15
  43. data/lib/avatax/client/notices.rb +8 -4
  44. data/lib/avatax/client/notifications.rb +6 -3
  45. data/lib/avatax/client/onboarding.rb +55 -55
  46. data/lib/avatax/client/pointofsale.rb +21 -21
  47. data/lib/avatax/client/provisioning.rb +4 -2
  48. data/lib/avatax/client/registrar.rb +22 -11
  49. data/lib/avatax/client/reports.rb +8 -4
  50. data/lib/avatax/client/settings.rb +12 -6
  51. data/lib/avatax/client/shippingverification.rb +66 -0
  52. data/lib/avatax/client/subscriptions.rb +6 -3
  53. data/lib/avatax/client/taxcodes.rb +12 -6
  54. data/lib/avatax/client/taxcontent.rb +10 -5
  55. data/lib/avatax/client/taxprofiles.rb +42 -42
  56. data/lib/avatax/client/taxrules.rb +12 -6
  57. data/lib/avatax/client/transactions.rb +42 -21
  58. data/lib/avatax/client/upcs.rb +12 -6
  59. data/lib/avatax/client/userdefinedfields.rb +52 -0
  60. data/lib/avatax/client/users.rb +16 -8
  61. data/lib/avatax/client/utilities.rb +6 -3
  62. data/lib/avatax/client.rb +37 -35
  63. data/lib/avatax/configuration.rb +76 -76
  64. data/lib/avatax/connection.rb +49 -49
  65. data/lib/avatax/request.rb +51 -42
  66. data/lib/avatax/version.rb +3 -3
  67. data/lib/avatax.rb +26 -26
  68. data/spec/avatax/client/accounts_spec.rb +13 -13
  69. data/spec/avatax/client/transactions_spec.rb +80 -80
  70. data/spec/avatax/request_spec.rb +25 -25
  71. data/spec/avatax_spec.rb +45 -45
  72. data/spec/credentials.yaml.example +4 -4
  73. data/spec/fixtures/accounts.json +15 -15
  74. data/spec/spec_helper.rb +27 -27
  75. metadata +9 -13
@@ -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
@@ -25,10 +25,11 @@ module AvaTax
25
25
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
26
26
  # * This API is available by invitation only.
27
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 [Provisioning:RequestNewAccount].
28
+ # Swagger Name: AvaTaxClient
28
29
  # @param model [Object] Information about the account you wish to create and the selected product offerings.
29
30
  # @return [Object]
30
31
  def request_new_account(model) path = "/api/v2/accounts/request"
31
- post(path, model) end
32
+ post(path, model, {}, "22.2.0") end
32
33
 
33
34
  # Request a new entitilement to an existing customer
34
35
  #
@@ -40,11 +41,12 @@ module AvaTax
40
41
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
41
42
  # * This API is available by invitation only.
42
43
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [Provisioning:RequestNewAccount].
44
+ # Swagger Name: AvaTaxClient
43
45
  # @param id [Integer] The avatax account id of the customer
44
46
  # @param offer [String] The offer to be added to an already existing customer
45
47
  # @return [Object]
46
48
  def request_new_entitlement(id, offer) path = "/api/v2/accounts/#{id}/entitlements/#{offer}"
47
- post(path) end
49
+ post(path, {}, "22.2.0") end
48
50
  end
49
51
  end
50
52
  end
@@ -14,10 +14,11 @@ module AvaTax
14
14
  # ### Security Policies
15
15
  #
16
16
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
17
+ # Swagger Name: AvaTaxClient
17
18
  # @param model [Object] The account you wish to create.
18
19
  # @return [AccountModel[]]
19
20
  def create_account(model) path = "/api/v2/accounts"
20
- post(path, model) end
21
+ post(path, model, {}, "22.2.0") end
21
22
 
22
23
  # Create new notifications.
23
24
  #
@@ -39,10 +40,11 @@ module AvaTax
39
40
  #
40
41
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
41
42
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
43
+ # Swagger Name: AvaTaxClient
42
44
  # @param model [NotificationModel[]] The notifications you wish to create.
43
45
  # @return [NotificationModel[]]
44
46
  def create_notifications(model) path = "/api/v2/notifications"
45
- post(path, model) end
47
+ post(path, model, {}, "22.2.0") end
46
48
 
47
49
  # Create a new subscription
48
50
  #
@@ -55,11 +57,12 @@ module AvaTax
55
57
  # ### Security Policies
56
58
  #
57
59
  # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
60
+ # Swagger Name: AvaTaxClient
58
61
  # @param accountId [Integer] The ID of the account that owns this subscription.
59
62
  # @param model [SubscriptionModel[]] The subscription you wish to create.
60
63
  # @return [SubscriptionModel[]]
61
64
  def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
62
- post(path, model) end
65
+ post(path, model, {}, "22.2.0") end
63
66
 
64
67
  # Delete a single account
65
68
  #
@@ -72,10 +75,11 @@ module AvaTax
72
75
  # ### Security Policies
73
76
  #
74
77
  # * This API requires the user role SystemAdmin.
78
+ # Swagger Name: AvaTaxClient
75
79
  # @param id [Integer] The ID of the account you wish to delete.
76
80
  # @return [ErrorDetail[]]
77
81
  def delete_account(id) path = "/api/v2/accounts/#{id}"
78
- delete(path) end
82
+ delete(path, {}, "22.2.0") end
79
83
 
80
84
  # Delete a single notification.
81
85
  #
@@ -94,10 +98,11 @@ module AvaTax
94
98
  #
95
99
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
96
100
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
101
+ # Swagger Name: AvaTaxClient
97
102
  # @param id [Integer] The id of the notification you wish to delete.
98
103
  # @return [ErrorDetail[]]
99
104
  def delete_notification(id) path = "/api/v2/notifications/#{id}"
100
- delete(path) end
105
+ delete(path, {}, "22.2.0") end
101
106
 
102
107
  # Delete a single subscription
103
108
  #
@@ -109,21 +114,23 @@ module AvaTax
109
114
  # ### Security Policies
110
115
  #
111
116
  # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
117
+ # Swagger Name: AvaTaxClient
112
118
  # @param accountId [Integer] The ID of the account that owns this subscription.
113
119
  # @param id [Integer] The ID of the subscription you wish to delete.
114
120
  # @return [ErrorDetail[]]
115
121
  def delete_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
116
- delete(path) end
122
+ delete(path, {}, "22.2.0") end
117
123
 
118
124
  # Retrieve List of Accounts by Account Migration Status
119
125
  #
120
126
  # ### Security Policies
121
127
  #
122
128
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
129
+ # Swagger Name: AvaTaxClient
123
130
  # @param writeMode [String] (See TssAccountMigrationId::* for a list of allowable values)
124
131
  # @return [Object]
125
132
  def list_accounts_by_tss_write_mode(writeMode) path = "/api/v2/accounts/ListAccountsByTssWriteMode/#{writeMode}"
126
- get(path) end
133
+ get(path, {}, "22.2.0") end
127
134
 
128
135
  # Reset a user's password programmatically
129
136
  #
@@ -138,12 +145,13 @@ module AvaTax
138
145
  #
139
146
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
140
147
  # * This API is available to Avalara system-level (registrar-level) users only.
148
+ # Swagger Name: AvaTaxClient
141
149
  # @param userId [Integer] The unique ID of the user whose password will be changed
142
150
  # @param unmigrateFromAi [Boolean] If user's password was migrated to AI, undo this.
143
151
  # @param model [Object] The new password for this user
144
152
  # @return [String]
145
153
  def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
146
- post(path, model, options) end
154
+ post(path, model, options, "22.2.0") end
147
155
 
148
156
  # Update a single account
149
157
  #
@@ -155,11 +163,12 @@ module AvaTax
155
163
  # ### Security Policies
156
164
  #
157
165
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
166
+ # Swagger Name: AvaTaxClient
158
167
  # @param id [Integer] The ID of the account you wish to update.
159
168
  # @param model [Object] The account object you wish to update.
160
169
  # @return [Object]
161
170
  def update_account(id, model) path = "/api/v2/accounts/#{id}"
162
- put(path, model) end
171
+ put(path, model, {}, "22.2.0") end
163
172
 
164
173
  # Update a single notification.
165
174
  #
@@ -178,11 +187,12 @@ module AvaTax
178
187
  #
179
188
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
180
189
  # * This API is available by invitation only. To request access to this feature, please speak to a business development manager and request access to [NotificationsAPI:Create].
190
+ # Swagger Name: AvaTaxClient
181
191
  # @param id [Integer] The id of the notification you wish to update.
182
192
  # @param model [Object] The notification object you wish to update.
183
193
  # @return [Object]
184
194
  def update_notification(id, model) path = "/api/v2/notifications/#{id}"
185
- put(path, model) end
195
+ put(path, model, {}, "22.2.0") end
186
196
 
187
197
  # Update a single subscription
188
198
  #
@@ -198,12 +208,13 @@ module AvaTax
198
208
  # ### Security Policies
199
209
  #
200
210
  # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
211
+ # Swagger Name: AvaTaxClient
201
212
  # @param accountId [Integer] The ID of the account that this subscription belongs to.
202
213
  # @param id [Integer] The ID of the subscription you wish to update
203
214
  # @param model [Object] The subscription you wish to update.
204
215
  # @return [Object]
205
216
  def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
206
- put(path, model) end
217
+ put(path, model, {}, "22.2.0") end
207
218
  end
208
219
  end
209
220
  end
@@ -23,10 +23,11 @@ module AvaTax
23
23
  # ### Security Policies
24
24
  #
25
25
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
26
+ # Swagger Name: AvaTaxClient
26
27
  # @param id [Integer] The unique ID number of this report
27
28
  # @return [Object]
28
29
  def download_report(id) path = "/api/v2/reports/#{id}/attachment"
29
- get(path) end
30
+ get(path, {}, "22.2.0") end
30
31
 
31
32
  # Retrieve a single report
32
33
  #
@@ -41,10 +42,11 @@ module AvaTax
41
42
  # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
42
43
  #
43
44
  # This API call returns information about any report type.
45
+ # Swagger Name: AvaTaxClient
44
46
  # @param id [Integer] The unique ID number of the report to retrieve
45
47
  # @return [Object]
46
48
  def get_report(id) path = "/api/v2/reports/#{id}"
47
- get(path) end
49
+ get(path, {}, "22.2.0") end
48
50
 
49
51
  # Initiate an ExportDocumentLine report task
50
52
  #
@@ -72,11 +74,12 @@ module AvaTax
72
74
  # ### Security Policies
73
75
  #
74
76
  # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
77
+ # Swagger Name: AvaTaxClient
75
78
  # @param companyId [Integer] The unique ID number of the company to report on.
76
79
  # @param model [Object] Options that may be configured to customize the report.
77
80
  # @return [ReportModel[]]
78
81
  def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
79
- post(path, model) end
82
+ post(path, model, {}, "22.2.0") end
80
83
 
81
84
  # List all report tasks for account
82
85
  #
@@ -95,13 +98,14 @@ module AvaTax
95
98
  # ### Security Policies
96
99
  #
97
100
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
101
+ # Swagger Name: AvaTaxClient
98
102
  # @param companyId [Integer] The id of the company for which to get reports.
99
103
  # @param pageKey [String] Provide a page key to retrieve the next page of results.
100
104
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
101
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.
102
106
  # @return [FetchResult]
103
107
  def list_reports(options={}) path = "/api/v2/reports"
104
- get(path, options) end
108
+ get(path, options, "22.2.0") end
105
109
  end
106
110
  end
107
111
  end
@@ -24,11 +24,12 @@ module AvaTax
24
24
  # ### Security Policies
25
25
  #
26
26
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
27
+ # Swagger Name: AvaTaxClient
27
28
  # @param companyId [Integer] The ID of the company that owns this setting.
28
29
  # @param model [SettingModel[]] The setting you wish to create.
29
30
  # @return [SettingModel[]]
30
31
  def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
31
- post(path, model) end
32
+ post(path, model, {}, "22.2.0") end
32
33
 
33
34
  # Delete a single setting
34
35
  #
@@ -46,11 +47,12 @@ module AvaTax
46
47
  # ### Security Policies
47
48
  #
48
49
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
50
+ # Swagger Name: AvaTaxClient
49
51
  # @param companyId [Integer] The ID of the company that owns this setting.
50
52
  # @param id [Integer] The ID of the setting you wish to delete.
51
53
  # @return [ErrorDetail[]]
52
54
  def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
53
- delete(path) end
55
+ delete(path, {}, "22.2.0") end
54
56
 
55
57
  # Retrieve a single setting
56
58
  #
@@ -68,11 +70,12 @@ module AvaTax
68
70
  # ### Security Policies
69
71
  #
70
72
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
73
+ # Swagger Name: AvaTaxClient
71
74
  # @param companyId [Integer] The ID of the company that owns this setting
72
75
  # @param id [Integer] The primary key of this setting
73
76
  # @return [Object]
74
77
  def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
75
- get(path) end
78
+ get(path, {}, "22.2.0") end
76
79
 
77
80
  # Retrieve all settings for this company
78
81
  #
@@ -93,6 +96,7 @@ module AvaTax
93
96
  # ### Security Policies
94
97
  #
95
98
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
99
+ # Swagger Name: AvaTaxClient
96
100
  # @param companyId [Integer] The ID of the company that owns these settings
97
101
  # @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:* modifiedDate, ModifiedUserId
98
102
  # @param include [String] A comma separated list of additional data to retrieve.
@@ -101,7 +105,7 @@ module AvaTax
101
105
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
102
106
  # @return [FetchResult]
103
107
  def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
104
- get(path, options) end
108
+ get(path, options, "22.2.0") end
105
109
 
106
110
  # Retrieve all settings
107
111
  #
@@ -122,6 +126,7 @@ module AvaTax
122
126
  # ### Security Policies
123
127
  #
124
128
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
129
+ # Swagger Name: AvaTaxClient
125
130
  # @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:* modifiedDate, ModifiedUserId
126
131
  # @param include [String] A comma separated list of additional data to retrieve.
127
132
  # @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.
@@ -129,7 +134,7 @@ module AvaTax
129
134
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
130
135
  # @return [FetchResult]
131
136
  def query_settings(options={}) path = "/api/v2/settings"
132
- get(path, options) end
137
+ get(path, options, "22.2.0") end
133
138
 
134
139
  # Update a single setting
135
140
  #
@@ -151,12 +156,13 @@ module AvaTax
151
156
  # ### Security Policies
152
157
  #
153
158
  # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
159
+ # Swagger Name: AvaTaxClient
154
160
  # @param companyId [Integer] The ID of the company that this setting belongs to.
155
161
  # @param id [Integer] The ID of the setting you wish to update
156
162
  # @param model [Object] The setting you wish to update.
157
163
  # @return [Object]
158
164
  def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
159
- put(path, model) end
165
+ put(path, model, {}, "22.2.0") end
160
166
  end
161
167
  end
162
168
  end
@@ -0,0 +1,66 @@
1
+ module AvaTax
2
+ class Client
3
+ module ShippingVerification
4
+
5
+
6
+ # Removes the transaction from consideration when evaluating regulations that span multiple transactions.
7
+ #
8
+ #
9
+ # Swagger Name: AvaTaxBeverageClient
10
+ # @param companyCode [String] The company code of the company that recorded the transaction
11
+ # @param transactionCode [String] The transaction code to retrieve
12
+ # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
13
+ # @return []
14
+ def deregister_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
15
+ delete(path, options, "") end
16
+
17
+ # Registers the transaction so that it may be included when evaluating regulations that span multiple transactions.
18
+ #
19
+ #
20
+ # Swagger Name: AvaTaxBeverageClient
21
+ # @param companyCode [String] The company code of the company that recorded the transaction
22
+ # @param transactionCode [String] The transaction code to retrieve
23
+ # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
24
+ # @return []
25
+ def register_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/registration"
26
+ put(path, options, "") end
27
+
28
+ # 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
+ #
30
+ #
31
+ # Swagger Name: AvaTaxBeverageClient
32
+ # @param companyCode [String] The company code of the company that recorded the transaction
33
+ # @param transactionCode [String] The transaction code to retrieve
34
+ # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
35
+ # @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
38
+
39
+ # Evaluates a transaction against a set of direct-to-consumer shipping regulations.
40
+ #
41
+ # The transaction and its lines must meet the following criteria in order to be evaluated:
42
+ # * The transaction must be recorded. Using a type of *SalesInvoice* is recommended.
43
+ # * A parameter with the name *AlcoholRouteType* must be specified and the value must be one of the following: '*DTC*', '*Retailer DTC*'
44
+ # * A parameter with the name *RecipientName* must be specified and the value must be the name of the recipient.
45
+ # * 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
+ # * Each alcohol line must include a *PackSize* parameter that describes the number of containers in a pack. Specify *Count* in the *unit* field.
47
+ #
48
+ # Optionally, the transaction and its lines may use the following parameters:
49
+ # * 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
+ # * The *RecipientDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
51
+ # * The *PurchaserDOB* parameter may be used to evaluate age restrictions. The value should be ISO-8601 compliant (e.g. 2020-07-21).
52
+ # * 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
+ #
55
+ # **Security Policies**
56
+ # This API depends on all of the following active subscriptions: *AvaAlcohol, AutoAddress, AvaTaxPro*
57
+ # Swagger Name: AvaTaxBeverageClient
58
+ # @param companyCode [String] The company code of the company that recorded the transaction
59
+ # @param transactionCode [String] The transaction code to retrieve
60
+ # @param documentType [String] (Optional): The document type of the transaction to operate on. If omitted, defaults to "SalesInvoice"
61
+ # @return [Object]
62
+ def verify_shipment(companyCode, transactionCode, options={}) path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/shipment/verify"
63
+ get(path, options, "") end
64
+ end
65
+ end
66
+ end
@@ -12,11 +12,12 @@ module AvaTax
12
12
  # ### Security Policies
13
13
  #
14
14
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
15
+ # Swagger Name: AvaTaxClient
15
16
  # @param accountId [Integer] The ID of the account that owns this subscription
16
17
  # @param id [Integer] The primary key of this subscription
17
18
  # @return [Object]
18
19
  def get_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
19
- get(path) end
20
+ get(path, {}, "22.2.0") end
20
21
 
21
22
  # Retrieve subscriptions for this account
22
23
  #
@@ -30,6 +31,7 @@ module AvaTax
30
31
  # ### Security Policies
31
32
  #
32
33
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
34
+ # Swagger Name: AvaTaxClient
33
35
  # @param accountId [Integer] The ID of the account that owns these subscriptions
34
36
  # @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:* subscriptionDescription
35
37
  # @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.
@@ -37,7 +39,7 @@ module AvaTax
37
39
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
38
40
  # @return [FetchResult]
39
41
  def list_subscriptions_by_account(accountId, options={}) path = "/api/v2/accounts/#{accountId}/subscriptions"
40
- get(path, options) end
42
+ get(path, options, "22.2.0") end
41
43
 
42
44
  # Retrieve all subscriptions
43
45
  #
@@ -51,13 +53,14 @@ module AvaTax
51
53
  # ### Security Policies
52
54
  #
53
55
  # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, FirmAdmin, FirmUser, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.
56
+ # Swagger Name: AvaTaxClient
54
57
  # @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:* subscriptionDescription
55
58
  # @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.
56
59
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
57
60
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
58
61
  # @return [FetchResult]
59
62
  def query_subscriptions(options={}) path = "/api/v2/subscriptions"
60
- get(path, options) end
63
+ get(path, options, "22.2.0") end
61
64
  end
62
65
  end
63
66
  end