avatax 21.7.1 → 21.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avatax/client/accounts.rb +94 -83
  3. data/lib/avatax/client/addresses.rb +22 -20
  4. data/lib/avatax/client/advancedrules.rb +46 -41
  5. data/lib/avatax/client/ageverification.rb +29 -0
  6. data/lib/avatax/client/avafileforms.rb +46 -41
  7. data/lib/avatax/client/batches.rb +70 -62
  8. data/lib/avatax/client/certexpressinvites.rb +30 -27
  9. data/lib/avatax/client/certificates.rb +126 -111
  10. data/lib/avatax/client/companies.rb +174 -153
  11. data/lib/avatax/client/compliance.rb +25 -14
  12. data/lib/avatax/client/contacts.rb +54 -48
  13. data/lib/avatax/client/customers.rb +110 -97
  14. data/lib/avatax/client/datasources.rb +54 -48
  15. data/lib/avatax/client/definitions.rb +624 -450
  16. data/lib/avatax/client/distancethresholds.rb +54 -48
  17. data/lib/avatax/client/ecommercetoken.rb +20 -18
  18. data/lib/avatax/client/filingcalendars.rb +44 -20
  19. data/lib/avatax/client/filings.rb +24 -20
  20. data/lib/avatax/client/firmclientlinkages.rb +78 -69
  21. data/lib/avatax/client/free.rb +14 -13
  22. data/lib/avatax/client/fundingrequests.rb +22 -20
  23. data/lib/avatax/client/items.rb +209 -181
  24. data/lib/avatax/client/jurisdictionoverrides.rb +54 -48
  25. data/lib/avatax/client/locations.rb +102 -90
  26. data/lib/avatax/client/multidocument.rb +86 -76
  27. data/lib/avatax/client/nexus.rb +148 -105
  28. data/lib/avatax/client/notices.rb +30 -26
  29. data/lib/avatax/client/notifications.rb +30 -27
  30. data/lib/avatax/client/provisioning.rb +22 -20
  31. data/lib/avatax/client/registrar.rb +94 -83
  32. data/lib/avatax/client/reports.rb +38 -34
  33. data/lib/avatax/client/settings.rb +54 -48
  34. data/lib/avatax/client/shippingverification.rb +66 -0
  35. data/lib/avatax/client/subscriptions.rb +30 -27
  36. data/lib/avatax/client/taxcodes.rb +54 -48
  37. data/lib/avatax/client/taxcontent.rb +46 -41
  38. data/lib/avatax/client/taxrules.rb +56 -50
  39. data/lib/avatax/client/transactions.rb +174 -153
  40. data/lib/avatax/client/upcs.rb +54 -48
  41. data/lib/avatax/client/userdefinedfields.rb +52 -0
  42. data/lib/avatax/client/users.rb +70 -62
  43. data/lib/avatax/client/utilities.rb +30 -27
  44. data/lib/avatax/client.rb +2 -0
  45. data/lib/avatax/connection.rb +1 -1
  46. data/lib/avatax/request.rb +21 -12
  47. data/lib/avatax/version.rb +1 -1
  48. metadata +6 -3
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Registrar
4
-
5
-
6
- # Create a new account
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Registrar
4
+
5
+
6
+ # Create a new account
7
+ #
8
8
  # # For Registrar Use Only
9
9
  # This API is for use by Avalara Registrar administrative users only.
10
10
  #
@@ -13,14 +13,15 @@ module AvaTax
13
13
  #
14
14
  # ### Security Policies
15
15
  #
16
- # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [AccountModel[]]
19
- def create_account(model) path = "/api/v2/accounts"
20
- post(path, model) end
21
-
22
- # Create new notifications.
23
- #
19
+ # @return [AccountModel[]]
20
+ def create_account(model) path = "/api/v2/accounts"
21
+ post(path, model, {}, "21.12.0") end
22
+
23
+ # Create new notifications.
24
+ #
24
25
  # This API is available by invitation only.
25
26
  #
26
27
  # Create a single notification.
@@ -38,14 +39,15 @@ module AvaTax
38
39
  # ### Security Policies
39
40
  #
40
41
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
41
- # * 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].
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
- # @return [NotificationModel[]]
44
- def create_notifications(model) path = "/api/v2/notifications"
45
- post(path, model) end
46
-
47
- # Create a new subscription
48
- #
45
+ # @return [NotificationModel[]]
46
+ def create_notifications(model) path = "/api/v2/notifications"
47
+ post(path, model, {}, "21.12.0") end
48
+
49
+ # Create a new subscription
50
+ #
49
51
  # This API is for use by Avalara Registrar administrative users only.
50
52
  #
51
53
  # Create one or more new subscription objects attached to this account.
@@ -54,15 +56,16 @@ module AvaTax
54
56
  #
55
57
  # ### Security Policies
56
58
  #
57
- # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [SubscriptionModel[]]
61
- def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
62
- post(path, model) end
63
-
64
- # Delete a single account
65
- #
63
+ # @return [SubscriptionModel[]]
64
+ def create_subscriptions(accountId, model) path = "/api/v2/accounts/#{accountId}/subscriptions"
65
+ post(path, model, {}, "21.12.0") end
66
+
67
+ # Delete a single account
68
+ #
66
69
  # # For Registrar Use Only
67
70
  # This API is for use by Avalara Registrar administrative users only.
68
71
  #
@@ -71,14 +74,15 @@ module AvaTax
71
74
  #
72
75
  # ### Security Policies
73
76
  #
74
- # * This API requires the user role SystemAdmin.
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
- # @return [ErrorDetail[]]
77
- def delete_account(id) path = "/api/v2/accounts/#{id}"
78
- delete(path) end
79
-
80
- # Delete a single notification.
81
- #
80
+ # @return [ErrorDetail[]]
81
+ def delete_account(id) path = "/api/v2/accounts/#{id}"
82
+ delete(path, {}, "21.12.0") end
83
+
84
+ # Delete a single notification.
85
+ #
82
86
  # This API is available by invitation only.
83
87
  #
84
88
  # Delete the existing notification identified by this URL.
@@ -93,14 +97,15 @@ module AvaTax
93
97
  # ### Security Policies
94
98
  #
95
99
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
96
- # * 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].
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
- # @return [ErrorDetail[]]
99
- def delete_notification(id) path = "/api/v2/notifications/#{id}"
100
- delete(path) end
101
-
102
- # Delete a single subscription
103
- #
103
+ # @return [ErrorDetail[]]
104
+ def delete_notification(id) path = "/api/v2/notifications/#{id}"
105
+ delete(path, {}, "21.12.0") end
106
+
107
+ # Delete a single subscription
108
+ #
104
109
  # # For Registrar Use Only
105
110
  # This API is for use by Avalara Registrar administrative users only.
106
111
  #
@@ -108,25 +113,27 @@ module AvaTax
108
113
  #
109
114
  # ### Security Policies
110
115
  #
111
- # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [ErrorDetail[]]
115
- def delete_subscription(accountId, id) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
116
- delete(path) end
117
-
118
- # Retrieve List of Accounts by Account Migration Status
119
- #
120
+ # @return [ErrorDetail[]]
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
+ #
120
126
  # ### Security Policies
121
127
  #
122
- # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [Object]
125
- def list_accounts_by_tss_write_mode(writeMode) path = "/api/v2/accounts/ListAccountsByTssWriteMode/#{writeMode}"
126
- get(path) end
127
-
128
- # Reset a user's password programmatically
129
- #
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
134
+
135
+ # Reset a user's password programmatically
136
+ #
130
137
  # # For Registrar Use Only
131
138
  # This API is for use by Avalara Registrar administrative users only.
132
139
  #
@@ -137,16 +144,17 @@ module AvaTax
137
144
  # ### Security Policies
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
- # * This API is available to Avalara system-level (registrar-level) users only.
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
- # @return [String]
145
- def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
146
- post(path, model, options) end
147
-
148
- # Update a single account
149
- #
152
+ # @return [String]
153
+ def reset_password(userId, model, options={}) path = "/api/v2/passwords/#{userId}/reset"
154
+ post(path, model, options, "21.12.0") end
155
+
156
+ # Update a single account
157
+ #
150
158
  # # For Registrar Use Only
151
159
  # This API is for use by Avalara Registrar administrative users only.
152
160
  #
@@ -154,15 +162,16 @@ module AvaTax
154
162
  #
155
163
  # ### Security Policies
156
164
  #
157
- # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [Object]
161
- def update_account(id, model) path = "/api/v2/accounts/#{id}"
162
- put(path, model) end
163
-
164
- # Update a single notification.
165
- #
169
+ # @return [Object]
170
+ def update_account(id, model) path = "/api/v2/accounts/#{id}"
171
+ put(path, model, {}, "21.12.0") end
172
+
173
+ # Update a single notification.
174
+ #
166
175
  # This API is available by invitation only.
167
176
  #
168
177
  # Replaces the notification identified by this URL with a new notification.
@@ -177,15 +186,16 @@ module AvaTax
177
186
  # ### Security Policies
178
187
  #
179
188
  # * This API requires one of the following user roles: FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
180
- # * 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].
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
- # @return [Object]
184
- def update_notification(id, model) path = "/api/v2/notifications/#{id}"
185
- put(path, model) end
186
-
187
- # Update a single subscription
188
- #
193
+ # @return [Object]
194
+ def update_notification(id, model) path = "/api/v2/notifications/#{id}"
195
+ put(path, model, {}, "21.12.0") end
196
+
197
+ # Update a single subscription
198
+ #
189
199
  # # For Registrar Use Only
190
200
  # This API is for use by Avalara Registrar administrative users only.
191
201
  #
@@ -197,13 +207,14 @@ module AvaTax
197
207
  #
198
208
  # ### Security Policies
199
209
  #
200
- # * This API requires one of the following user roles: Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [Object]
205
- def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
206
- put(path, model) end
207
- end
208
- end
215
+ # @return [Object]
216
+ def update_subscription(accountId, id, model) path = "/api/v2/accounts/#{accountId}/subscriptions/#{id}"
217
+ put(path, model, {}, "21.12.0") end
218
+ end
219
+ end
209
220
  end
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Reports
4
-
5
-
6
- # Download a report
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Reports
4
+
5
+
6
+ # Download a report
7
+ #
8
8
  # This API downloads the file associated with a report.
9
9
  #
10
10
  # If the report is not yet complete, you will receive a `ReportNotFinished` error. To check if a report is complete,
@@ -22,14 +22,15 @@ module AvaTax
22
22
  #
23
23
  # ### Security Policies
24
24
  #
25
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
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
- # @return [Object]
28
- def download_report(id) path = "/api/v2/reports/#{id}/attachment"
29
- get(path) end
30
-
31
- # Retrieve a single report
32
- #
28
+ # @return [Object]
29
+ def download_report(id) path = "/api/v2/reports/#{id}/attachment"
30
+ get(path, {}, "21.12.0") end
31
+
32
+ # Retrieve a single report
33
+ #
33
34
  # Retrieve a single report by its unique ID number.
34
35
  #
35
36
  # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
@@ -40,14 +41,15 @@ module AvaTax
40
41
  # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
41
42
  # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
42
43
  #
43
- # This API call returns information about any report type.
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
- # @return [Object]
46
- def get_report(id) path = "/api/v2/reports/#{id}"
47
- get(path) end
48
-
49
- # Initiate an ExportDocumentLine report task
50
- #
47
+ # @return [Object]
48
+ def get_report(id) path = "/api/v2/reports/#{id}"
49
+ get(path, {}, "21.12.0") end
50
+
51
+ # Initiate an ExportDocumentLine report task
52
+ #
51
53
  # Begins running an `ExportDocumentLine` report task and returns the identity of the report.
52
54
  #
53
55
  # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
@@ -71,15 +73,16 @@ module AvaTax
71
73
  #
72
74
  # ### Security Policies
73
75
  #
74
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
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
- # @return [ReportModel[]]
78
- def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
79
- post(path, model) end
80
-
81
- # List all report tasks for account
82
- #
80
+ # @return [ReportModel[]]
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
83
+
84
+ # List all report tasks for account
85
+ #
83
86
  # List all report tasks for your account.
84
87
  #
85
88
  # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
@@ -94,14 +97,15 @@ module AvaTax
94
97
  #
95
98
  # ### Security Policies
96
99
  #
97
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
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
- # @return [FetchResult]
103
- def list_reports(options={}) path = "/api/v2/reports"
104
- get(path, options) end
105
- end
106
- end
106
+ # @return [FetchResult]
107
+ def list_reports(options={}) path = "/api/v2/reports"
108
+ get(path, options, "21.12.0") end
109
+ end
110
+ end
107
111
  end
@@ -1,10 +1,10 @@
1
- module AvaTax
2
- class Client
3
- module Settings
4
-
5
-
6
- # Create a new setting
7
- #
1
+ module AvaTax
2
+ class Client
3
+ module Settings
4
+
5
+
6
+ # Create a new setting
7
+ #
8
8
  # Create one or more new setting objects attached to this company.
9
9
  #
10
10
  # The company settings system is a metadata system that you can use to store extra information
@@ -23,15 +23,16 @@ module AvaTax
23
23
  #
24
24
  # ### Security Policies
25
25
  #
26
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [SettingModel[]]
30
- def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
31
- post(path, model) end
32
-
33
- # Delete a single setting
34
- #
30
+ # @return [SettingModel[]]
31
+ def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
32
+ post(path, model, {}, "21.12.0") end
33
+
34
+ # Delete a single setting
35
+ #
35
36
  # Mark the setting object at this URL as deleted.
36
37
  #
37
38
  # The company settings system is a metadata system that you can use to store extra information
@@ -45,15 +46,16 @@ module AvaTax
45
46
  #
46
47
  # ### Security Policies
47
48
  #
48
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [ErrorDetail[]]
52
- def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
53
- delete(path) end
54
-
55
- # Retrieve a single setting
56
- #
53
+ # @return [ErrorDetail[]]
54
+ def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
55
+ delete(path, {}, "21.12.0") end
56
+
57
+ # Retrieve a single setting
58
+ #
57
59
  # Get a single setting object by its unique ID.
58
60
  #
59
61
  # The company settings system is a metadata system that you can use to store extra information
@@ -67,15 +69,16 @@ module AvaTax
67
69
  #
68
70
  # ### Security Policies
69
71
  #
70
- # * 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.
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
- # @return [Object]
74
- def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
75
- get(path) end
76
-
77
- # Retrieve all settings for this company
78
- #
76
+ # @return [Object]
77
+ def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
78
+ get(path, {}, "21.12.0") end
79
+
80
+ # Retrieve all settings for this company
81
+ #
79
82
  # List all setting objects attached to this company.
80
83
  #
81
84
  # The company settings system is a metadata system that you can use to store extra information
@@ -92,19 +95,20 @@ module AvaTax
92
95
  #
93
96
  # ### Security Policies
94
97
  #
95
- # * 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.
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.
99
103
  # @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.
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 orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
102
- # @return [FetchResult]
103
- def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
104
- get(path, options) end
105
-
106
- # Retrieve all settings
107
- #
106
+ # @return [FetchResult]
107
+ def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
108
+ get(path, options, "21.12.0") end
109
+
110
+ # Retrieve all settings
111
+ #
108
112
  # Get multiple setting objects across all companies.
109
113
  #
110
114
  # The company settings system is a metadata system that you can use to store extra information
@@ -121,18 +125,19 @@ module AvaTax
121
125
  #
122
126
  # ### Security Policies
123
127
  #
124
- # * 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.
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.
128
133
  # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
129
134
  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
130
- # @return [FetchResult]
131
- def query_settings(options={}) path = "/api/v2/settings"
132
- get(path, options) end
133
-
134
- # Update a single setting
135
- #
135
+ # @return [FetchResult]
136
+ def query_settings(options={}) path = "/api/v2/settings"
137
+ get(path, options, "21.12.0") end
138
+
139
+ # Update a single setting
140
+ #
136
141
  # Replace the existing setting object at this URL with an updated object.
137
142
  #
138
143
  # The company settings system is a metadata system that you can use to store extra information
@@ -150,13 +155,14 @@ module AvaTax
150
155
  #
151
156
  # ### Security Policies
152
157
  #
153
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
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
- # @return [Object]
158
- def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
159
- put(path, model) end
160
- end
161
- end
163
+ # @return [Object]
164
+ def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
165
+ put(path, model, {}, "21.12.0") end
166
+ end
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