avatax 20.1.0 → 20.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/avatax.gemspec +0 -1
  3. data/lib/avatax/client/accounts.rb +236 -172
  4. data/lib/avatax/client/addresses.rb +54 -54
  5. data/lib/avatax/client/advancedrules.rb +63 -162
  6. data/lib/avatax/client/avafileforms.rb +78 -78
  7. data/lib/avatax/client/batches.rb +223 -170
  8. data/lib/avatax/client/certexpressinvites.rb +97 -97
  9. data/lib/avatax/client/certificates.rb +424 -424
  10. data/lib/avatax/client/companies.rb +457 -350
  11. data/lib/avatax/client/compliance.rb +15 -15
  12. data/lib/avatax/client/contacts.rb +106 -106
  13. data/lib/avatax/client/customers.rb +376 -376
  14. data/lib/avatax/client/datasources.rb +99 -99
  15. data/lib/avatax/client/definitions.rb +862 -847
  16. data/lib/avatax/client/distancethresholds.rb +122 -122
  17. data/lib/avatax/client/ecommercetoken.rb +37 -0
  18. data/lib/avatax/client/filingcalendars.rb +20 -508
  19. data/lib/avatax/client/filings.rb +37 -26
  20. data/lib/avatax/client/firmclientlinkages.rb +123 -123
  21. data/lib/avatax/client/free.rb +100 -100
  22. data/lib/avatax/client/fundingrequests.rb +52 -52
  23. data/lib/avatax/client/items.rb +423 -423
  24. data/lib/avatax/client/jurisdictionoverrides.rb +118 -118
  25. data/lib/avatax/client/locations.rb +253 -139
  26. data/lib/avatax/client/multidocument.rb +390 -310
  27. data/lib/avatax/client/nexus.rb +341 -201
  28. data/lib/avatax/client/notifications.rb +75 -75
  29. data/lib/avatax/client/provisioning.rb +49 -49
  30. data/lib/avatax/client/registrar.rb +198 -198
  31. data/lib/avatax/client/reports.rb +97 -97
  32. data/lib/avatax/client/settings.rb +156 -156
  33. data/lib/avatax/client/subscriptions.rb +62 -62
  34. data/lib/avatax/client/taxcodes.rb +120 -120
  35. data/lib/avatax/client/taxcontent.rb +133 -133
  36. data/lib/avatax/client/taxrules.rb +170 -170
  37. data/lib/avatax/client/transactions.rb +836 -791
  38. data/lib/avatax/client/upcs.rb +111 -111
  39. data/lib/avatax/client/users.rb +183 -183
  40. data/lib/avatax/client/utilities.rb +61 -61
  41. data/lib/avatax/connection.rb +3 -3
  42. data/lib/avatax/request.rb +2 -0
  43. data/lib/avatax/version.rb +1 -1
  44. metadata +4 -17
@@ -1,98 +1,98 @@
1
- module AvaTax
2
- class Client
3
- module Reports
4
-
5
-
6
- # Download a report
7
- #
8
- # This API downloads the file associated with a report.
9
- #
10
- # If the report is not yet complete, you will receive a `ReportNotFinished` error. To check if a report is complete,
11
- # use the `GetReport` API.
12
- #
13
- # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
14
- # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
15
- #
16
- # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
17
- # * In the result of the Initiate API, you receive back a report's `id` value.
18
- # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
19
- # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
20
- #
21
- # This API works for all report types.
22
- #
23
- # ### Security Policies
24
- #
25
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
26
- # @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
- #
33
- # Retrieve a single report by its unique ID number.
34
- #
35
- # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
36
- # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
37
- #
38
- # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
39
- # * In the result of the Initiate API, you receive back a report's `id` value.
40
- # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
41
- # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
42
- #
43
- # This API call returns information about any report type.
44
- # @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
- #
51
- # Begins running an `ExportDocumentLine` report task and returns the identity of the report.
52
- #
53
- # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
54
- # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
55
- #
56
- # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
57
- # * In the result of the Initiate API, you receive back a report's `id` value.
58
- # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
59
- # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
60
- #
61
- # The `ExportDocumentLine` report produces information about invoice lines recorded within your account.
62
- #
63
- # ### Security Policies
64
- #
65
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
66
- # @param companyId [Integer] The unique ID number of the company to report on.
67
- # @param model [Object] Options that may be configured to customize the report.
68
- # @return [ReportModel[]]
69
- def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
70
- post(path, model) end
71
-
72
- # List all report tasks for account
73
- #
74
- # List all report tasks for your account.
75
- #
76
- # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
77
- # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
78
- #
79
- # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
80
- # * In the result of the Initiate API, you receive back a report's `id` value.
81
- # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
82
- # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
83
- #
84
- # This API call returns information about all report types across your entire account.
85
- #
86
- # ### Security Policies
87
- #
88
- # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
89
- # @param companyId [Integer] The id of the company for which to get reports.
90
- # @param pageKey [String] Provide a page key to retrieve the next page of results.
91
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
92
- # @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.
93
- # @return [FetchResult]
94
- def list_reports(options={}) path = "/api/v2/reports"
95
- get(path, options) end
96
- end
97
- end
1
+ module AvaTax
2
+ class Client
3
+ module Reports
4
+
5
+
6
+ # Download a report
7
+ #
8
+ # This API downloads the file associated with a report.
9
+ #
10
+ # If the report is not yet complete, you will receive a `ReportNotFinished` error. To check if a report is complete,
11
+ # use the `GetReport` API.
12
+ #
13
+ # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
14
+ # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
15
+ #
16
+ # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
17
+ # * In the result of the Initiate API, you receive back a report's `id` value.
18
+ # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
19
+ # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
20
+ #
21
+ # This API works for all report types.
22
+ #
23
+ # ### Security Policies
24
+ #
25
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
26
+ # @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
+ #
33
+ # Retrieve a single report by its unique ID number.
34
+ #
35
+ # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
36
+ # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
37
+ #
38
+ # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
39
+ # * In the result of the Initiate API, you receive back a report's `id` value.
40
+ # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
41
+ # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
42
+ #
43
+ # This API call returns information about any report type.
44
+ # @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
+ #
51
+ # Begins running an `ExportDocumentLine` report task and returns the identity of the report.
52
+ #
53
+ # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
54
+ # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
55
+ #
56
+ # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
57
+ # * In the result of the Initiate API, you receive back a report's `id` value.
58
+ # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
59
+ # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
60
+ #
61
+ # The `ExportDocumentLine` report produces information about invoice lines recorded within your account.
62
+ #
63
+ # ### Security Policies
64
+ #
65
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
66
+ # @param companyId [Integer] The unique ID number of the company to report on.
67
+ # @param model [Object] Options that may be configured to customize the report.
68
+ # @return [ReportModel[]]
69
+ def initiate_export_document_line_report(companyId, model) path = "/api/v2/companies/#{companyId}/reports/exportdocumentline/initiate"
70
+ post(path, model) end
71
+
72
+ # List all report tasks for account
73
+ #
74
+ # List all report tasks for your account.
75
+ #
76
+ # Reports are run as asynchronous report tasks on the server. When complete, the report file will be available for download
77
+ # for up to 30 days after completion. To run an asynchronous report, you should follow these steps:
78
+ #
79
+ # * Begin a report by calling the report's Initiate API. There is a separate initiate API call for each report type.
80
+ # * In the result of the Initiate API, you receive back a report's `id` value.
81
+ # * Check the status of a report by calling `GetReport` and passing in the report's `id` value.
82
+ # * When a report's status is `Completed`, call `DownloadReport` to retrieve the file.
83
+ #
84
+ # This API call returns information about all report types across your entire account.
85
+ #
86
+ # ### Security Policies
87
+ #
88
+ # * This API requires one of the following user roles: AccountAdmin, AccountUser, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
89
+ # @param companyId [Integer] The id of the company for which to get reports.
90
+ # @param pageKey [String] Provide a page key to retrieve the next page of results.
91
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
92
+ # @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.
93
+ # @return [FetchResult]
94
+ def list_reports(options={}) path = "/api/v2/reports"
95
+ get(path, options) end
96
+ end
97
+ end
98
98
  end
@@ -1,157 +1,157 @@
1
- module AvaTax
2
- class Client
3
- module Settings
4
-
5
-
6
- # Create a new setting
7
- #
8
- # Create one or more new setting objects attached to this company.
9
- #
10
- # The company settings system is a metadata system that you can use to store extra information
11
- # about a company. Your integration or connector could use this data storage to keep track of
12
- # preference information, reminders, or any other storage that would need to persist even if
13
- # the customer uninstalls your application.
14
- #
15
- # A setting can refer to any type of data you need to remember about this company object.
16
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
17
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
18
- #
19
- # ### Security Policies
20
- #
21
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
22
- # @param companyId [Integer] The ID of the company that owns this setting.
23
- # @param model [SettingModel[]] The setting you wish to create.
24
- # @return [SettingModel[]]
25
- def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
26
- post(path, model) end
27
-
28
- # Delete a single setting
29
- #
30
- # Mark the setting object at this URL as deleted.
31
- #
32
- # The company settings system is a metadata system that you can use to store extra information
33
- # about a company. Your integration or connector could use this data storage to keep track of
34
- # preference information, reminders, or any other storage that would need to persist even if
35
- # the customer uninstalls your application.
36
- #
37
- # A setting can refer to any type of data you need to remember about this company object.
38
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
39
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
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
- # @param companyId [Integer] The ID of the company that owns this setting.
45
- # @param id [Integer] The ID of the setting you wish to delete.
46
- # @return [ErrorDetail[]]
47
- def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
48
- delete(path) end
49
-
50
- # Retrieve a single setting
51
- #
52
- # Get a single setting object by its unique ID.
53
- #
54
- # The company settings system is a metadata system that you can use to store extra information
55
- # about a company. Your integration or connector could use this data storage to keep track of
56
- # preference information, reminders, or any other storage that would need to persist even if
57
- # the customer uninstalls your application.
58
- #
59
- # A setting can refer to any type of data you need to remember about this company object.
60
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
61
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
62
- #
63
- # ### Security Policies
64
- #
65
- # * 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.
66
- # @param companyId [Integer] The ID of the company that owns this setting
67
- # @param id [Integer] The primary key of this setting
68
- # @return [Object]
69
- def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
70
- get(path) end
71
-
72
- # Retrieve all settings for this company
73
- #
74
- # List all setting objects attached to this company.
75
- #
76
- # The company settings system is a metadata system that you can use to store extra information
77
- # about a company. Your integration or connector could use this data storage to keep track of
78
- # preference information, reminders, or any other storage that would need to persist even if
79
- # the customer uninstalls your application.
80
- #
81
- # A setting can refer to any type of data you need to remember about this company object.
82
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
83
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
84
- #
85
- # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
86
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
87
- #
88
- # ### Security Policies
89
- #
90
- # * 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.
91
- # @param companyId [Integer] The ID of the company that owns these settings
92
- # @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/).
93
- # @param include [String] A comma separated list of additional data to retrieve.
94
- # @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.
95
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
96
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
97
- # @return [FetchResult]
98
- def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
99
- get(path, options) end
100
-
101
- # Retrieve all settings
102
- #
103
- # Get multiple setting objects across all companies.
104
- #
105
- # The company settings system is a metadata system that you can use to store extra information
106
- # about a company. Your integration or connector could use this data storage to keep track of
107
- # preference information, reminders, or any other storage that would need to persist even if
108
- # the customer uninstalls your application.
109
- #
110
- # A setting can refer to any type of data you need to remember about this company object.
111
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
112
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
113
- #
114
- # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
115
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
116
- #
117
- # ### Security Policies
118
- #
119
- # * 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.
120
- # @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/).
121
- # @param include [String] A comma separated list of additional data to retrieve.
122
- # @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.
123
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
124
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
125
- # @return [FetchResult]
126
- def query_settings(options={}) path = "/api/v2/settings"
127
- get(path, options) end
128
-
129
- # Update a single setting
130
- #
131
- # Replace the existing setting object at this URL with an updated object.
132
- #
133
- # The company settings system is a metadata system that you can use to store extra information
134
- # about a company. Your integration or connector could use this data storage to keep track of
135
- # preference information, reminders, or any other storage that would need to persist even if
136
- # the customer uninstalls your application.
137
- #
138
- # A setting can refer to any type of data you need to remember about this company object.
139
- # When creating this object, you may define your own `set`, `name`, and `value` parameters.
140
- # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
141
- #
142
- # All data from the existing object will be replaced with data in the object you `PUT`.
143
- #
144
- # To set a field's value to `null`, you may either set its value to `null` or omit that field from the object when calling update.
145
- #
146
- # ### Security Policies
147
- #
148
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
149
- # @param companyId [Integer] The ID of the company that this setting belongs to.
150
- # @param id [Integer] The ID of the setting you wish to update
151
- # @param model [Object] The setting you wish to update.
152
- # @return [Object]
153
- def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
154
- put(path, model) end
155
- end
156
- end
1
+ module AvaTax
2
+ class Client
3
+ module Settings
4
+
5
+
6
+ # Create a new setting
7
+ #
8
+ # Create one or more new setting objects attached to this company.
9
+ #
10
+ # The company settings system is a metadata system that you can use to store extra information
11
+ # about a company. Your integration or connector could use this data storage to keep track of
12
+ # preference information, reminders, or any other storage that would need to persist even if
13
+ # the customer uninstalls your application.
14
+ #
15
+ # A setting can refer to any type of data you need to remember about this company object.
16
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
17
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
18
+ #
19
+ # ### Security Policies
20
+ #
21
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
22
+ # @param companyId [Integer] The ID of the company that owns this setting.
23
+ # @param model [SettingModel[]] The setting you wish to create.
24
+ # @return [SettingModel[]]
25
+ def create_settings(companyId, model) path = "/api/v2/companies/#{companyId}/settings"
26
+ post(path, model) end
27
+
28
+ # Delete a single setting
29
+ #
30
+ # Mark the setting object at this URL as deleted.
31
+ #
32
+ # The company settings system is a metadata system that you can use to store extra information
33
+ # about a company. Your integration or connector could use this data storage to keep track of
34
+ # preference information, reminders, or any other storage that would need to persist even if
35
+ # the customer uninstalls your application.
36
+ #
37
+ # A setting can refer to any type of data you need to remember about this company object.
38
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
39
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
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
+ # @param companyId [Integer] The ID of the company that owns this setting.
45
+ # @param id [Integer] The ID of the setting you wish to delete.
46
+ # @return [ErrorDetail[]]
47
+ def delete_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
48
+ delete(path) end
49
+
50
+ # Retrieve a single setting
51
+ #
52
+ # Get a single setting object by its unique ID.
53
+ #
54
+ # The company settings system is a metadata system that you can use to store extra information
55
+ # about a company. Your integration or connector could use this data storage to keep track of
56
+ # preference information, reminders, or any other storage that would need to persist even if
57
+ # the customer uninstalls your application.
58
+ #
59
+ # A setting can refer to any type of data you need to remember about this company object.
60
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
61
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
62
+ #
63
+ # ### Security Policies
64
+ #
65
+ # * 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.
66
+ # @param companyId [Integer] The ID of the company that owns this setting
67
+ # @param id [Integer] The primary key of this setting
68
+ # @return [Object]
69
+ def get_setting(companyId, id) path = "/api/v2/companies/#{companyId}/settings/#{id}"
70
+ get(path) end
71
+
72
+ # Retrieve all settings for this company
73
+ #
74
+ # List all setting objects attached to this company.
75
+ #
76
+ # The company settings system is a metadata system that you can use to store extra information
77
+ # about a company. Your integration or connector could use this data storage to keep track of
78
+ # preference information, reminders, or any other storage that would need to persist even if
79
+ # the customer uninstalls your application.
80
+ #
81
+ # A setting can refer to any type of data you need to remember about this company object.
82
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
83
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
84
+ #
85
+ # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
86
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
87
+ #
88
+ # ### Security Policies
89
+ #
90
+ # * 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.
91
+ # @param companyId [Integer] The ID of the company that owns these settings
92
+ # @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/).
93
+ # @param include [String] A comma separated list of additional data to retrieve.
94
+ # @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.
95
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
96
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
97
+ # @return [FetchResult]
98
+ def list_settings_by_company(companyId, options={}) path = "/api/v2/companies/#{companyId}/settings"
99
+ get(path, options) end
100
+
101
+ # Retrieve all settings
102
+ #
103
+ # Get multiple setting objects across all companies.
104
+ #
105
+ # The company settings system is a metadata system that you can use to store extra information
106
+ # about a company. Your integration or connector could use this data storage to keep track of
107
+ # preference information, reminders, or any other storage that would need to persist even if
108
+ # the customer uninstalls your application.
109
+ #
110
+ # A setting can refer to any type of data you need to remember about this company object.
111
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
112
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
113
+ #
114
+ # Search for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .
115
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
116
+ #
117
+ # ### Security Policies
118
+ #
119
+ # * 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.
120
+ # @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/).
121
+ # @param include [String] A comma separated list of additional data to retrieve.
122
+ # @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.
123
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
124
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
125
+ # @return [FetchResult]
126
+ def query_settings(options={}) path = "/api/v2/settings"
127
+ get(path, options) end
128
+
129
+ # Update a single setting
130
+ #
131
+ # Replace the existing setting object at this URL with an updated object.
132
+ #
133
+ # The company settings system is a metadata system that you can use to store extra information
134
+ # about a company. Your integration or connector could use this data storage to keep track of
135
+ # preference information, reminders, or any other storage that would need to persist even if
136
+ # the customer uninstalls your application.
137
+ #
138
+ # A setting can refer to any type of data you need to remember about this company object.
139
+ # When creating this object, you may define your own `set`, `name`, and `value` parameters.
140
+ # To define your own values, please choose a `set` name that begins with `X-` to indicate an extension.
141
+ #
142
+ # All data from the existing object will be replaced with data in the object you `PUT`.
143
+ #
144
+ # To set a field's value to `null`, you may either set its value to `null` or omit that field from the object when calling update.
145
+ #
146
+ # ### Security Policies
147
+ #
148
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
149
+ # @param companyId [Integer] The ID of the company that this setting belongs to.
150
+ # @param id [Integer] The ID of the setting you wish to update
151
+ # @param model [Object] The setting you wish to update.
152
+ # @return [Object]
153
+ def update_setting(companyId, id, model) path = "/api/v2/companies/#{companyId}/settings/#{id}"
154
+ put(path, model) end
155
+ end
156
+ end
157
157
  end