avatax 19.12.0 → 20.7.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 (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