avatax 17.5.0 → 17.6.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.
@@ -4,41 +4,43 @@ module AvaTax
4
4
 
5
5
 
6
6
  # FREE API - Request a free trial of AvaTax
7
- #
7
+ #
8
8
  # Call this API to obtain a free AvaTax sandbox account.
9
- #
9
+ #
10
10
  # This API is free to use. No authentication credentials are required to call this API.
11
11
  # The account will grant a full trial version of AvaTax (e.g. AvaTaxPro) for a limited period of time.
12
12
  # After this introductory period, you may continue to use the free TaxRates API.
13
- #
13
+ #
14
14
  # Limitations on free trial accounts:
15
- #
15
+ #
16
16
  # * Only one free trial per company.
17
17
  # * The free trial account does not expire.
18
18
  # * Includes a limited time free trial of AvaTaxPro; after that date, the free TaxRates API will continue to work.
19
19
  # * Each free trial account must have its own valid email address.
20
- #
21
- # @param FreeTrialRequestModel model Required information to provision a free trial account.
22
- # @return NewAccountModel
20
+ # @param model [Object] Required information to provision a free trial account.
21
+ # @return [Object]
23
22
  def request_free_trial(model)
24
23
  path = "/api/v2/accounts/freetrials/request"
25
-
26
24
  post(path, model)
27
25
  end
28
26
 
29
27
 
30
28
  # FREE API - Sales tax rates for a specified address
31
- #
29
+ #
32
30
  # # Free-To-Use
33
- #
31
+ #
34
32
  # The TaxRates API is a free-to-use, no cost option for estimating sales tax rates.
35
33
  # Any customer can request a free AvaTax account and make use of the TaxRates API.
36
- # However, this API is currently limited for US only
37
- #
38
- # Note that the TaxRates API assumes the sale of general tangible personal property when estimating the sales tax
39
- # rate for a specified address. Avalara provides the `CreateTransaction` API, which provides extensive tax calculation
40
- # support for scenarios including, but not limited to:
41
- #
34
+ #
35
+ # Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
36
+ # response code 429 - `Too Many Requests`.
37
+ #
38
+ # This API assumes that you are selling general tangible personal property at a retail point-of-sale
39
+ # location in the United States only.
40
+ #
41
+ # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
42
+ # which supports features including, but not limited to:
43
+ #
42
44
  # * Nexus declarations
43
45
  # * Taxability based on product/service type
44
46
  # * Sourcing rules affecting origin/destination states
@@ -47,37 +49,39 @@ module AvaTax
47
49
  # * Refunds for products purchased on a different date
48
50
  # * Detailed jurisdiction names and state assigned codes
49
51
  # * And more!
50
- #
52
+ #
51
53
  # Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
52
54
  # for information on how to upgrade to the full AvaTax CreateTransaction API.
53
- #
54
- # @param string line1 The street address of the location.
55
- # @param string line2 The street address of the location.
56
- # @param string line3 The street address of the location.
57
- # @param string city The city name of the location.
58
- # @param string region The state or region of the location
59
- # @param string postalCode The postal code of the location.
60
- # @param string country The two letter ISO-3166 country code.
61
- # @return TaxRateModel
55
+ # @param line1 [String] The street address of the location.
56
+ # @param line2 [String] The street address of the location.
57
+ # @param line3 [String] The street address of the location.
58
+ # @param city [String] The city name of the location.
59
+ # @param region [String] The state or region of the location
60
+ # @param postalCode [String] The postal code of the location.
61
+ # @param country [String] The two letter ISO-3166 country code.
62
+ # @return [Object]
62
63
  def tax_rates_by_address(options={})
63
64
  path = "/api/v2/taxrates/byaddress"
64
-
65
65
  get(path, options)
66
66
  end
67
67
 
68
68
 
69
69
  # FREE API - Sales tax rates for a specified country and postal code
70
- #
70
+ #
71
71
  # # Free-To-Use
72
- #
72
+ #
73
73
  # The TaxRates API is a free-to-use, no cost option for estimating sales tax rates.
74
74
  # Any customer can request a free AvaTax account and make use of the TaxRates API.
75
- # However, this API is currently limited for US only
76
- #
77
- # Note that the TaxRates API assumes the sale of general tangible personal property when estimating the sales tax
78
- # rate for a specified address. Avalara provides the `CreateTransaction` API, which provides extensive tax calculation
79
- # support for scenarios including, but not limited to:
80
- #
75
+ #
76
+ # Usage of this API is subject to rate limits. Users who exceed the rate limit will receive HTTP
77
+ # response code 429 - `Too Many Requests`.
78
+ #
79
+ # This API assumes that you are selling general tangible personal property at a retail point-of-sale
80
+ # location in the United States only.
81
+ #
82
+ # For more powerful tax calculation, please consider upgrading to the `CreateTransaction` API,
83
+ # which supports features including, but not limited to:
84
+ #
81
85
  # * Nexus declarations
82
86
  # * Taxability based on product/service type
83
87
  # * Sourcing rules affecting origin/destination states
@@ -86,16 +90,14 @@ module AvaTax
86
90
  # * Refunds for products purchased on a different date
87
91
  # * Detailed jurisdiction names and state assigned codes
88
92
  # * And more!
89
- #
93
+ #
90
94
  # Please see [Estimating Tax with REST v2](http://developer.avalara.com/blog/2016/11/04/estimating-tax-with-rest-v2/)
91
95
  # for information on how to upgrade to the full AvaTax CreateTransaction API.
92
- #
93
- # @param string country The two letter ISO-3166 country code.
94
- # @param string postalCode The postal code of the location.
95
- # @return TaxRateModel
96
+ # @param country [String] The two letter ISO-3166 country code.
97
+ # @param postalCode [String] The postal code of the location.
98
+ # @return [Object]
96
99
  def tax_rates_by_postal_code(options={})
97
100
  path = "/api/v2/taxrates/bypostalcode"
98
-
99
101
  get(path, options)
100
102
  end
101
103
 
@@ -4,34 +4,32 @@ module AvaTax
4
4
 
5
5
 
6
6
  # Request the javascript for a funding setup widget
7
- #
7
+ #
8
8
  # This API is available by invitation only.
9
- # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
10
- # required to setup their funding configuration before Avalara can begin filing tax returns on their
9
+ # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
10
+ # required to setup their funding configuration before Avalara can begin filing tax returns on their
11
11
  # behalf.
12
12
  # Funding configuration for each company is set up by submitting a funding setup request, which can
13
13
  # be sent either via email or via an embedded HTML widget.
14
14
  # When the funding configuration is submitted to Avalara, it will be reviewed by treasury team members
15
15
  # before approval.
16
- # This API returns back the actual javascript code to insert into your application to render the
16
+ # This API returns back the actual javascript code to insert into your application to render the
17
17
  # JavaScript funding setup widget inline.
18
18
  # Use the 'methodReturn.javaScript' return value to insert this widget into your HTML page.
19
19
  # This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
20
- #
21
- # @param int id The unique ID number of this funding request
22
- # @return FundingStatusModel
20
+ # @param id [Integer] The unique ID number of this funding request
21
+ # @return [Object]
23
22
  def activate_funding_request(id)
24
23
  path = "/api/v2/fundingrequests/#{id}/widget"
25
-
26
24
  get(path)
27
25
  end
28
26
 
29
27
 
30
28
  # Retrieve status about a funding setup request
31
- #
29
+ #
32
30
  # This API is available by invitation only.
33
- # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
34
- # required to setup their funding configuration before Avalara can begin filing tax returns on their
31
+ # Companies that use the Avalara Managed Returns or the SST Certified Service Provider services are
32
+ # required to setup their funding configuration before Avalara can begin filing tax returns on their
35
33
  # behalf.
36
34
  # Funding configuration for each company is set up by submitting a funding setup request, which can
37
35
  # be sent either via email or via an embedded HTML widget.
@@ -39,12 +37,10 @@ module AvaTax
39
37
  # before approval.
40
38
  # This API checks the status on an existing funding request.
41
39
  # This API requires a subscription to Avalara Managed Returns or SST Certified Service Provider.
42
- #
43
- # @param int id The unique ID number of this funding request
44
- # @return FundingStatusModel
40
+ # @param id [Integer] The unique ID number of this funding request
41
+ # @return [Object]
45
42
  def funding_request_status(id)
46
43
  path = "/api/v2/fundingrequests/#{id}"
47
-
48
44
  get(path)
49
45
  end
50
46
 
@@ -4,105 +4,93 @@ module AvaTax
4
4
 
5
5
 
6
6
  # Create a new item
7
- #
7
+ #
8
8
  # Creates one or more new item objects attached to this company.
9
- #
10
- # @param int companyId The ID of the company that owns this item.
11
- # @param ItemModel[] model The item you wish to create.
12
- # @return ItemModel[]
9
+ # @param companyId [Integer] The ID of the company that owns this item.
10
+ # @param model [object[]] The item you wish to create.
11
+ # @return [object[]]
13
12
  def create_items(companyId, model)
14
13
  path = "/api/v2/companies/#{companyId}/items"
15
-
16
14
  post(path, model)
17
15
  end
18
16
 
19
17
 
20
18
  # Delete a single item
21
- #
19
+ #
22
20
  # Marks the item object at this URL as deleted.
23
- #
24
- # @param int companyId The ID of the company that owns this item.
25
- # @param int id The ID of the item you wish to delete.
26
- # @return ErrorDetail[]
21
+ # @param companyId [Integer] The ID of the company that owns this item.
22
+ # @param id [Integer] The ID of the item you wish to delete.
23
+ # @return [object[]]
27
24
  def delete_item(companyId, id)
28
25
  path = "/api/v2/companies/#{companyId}/items/#{id}"
29
-
30
26
  delete(path)
31
27
  end
32
28
 
33
29
 
34
30
  # Retrieve a single item
35
- #
31
+ #
36
32
  # Get the item object identified by this URL.
37
33
  # An 'Item' represents a product or service that your company offers for sale.
38
- #
39
- # @param int companyId The ID of the company that owns this item object
40
- # @param int id The primary key of this item
41
- # @return ItemModel
34
+ # @param companyId [Integer] The ID of the company that owns this item object
35
+ # @param id [Integer] The primary key of this item
36
+ # @return [Object]
42
37
  def get_item(companyId, id)
43
38
  path = "/api/v2/companies/#{companyId}/items/#{id}"
44
-
45
39
  get(path)
46
40
  end
47
41
 
48
42
 
49
43
  # Retrieve items for this company
50
- #
44
+ #
51
45
  # List all items defined for the current company.
52
- #
46
+ #
53
47
  # An 'Item' represents a product or service that your company offers for sale.
54
- #
48
+ #
55
49
  # 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/) .
56
50
  # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
57
- #
58
- # @param int companyId The ID of the company that defined these items
59
- # @param string filter 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/) .
60
- # @param string include A comma separated list of child objects to return underneath the primary object.
61
- # @param int top If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
62
- # @param int skip If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
63
- # @param string orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
64
- # @return FetchResult
51
+ # @param companyId [Integer] The ID of the company that defined these items
52
+ # @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/) .
53
+ # @param include [String] A comma separated list of child objects to return underneath the primary object.
54
+ # @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
55
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
56
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
57
+ # @return [FetchResult]
65
58
  def list_items_by_company(companyId, options={})
66
59
  path = "/api/v2/companies/#{companyId}/items"
67
-
68
60
  get(path, options)
69
61
  end
70
62
 
71
63
 
72
64
  # Retrieve all items
73
- #
65
+ #
74
66
  # Get multiple item objects across all companies.
75
67
  # An 'Item' represents a product or service that your company offers for sale.
76
- #
68
+ #
77
69
  # 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/) .
78
70
  # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
79
- #
80
- # @param string filter 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/) .
81
- # @param string include A comma separated list of child objects to return underneath the primary object.
82
- # @param int top If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
83
- # @param int skip If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
84
- # @param string orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
85
- # @return FetchResult
71
+ # @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/) .
72
+ # @param include [String] A comma separated list of child objects to return underneath the primary object.
73
+ # @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
74
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
75
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
76
+ # @return [FetchResult]
86
77
  def query_items(options={})
87
78
  path = "/api/v2/items"
88
-
89
79
  get(path, options)
90
80
  end
91
81
 
92
82
 
93
83
  # Update a single item
94
- #
84
+ #
95
85
  # Replace the existing item object at this URL with an updated object.
96
- # All data from the existing object will be replaced with data in the object you PUT.
86
+ # All data from the existing object will be replaced with data in the object you PUT.
97
87
  # 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.
98
- #
99
- # @param int companyId The ID of the company that this item belongs to.
100
- # @param int id The ID of the item you wish to update
101
- # @param ItemModel model The item object you wish to update.
102
- # @return ItemModel
88
+ # @param companyId [Integer] The ID of the company that this item belongs to.
89
+ # @param id [Integer] The ID of the item you wish to update
90
+ # @param model [Object] The item object you wish to update.
91
+ # @return [Object]
103
92
  def update_item(companyId, id, model)
104
93
  path = "/api/v2/companies/#{companyId}/items/#{id}"
105
-
106
94
  put(path, model)
107
95
  end
108
96
 
@@ -4,119 +4,107 @@ module AvaTax
4
4
 
5
5
 
6
6
  # Create one or more overrides
7
- #
7
+ #
8
8
  # Creates one or more jurisdiction override objects for this account.
9
- #
9
+ #
10
10
  # A Jurisdiction Override is a configuration setting that allows you to select the taxing
11
11
  # jurisdiction for a specific address. If you encounter an address that is on the boundary
12
12
  # between two different jurisdictions, you can choose to set up a jurisdiction override
13
13
  # to switch this address to use different taxing jurisdictions.
14
- #
15
- # @param int accountId The ID of the account that owns this override
16
- # @param JurisdictionOverrideModel[] model The jurisdiction override objects to create
17
- # @return JurisdictionOverrideModel[]
14
+ # @param accountId [Integer] The ID of the account that owns this override
15
+ # @param model [object[]] The jurisdiction override objects to create
16
+ # @return [object[]]
18
17
  def create_jurisdiction_overrides(accountId, model)
19
18
  path = "/api/v2/accounts/#{accountId}/jurisdictionoverrides"
20
-
21
19
  post(path, model)
22
20
  end
23
21
 
24
22
 
25
23
  # Delete a single override
26
- #
24
+ #
27
25
  # Marks the item object at this URL as deleted.
28
- #
29
- # @param int accountId The ID of the account that owns this override
30
- # @param int id The ID of the override you wish to delete
31
- # @return ErrorDetail[]
26
+ # @param accountId [Integer] The ID of the account that owns this override
27
+ # @param id [Integer] The ID of the override you wish to delete
28
+ # @return [object[]]
32
29
  def delete_jurisdiction_override(accountId, id)
33
30
  path = "/api/v2/accounts/#{accountId}/jurisdictionoverrides/#{id}"
34
-
35
31
  delete(path)
36
32
  end
37
33
 
38
34
 
39
35
  # Retrieve a single override
40
- #
36
+ #
41
37
  # Get the item object identified by this URL.
42
- #
38
+ #
43
39
  # A Jurisdiction Override is a configuration setting that allows you to select the taxing
44
40
  # jurisdiction for a specific address. If you encounter an address that is on the boundary
45
41
  # between two different jurisdictions, you can choose to set up a jurisdiction override
46
42
  # to switch this address to use different taxing jurisdictions.
47
- #
48
- # @param int accountId The ID of the account that owns this override
49
- # @param int id The primary key of this override
50
- # @return JurisdictionOverrideModel
43
+ # @param accountId [Integer] The ID of the account that owns this override
44
+ # @param id [Integer] The primary key of this override
45
+ # @return [Object]
51
46
  def get_jurisdiction_override(accountId, id)
52
47
  path = "/api/v2/accounts/#{accountId}/jurisdictionoverrides/#{id}"
53
-
54
48
  get(path)
55
49
  end
56
50
 
57
51
 
58
52
  # Retrieve overrides for this account
59
- #
53
+ #
60
54
  # List all jurisdiction override objects defined for this account.
61
- #
55
+ #
62
56
  # A Jurisdiction Override is a configuration setting that allows you to select the taxing
63
57
  # jurisdiction for a specific address. If you encounter an address that is on the boundary
64
58
  # between two different jurisdictions, you can choose to set up a jurisdiction override
65
59
  # to switch this address to use different taxing jurisdictions.
66
- #
60
+ #
67
61
  # 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/) .
68
62
  # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
69
- #
70
- # @param int accountId The ID of the account that owns this override
71
- # @param string filter 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/) .
72
- # @param string include A comma separated list of child objects to return underneath the primary object.
73
- # @param int top If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
74
- # @param int skip If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
75
- # @param string orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
76
- # @return FetchResult
63
+ # @param accountId [Integer] The ID of the account that owns this override
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/) .
65
+ # @param include [String] A comma separated list of child objects to return underneath the primary object.
66
+ # @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
67
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
68
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
69
+ # @return [FetchResult]
77
70
  def list_jurisdiction_overrides_by_account(accountId, options={})
78
71
  path = "/api/v2/accounts/#{accountId}/jurisdictionoverrides"
79
-
80
72
  get(path, options)
81
73
  end
82
74
 
83
75
 
84
76
  # Retrieve all overrides
85
- #
77
+ #
86
78
  # Get multiple jurisdiction override objects across all companies.
87
- #
79
+ #
88
80
  # A Jurisdiction Override is a configuration setting that allows you to select the taxing
89
81
  # jurisdiction for a specific address. If you encounter an address that is on the boundary
90
82
  # between two different jurisdictions, you can choose to set up a jurisdiction override
91
83
  # to switch this address to use different taxing jurisdictions.
92
- #
84
+ #
93
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/) .
94
86
  # Paginate your results using the `$top`, `$skip`, and `$orderby` parameters.
95
- #
96
- # @param string filter 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/) .
97
- # @param string include A comma separated list of child objects to return underneath the primary object.
98
- # @param int top If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
99
- # @param int skip If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
100
- # @param string orderBy A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
101
- # @return FetchResult
87
+ # @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/) .
88
+ # @param include [String] A comma separated list of child objects to return underneath the primary object.
89
+ # @param top [Integer] If nonzero, return no more than this number of results. Used with $skip to provide pagination for large datasets.
90
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with $top to provide pagination for large datasets.
91
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
92
+ # @return [FetchResult]
102
93
  def query_jurisdiction_overrides(options={})
103
94
  path = "/api/v2/jurisdictionoverrides"
104
-
105
95
  get(path, options)
106
96
  end
107
97
 
108
98
 
109
99
  # Update a single jurisdictionoverride
110
- #
100
+ #
111
101
  # Replace the existing jurisdictionoverride object at this URL with an updated object.
112
- #
113
- # @param int accountId The ID of the account that this jurisdictionoverride belongs to.
114
- # @param int id The ID of the jurisdictionoverride you wish to update
115
- # @param JurisdictionOverrideModel model The jurisdictionoverride object you wish to update.
116
- # @return JurisdictionOverrideModel
102
+ # @param accountId [Integer] The ID of the account that this jurisdictionoverride belongs to.
103
+ # @param id [Integer] The ID of the jurisdictionoverride you wish to update
104
+ # @param model [Object] The jurisdictionoverride object you wish to update.
105
+ # @return [Object]
117
106
  def update_jurisdiction_override(accountId, id, model)
118
107
  path = "/api/v2/accounts/#{accountId}/jurisdictionoverrides/#{id}"
119
-
120
108
  put(path, model)
121
109
  end
122
110