avatax 19.12.0 → 20.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/avatax.gemspec +0 -1
  3. data/lib/avatax/client/accounts.rb +269 -193
  4. data/lib/avatax/client/addresses.rb +60 -60
  5. data/lib/avatax/client/advancedrules.rb +81 -162
  6. data/lib/avatax/client/avafileforms.rb +93 -93
  7. data/lib/avatax/client/batches.rb +247 -188
  8. data/lib/avatax/client/certexpressinvites.rb +106 -106
  9. data/lib/avatax/client/certificates.rb +469 -469
  10. data/lib/avatax/client/companies.rb +400 -398
  11. data/lib/avatax/client/compliance.rb +18 -18
  12. data/lib/avatax/client/contacts.rb +124 -124
  13. data/lib/avatax/client/customers.rb +415 -415
  14. data/lib/avatax/client/datasources.rb +117 -117
  15. data/lib/avatax/client/definitions.rb +1039 -1007
  16. data/lib/avatax/client/distancethresholds.rb +140 -140
  17. data/lib/avatax/client/filingcalendars.rb +23 -508
  18. data/lib/avatax/client/filings.rb +29 -29
  19. data/lib/avatax/client/firmclientlinkages.rb +150 -150
  20. data/lib/avatax/client/free.rb +109 -109
  21. data/lib/avatax/client/fundingrequests.rb +58 -58
  22. data/lib/avatax/client/items.rb +480 -480
  23. data/lib/avatax/client/jurisdictionoverrides.rb +136 -136
  24. data/lib/avatax/client/locations.rb +163 -160
  25. data/lib/avatax/client/multidocument.rb +420 -340
  26. data/lib/avatax/client/nexus.rb +240 -225
  27. data/lib/avatax/client/notifications.rb +84 -84
  28. data/lib/avatax/client/provisioning.rb +55 -55
  29. data/lib/avatax/client/registrar.rb +228 -228
  30. data/lib/avatax/client/reports.rb +109 -109
  31. data/lib/avatax/client/settings.rb +174 -174
  32. data/lib/avatax/client/subscriptions.rb +71 -71
  33. data/lib/avatax/client/taxcodes.rb +138 -138
  34. data/lib/avatax/client/taxcontent.rb +142 -142
  35. data/lib/avatax/client/taxrules.rb +188 -188
  36. data/lib/avatax/client/transactions.rb +899 -854
  37. data/lib/avatax/client/upcs.rb +129 -129
  38. data/lib/avatax/client/users.rb +207 -207
  39. data/lib/avatax/client/utilities.rb +70 -70
  40. data/lib/avatax/connection.rb +3 -3
  41. data/lib/avatax/request.rb +2 -0
  42. data/lib/avatax/version.rb +1 -1
  43. metadata +4 -25
@@ -1,61 +1,61 @@
1
- module AvaTax
2
- class Client
3
- module Addresses
4
-
5
-
6
- # Retrieve geolocation information for a specified address
7
- #
8
- # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
9
- # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
10
- # to identify how closely this address can be located. If the address cannot be clearly located, use the
11
- # 'messages' structure to learn more about problems with this address.
12
- # This is the same API as the POST /api/v2/addresses/resolve endpoint.
13
- # Both verbs are supported to provide for flexible implementation.
14
- #
15
- # Inorder to get any evaluation for an address please provide atleast one of the following fields/pairs:
16
- # 1. postal code
17
- # 2. line1 + city + region
18
- # 3. line1 + postal code
19
- #
20
- # ### Security Policies
21
- #
22
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
23
- # * This API depends on the following active services<br />*Required* (all): AutoAddress.
24
- # @param line1 [String] Line 1
25
- # @param line2 [String] Line 2
26
- # @param line3 [String] Line 3
27
- # @param city [String] City
28
- # @param region [String] State / Province / Region
29
- # @param postalCode [String] Postal Code / Zip Code
30
- # @param country [String] Two character ISO 3166 Country Code (see /api/v2/definitions/countries for a full list)
31
- # @param textCase [String] selectable text case for address validation (See TextCase::* for a list of allowable values)
32
- # @return [Object]
33
- def resolve_address(options={})
34
- path = "/api/v2/addresses/resolve"
35
- get(path, options)
36
- end
37
-
38
-
39
- # Retrieve geolocation information for a specified address
40
- #
41
- # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
42
- # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
43
- # to identify how closely this address can be located. If the address cannot be clearly located, use the
44
- # 'messages' structure to learn more about problems with this address.
45
- # This is the same API as the GET /api/v2/addresses/resolve endpoint.
46
- # Both verbs are supported to provide for flexible implementation.
47
- #
48
- # ### Security Policies
49
- #
50
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
51
- # * This API depends on the following active services<br />*Required* (all): AutoAddress.
52
- # @param model [Object] The address to resolve
53
- # @return [Object]
54
- def resolve_address_post(model)
55
- path = "/api/v2/addresses/resolve"
56
- post(path, model)
57
- end
58
-
59
- end
60
- end
1
+ module AvaTax
2
+ class Client
3
+ module Addresses
4
+
5
+
6
+ # Retrieve geolocation information for a specified address
7
+ #
8
+ # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
9
+ # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
10
+ # to identify how closely this address can be located. If the address cannot be clearly located, use the
11
+ # 'messages' structure to learn more about problems with this address.
12
+ # This is the same API as the POST /api/v2/addresses/resolve endpoint.
13
+ # Both verbs are supported to provide for flexible implementation.
14
+ #
15
+ # Inorder to get any evaluation for an address please provide atleast one of the following fields/pairs:
16
+ # 1. postal code
17
+ # 2. line1 + city + region
18
+ # 3. line1 + postal code
19
+ #
20
+ # ### Security Policies
21
+ #
22
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
23
+ # * This API depends on the following active services<br />*Required* (all): AutoAddress.
24
+ # @param line1 [String] Line 1
25
+ # @param line2 [String] Line 2
26
+ # @param line3 [String] Line 3
27
+ # @param city [String] City
28
+ # @param region [String] State / Province / Region
29
+ # @param postalCode [String] Postal Code / Zip Code
30
+ # @param country [String] Two character ISO 3166 Country Code (see /api/v2/definitions/countries for a full list)
31
+ # @param textCase [String] selectable text case for address validation (See TextCase::* for a list of allowable values)
32
+ # @return [Object]
33
+ def resolve_address(options={})
34
+ path = "/api/v2/addresses/resolve"
35
+ get(path, options)
36
+ end
37
+
38
+
39
+ # Retrieve geolocation information for a specified address
40
+ #
41
+ # Resolve an address against Avalara's address-validation system. If the address can be resolved, this API
42
+ # provides the latitude and longitude of the resolved location. The value 'resolutionQuality' can be used
43
+ # to identify how closely this address can be located. If the address cannot be clearly located, use the
44
+ # 'messages' structure to learn more about problems with this address.
45
+ # This is the same API as the GET /api/v2/addresses/resolve endpoint.
46
+ # Both verbs are supported to provide for flexible implementation.
47
+ #
48
+ # ### Security Policies
49
+ #
50
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
51
+ # * This API depends on the following active services<br />*Required* (all): AutoAddress.
52
+ # @param model [Object] The address to resolve
53
+ # @return [Object]
54
+ def resolve_address_post(model)
55
+ path = "/api/v2/addresses/resolve"
56
+ post(path, model)
57
+ end
58
+
59
+ end
60
+ end
61
61
  end
@@ -1,163 +1,82 @@
1
- module AvaTax
2
- class Client
3
- module AdvancedRules
4
-
5
-
6
- # Approve an advanced rule script to run.
7
- #
8
- # This API is available by invite only and implementation support is required.
9
- # Please contact your Customer Account Manager if you are interested in using
10
- # Advanced Rules in your AvaTax integration.
11
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
12
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
13
- # @return [Object]
14
- def approve_advanced_rule_script(accountId, scriptType)
15
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}/approve"
16
- post(path)
17
- end
18
-
19
-
20
- # Create an advanced rule.
21
- #
22
- # This API is available by invite only and implementation support is required.
23
- # Please contact your Customer Account Manager if you are interested in using
24
- # Advanced Rules in your AvaTax integration.
25
- # @param accountId [Integer] The ID of the account that will own the Advanced Rule.
26
- # @param scriptType [String] The script transform type, Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
27
- # @param crashBehavior [String] The behavior the script should take if it crashes: Fail or Proceed. (See AdvancedRuleCrashBehavior::* for a list of allowable values)
28
- # @param file [Object] The JavaScript file containing the advanced rule.
29
- # @return [String]
30
- def create_advanced_rule_script(accountId, scriptType, options={})
31
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}"
32
- post(path, options)
33
- end
34
-
35
-
36
- # Create a lookup table for an advanced rule
37
- #
38
- # This API is available by invite only and implementation support is required.
39
- # Please contact your Customer Account Manager if you are interested in using
40
- # Advanced Rules in your AvaTax integration.
41
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
42
- # @param csvTableName [String] The name to assign the CSV lookup table.
43
- # @param file [Object] A CSV file containing lookup data for an advanced rule.
44
- # @return [String]
45
- def create_advanced_rule_table(accountId, csvTableName)
46
- path = "/api/v2/accounts/#{accountId}/advancedruletables/#{csvTableName}"
47
- post(path)
48
- end
49
-
50
-
51
- # Delete an account's active advanced rule
52
- #
53
- # This API is available by invite only and implementation support is required.
54
- # Please contact your Customer Account Manager if you are interested in using
55
- # Advanced Rules in your AvaTax integration.
56
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
57
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
58
- # @return [ErrorDetail[]]
59
- def delete_advanced_rule_script(accountId, scriptType)
60
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}"
61
- delete(path)
62
- end
63
-
64
-
65
- # Delete a lookup table for an advanced rule.
66
- #
67
- # This API is available by invite only and implementation support is required.
68
- # Please contact your Customer Account Manager if you are interested in using
69
- # Advanced Rules in your AvaTax integration.
70
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
71
- # @param csvTableName [String] The name of the CSV lookup table to delete.
72
- # @return [ErrorDetail[]]
73
- def delete_advanced_rule_table(accountId, csvTableName)
74
- path = "/api/v2/accounts/#{accountId}/advancedruletables/#{csvTableName}"
75
- delete(path)
76
- end
77
-
78
-
79
- # Disable an advanced rule so that it cannot be run.
80
- #
81
- # This API is available by invite only and implementation support is required.
82
- # Please contact your Customer Account Manager if you are interested in using
83
- # Advanced Rules in your AvaTax integration. ///
84
- # @param accountId [Integer]
85
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
86
- # @return [Object]
87
- def disable_advanced_rule_script(accountId, scriptType)
88
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}/disable"
89
- post(path)
90
- end
91
-
92
-
93
- # Enable an approved advanced rule so that it can be run.
94
- #
95
- # This API is available by invite only and implementation support is required.
96
- # Please contact your Customer Account Manager if you are interested in using
97
- # Advanced Rules in your AvaTax integration.
98
- # @param accountId [Integer]
99
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
100
- # @return [Object]
101
- def enable_advanced_rule_script(accountId, scriptType)
102
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}/enable"
103
- post(path)
104
- end
105
-
106
-
107
- # Get an account's advanced rule script.
108
- #
109
- # This API is available by invite only and implementation support is required.
110
- # Please contact your Customer Account Manager if you are interested in using
111
- # Advanced Rules in your AvaTax integration.
112
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
113
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
114
- # @return [Object]
115
- def get_advanced_rule_script(accountId, scriptType)
116
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}"
117
- get(path)
118
- end
119
-
120
-
121
- # Get an advanced rule lookup table for an account
122
- #
123
- # This API is available by invite only and implementation support is required.
124
- # Please contact your Customer Account Manager if you are interested in using
125
- # Advanced Rules in your AvaTax integration.
126
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
127
- # @param csvTableName [String] The name of the CSV lookup table to get.
128
- # @return [Object]
129
- def get_advanced_rule_table(accountId, csvTableName)
130
- path = "/api/v2/accounts/#{accountId}/advancedruletables/#{csvTableName}"
131
- get(path)
132
- end
133
-
134
-
135
- # Get all advanced rule lookup tables for an account
136
- #
137
- # This API is available by invite only and implementation support is required.
138
- # Please contact your Customer Account Manager if you are interested in using
139
- # Advanced Rules in your AvaTax integration.
140
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
141
- # @return [Object]
142
- def get_advanced_rule_tables(accountId)
143
- path = "/api/v2/accounts/#{accountId}/advancedruletables"
144
- get(path)
145
- end
146
-
147
-
148
- # Unapprove an advanced rule script so that it cannot be run.
149
- #
150
- # This API is available by invite only and implementation support is required.
151
- # Please contact your Customer Account Manager if you are interested in using
152
- # Advanced Rules in your AvaTax integration.
153
- # @param accountId [Integer] The ID of the account that owns the Advanced Rule.
154
- # @param scriptType [String] The script transform type: Request or Response. (See AdvancedRuleScriptType::* for a list of allowable values)
155
- # @return [Object]
156
- def unapprove_advanced_rule_script(accountId, scriptType)
157
- path = "/api/v2/accounts/#{accountId}/advancedrulescripts/#{scriptType}/unapprove"
158
- post(path)
159
- end
160
-
161
- end
162
- end
1
+ module AvaTax
2
+ class Client
3
+ module AdvancedRules
4
+
5
+
6
+ # Create a lookup file for a company
7
+ #
8
+ #
9
+ # @param accountId [Integer] The ID of the account for the company
10
+ # @param companyId [Integer] The ID of the company for which the lookup file is to be created
11
+ # @param model [Object] The lookup file you wish to create
12
+ # @return [Object]
13
+ def create_company_lookup_file(accountId, companyId, model)
14
+ path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
15
+ post(path, model)
16
+ end
17
+
18
+
19
+ # Delete a lookup file
20
+ #
21
+ #
22
+ # @param accountId [Integer] The ID of the account for the company the lookup file is for
23
+ # @param id [String] The unique ID/GUID for the company lookup file to be deleted
24
+ # @return [ErrorDetail[]]
25
+ def delete_lookup_file(accountId, id)
26
+ path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
27
+ delete(path)
28
+ end
29
+
30
+
31
+ # Get audit records by account id and date range.
32
+ #
33
+ #
34
+ # @param accountId [Integer] The ID of the account
35
+ # @param fromDate [String] Date
36
+ # @param toDate [String] Date
37
+ # @return [Object]
38
+ def get_audit_records(accountId, fromDate, toDate)
39
+ path = "/api/v2/advancedrules/audits/accounts/#{accountId}/from/#{fromDate}/to/#{toDate}"
40
+ get(path)
41
+ end
42
+
43
+
44
+ # Get the lookup files for a company
45
+ #
46
+ #
47
+ # @param accountId [Integer] The account ID for the company
48
+ # @param companyId [Integer] The ID of the company for which to retrieve lookup files
49
+ # @return [FetchResult]
50
+ def get_company_lookup_files(accountId, companyId)
51
+ path = "/api/v2/advancedrules/accounts/#{accountId}/companies/#{companyId}/lookupFiles"
52
+ get(path)
53
+ end
54
+
55
+
56
+ # Get a lookup file for an accountId and companyLookupFileId
57
+ #
58
+ #
59
+ # @param accountId [Integer] The ID of the account for the lookup file
60
+ # @param id [String] The unique ID/GUID of the company lookup file to return
61
+ # @return [Object]
62
+ def get_lookup_file(accountId, id)
63
+ path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
64
+ get(path)
65
+ end
66
+
67
+
68
+ # Update a lookup file
69
+ #
70
+ #
71
+ # @param accountId [Integer] The ID of the account for the company the lookup file is for
72
+ # @param id [String] The unique ID/GUID of the company lookup file to be updated
73
+ # @param model [Object] The new values to update the lookup file
74
+ # @return [Object]
75
+ def update_lookup_file(accountId, id, model)
76
+ path = "/api/v2/advancedrules/accounts/#{accountId}/lookupFiles/#{id}"
77
+ put(path, model)
78
+ end
79
+
80
+ end
81
+ end
163
82
  end
@@ -1,94 +1,94 @@
1
- module AvaTax
2
- class Client
3
- module AvaFileForms
4
-
5
-
6
- # Create a new AvaFileForm
7
- #
8
- # Create one or more AvaFileForms
9
- # A 'AvaFileForm' represents a form supported by our returns team
10
- #
11
- # ### Security Policies
12
- #
13
- # * This API requires the user role Compliance Root User.
14
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
15
- # @param model [AvaFileFormModel[]] The AvaFileForm you wish to create.
16
- # @return [AvaFileFormModel[]]
17
- def create_ava_file_forms(model)
18
- path = "/api/v2/avafileforms"
19
- post(path, model)
20
- end
21
-
22
-
23
- # Delete a single AvaFileForm
24
- #
25
- # Marks the existing AvaFileForm object at this URL as deleted.
26
- #
27
- # ### Security Policies
28
- #
29
- # * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin.
30
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
31
- # @param id [Integer] The ID of the AvaFileForm you wish to delete.
32
- # @return [ErrorDetail[]]
33
- def delete_ava_file_form(id)
34
- path = "/api/v2/avafileforms/#{id}"
35
- delete(path)
36
- end
37
-
38
-
39
- # Retrieve a single AvaFileForm
40
- #
41
- # Get the AvaFileForm object identified by this URL.
42
- #
43
- # ### Security Policies
44
- #
45
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
46
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
47
- # @param id [Integer] The primary key of this AvaFileForm
48
- # @return [Object]
49
- def get_ava_file_form(id)
50
- path = "/api/v2/avafileforms/#{id}"
51
- get(path)
52
- end
53
-
54
-
55
- # Retrieve all AvaFileForms
56
- #
57
- # 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/) .
58
- # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
59
- #
60
- # ### Security Policies
61
- #
62
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
63
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
64
- # @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:* outletTypeId
65
- # @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.
66
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
67
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
68
- # @return [FetchResult]
69
- def query_ava_file_forms(options={})
70
- path = "/api/v2/avafileforms"
71
- get(path, options)
72
- end
73
-
74
-
75
- # Update a AvaFileForm
76
- #
77
- # All data from the existing object will be replaced with data in the object you PUT.
78
- # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
79
- #
80
- # ### Security Policies
81
- #
82
- # * This API requires the user role Compliance Root User.
83
- # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
84
- # @param id [Integer] The ID of the AvaFileForm you wish to update
85
- # @param model [Object] The AvaFileForm model you wish to update.
86
- # @return [Object]
87
- def update_ava_file_form(id, model)
88
- path = "/api/v2/avafileforms/#{id}"
89
- put(path, model)
90
- end
91
-
92
- end
93
- end
1
+ module AvaTax
2
+ class Client
3
+ module AvaFileForms
4
+
5
+
6
+ # Create a new AvaFileForm
7
+ #
8
+ # Create one or more AvaFileForms
9
+ # A 'AvaFileForm' represents a form supported by our returns team
10
+ #
11
+ # ### Security Policies
12
+ #
13
+ # * This API requires the user role Compliance Root User.
14
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
15
+ # @param model [AvaFileFormModel[]] The AvaFileForm you wish to create.
16
+ # @return [AvaFileFormModel[]]
17
+ def create_ava_file_forms(model)
18
+ path = "/api/v2/avafileforms"
19
+ post(path, model)
20
+ end
21
+
22
+
23
+ # Delete a single AvaFileForm
24
+ #
25
+ # Marks the existing AvaFileForm object at this URL as deleted.
26
+ #
27
+ # ### Security Policies
28
+ #
29
+ # * This API requires one of the following user roles: Compliance Root User, ComplianceUser, FirmAdmin.
30
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
31
+ # @param id [Integer] The ID of the AvaFileForm you wish to delete.
32
+ # @return [ErrorDetail[]]
33
+ def delete_ava_file_form(id)
34
+ path = "/api/v2/avafileforms/#{id}"
35
+ delete(path)
36
+ end
37
+
38
+
39
+ # Retrieve a single AvaFileForm
40
+ #
41
+ # Get the AvaFileForm object identified by this URL.
42
+ #
43
+ # ### Security Policies
44
+ #
45
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
46
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
47
+ # @param id [Integer] The primary key of this AvaFileForm
48
+ # @return [Object]
49
+ def get_ava_file_form(id)
50
+ path = "/api/v2/avafileforms/#{id}"
51
+ get(path)
52
+ end
53
+
54
+
55
+ # Retrieve all AvaFileForms
56
+ #
57
+ # 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/) .
58
+ # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
59
+ #
60
+ # ### Security Policies
61
+ #
62
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, CompanyAdmin, CompanyUser, Compliance Root User, Compliance Temp User, ComplianceAdmin, ComplianceUser, FirmAdmin, FirmUser, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin.
63
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
64
+ # @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:* outletTypeId
65
+ # @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.
66
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
67
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
68
+ # @return [FetchResult]
69
+ def query_ava_file_forms(options={})
70
+ path = "/api/v2/avafileforms"
71
+ get(path, options)
72
+ end
73
+
74
+
75
+ # Update a AvaFileForm
76
+ #
77
+ # All data from the existing object will be replaced with data in the object you PUT.
78
+ # To set a field's value to null, you may either set its value to null or omit that field from the object you post.
79
+ #
80
+ # ### Security Policies
81
+ #
82
+ # * This API requires the user role Compliance Root User.
83
+ # * This API depends on the following active services<br />*Returns* (at least one of): Mrs, MRSComplianceManager, AvaTaxCsp.<br />*Firm Managed* (for accounts managed by a firm): ARA, ARAManaged.
84
+ # @param id [Integer] The ID of the AvaFileForm you wish to update
85
+ # @param model [Object] The AvaFileForm model you wish to update.
86
+ # @return [Object]
87
+ def update_ava_file_form(id, model)
88
+ path = "/api/v2/avafileforms/#{id}"
89
+ put(path, model)
90
+ end
91
+
92
+ end
93
+ end
94
94
  end