avatax 20.1.0 → 20.9.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 (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 CertExpressInvites
4
-
5
-
6
- # Create a CertExpress invitation
7
- #
8
- # Creates an invitation for a customer to self-report certificates using the CertExpress website.
9
- #
10
- # This invitation is delivered by your choice of method, or you can present a hyperlink to the user
11
- # directly in your connector. Your customer will be redirected to https://app.certexpress.com/ where
12
- # they can follow a step-by-step guide to enter information about their exemption certificates. The
13
- # certificates entered will be recorded and automatically linked to their customer record.
14
- #
15
- # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
16
- # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
17
- # your company so that they can be used for tax exemptions.
18
- #
19
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
20
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
21
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
22
- # storage for this company, call `RequestCertificateSetup`.
23
- #
24
- # ### Security Policies
25
- #
26
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
27
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
28
- # @param companyId [Integer] The unique ID number of the company that will record certificates
29
- # @param customerCode [String] The number of the customer where the request is sent to
30
- # @param model [CreateCertExpressInvitationModel[]] the requests to send out to customers
31
- # @return [CertExpressInvitationStatusModel[]]
32
- def create_cert_express_invitation(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites"
33
- post(path, model) end
34
-
35
- # Retrieve a single CertExpress invitation
36
- #
37
- # Retrieve an existing CertExpress invitation sent to a customer.
38
- #
39
- # A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information
40
- # about their certificates. This step by step guide allows the customer to complete and upload the full
41
- # certificate in a convenient, friendly web browser experience. When the customer completes their certificates,
42
- # they will automatically be recorded to your company and linked to the customer record.
43
- #
44
- # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
45
- # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
46
- # your company so that they can be used for tax exemptions.
47
- #
48
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
49
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
50
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
51
- # storage for this company, call `RequestCertificateSetup`.
52
- #
53
- # ### Security Policies
54
- #
55
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
56
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
57
- # @param companyId [Integer] The unique ID number of the company that issued this invitation
58
- # @param customerCode [String] The number of the customer where the request is sent to
59
- # @param id [Integer] The unique ID number of this CertExpress invitation
60
- # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
61
- # @return [Object]
62
- def get_cert_express_invitation(companyId, customerCode, id, options={}) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites/#{id}"
63
- get(path, options) end
64
-
65
- # List CertExpress invitations
66
- #
67
- # Retrieve CertExpress invitations sent by this company.
68
- #
69
- # A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information
70
- # about their certificates. This step by step guide allows the customer to complete and upload the full
71
- # certificate in a convenient, friendly web browser experience. When the customer completes their certificates,
72
- # they will automatically be recorded to your company and linked to the customer record.
73
- #
74
- # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
75
- # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
76
- # your company so that they can be used for tax exemptions.
77
- #
78
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
79
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
80
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
81
- # storage for this company, call `RequestCertificateSetup`.
82
- #
83
- # ### Security Policies
84
- #
85
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
86
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
87
- # @param companyId [Integer] The unique ID number of the company that issued this invitation
88
- # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
89
- # @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:* companyId, customer, coverLetter, exposureZones, exemptReasons, requestLink
90
- # @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.
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 orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
93
- # @return [FetchResult]
94
- def list_cert_express_invitations(companyId, options={}) path = "/api/v2/companies/#{companyId}/certexpressinvites"
95
- get(path, options) end
96
- end
97
- end
1
+ module AvaTax
2
+ class Client
3
+ module CertExpressInvites
4
+
5
+
6
+ # Create a CertExpress invitation
7
+ #
8
+ # Creates an invitation for a customer to self-report certificates using the CertExpress website.
9
+ #
10
+ # This invitation is delivered by your choice of method, or you can present a hyperlink to the user
11
+ # directly in your connector. Your customer will be redirected to https://app.certexpress.com/ where
12
+ # they can follow a step-by-step guide to enter information about their exemption certificates. The
13
+ # certificates entered will be recorded and automatically linked to their customer record.
14
+ #
15
+ # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
16
+ # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
17
+ # your company so that they can be used for tax exemptions.
18
+ #
19
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
20
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
21
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
22
+ # storage for this company, call `RequestCertificateSetup`.
23
+ #
24
+ # ### Security Policies
25
+ #
26
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
27
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
28
+ # @param companyId [Integer] The unique ID number of the company that will record certificates
29
+ # @param customerCode [String] The number of the customer where the request is sent to
30
+ # @param model [CreateCertExpressInvitationModel[]] the requests to send out to customers
31
+ # @return [CertExpressInvitationStatusModel[]]
32
+ def create_cert_express_invitation(companyId, customerCode, model) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites"
33
+ post(path, model) end
34
+
35
+ # Retrieve a single CertExpress invitation
36
+ #
37
+ # Retrieve an existing CertExpress invitation sent to a customer.
38
+ #
39
+ # A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information
40
+ # about their certificates. This step by step guide allows the customer to complete and upload the full
41
+ # certificate in a convenient, friendly web browser experience. When the customer completes their certificates,
42
+ # they will automatically be recorded to your company and linked to the customer record.
43
+ #
44
+ # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
45
+ # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
46
+ # your company so that they can be used for tax exemptions.
47
+ #
48
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
49
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
50
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
51
+ # storage for this company, call `RequestCertificateSetup`.
52
+ #
53
+ # ### Security Policies
54
+ #
55
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
56
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
57
+ # @param companyId [Integer] The unique ID number of the company that issued this invitation
58
+ # @param customerCode [String] The number of the customer where the request is sent to
59
+ # @param id [Integer] The unique ID number of this CertExpress invitation
60
+ # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
61
+ # @return [Object]
62
+ def get_cert_express_invitation(companyId, customerCode, id, options={}) path = "/api/v2/companies/#{companyId}/customers/#{customerCode}/certexpressinvites/#{id}"
63
+ get(path, options) end
64
+
65
+ # List CertExpress invitations
66
+ #
67
+ # Retrieve CertExpress invitations sent by this company.
68
+ #
69
+ # A CertExpression invitation allows a customer to follow a helpful step-by-step guide to provide information
70
+ # about their certificates. This step by step guide allows the customer to complete and upload the full
71
+ # certificate in a convenient, friendly web browser experience. When the customer completes their certificates,
72
+ # they will automatically be recorded to your company and linked to the customer record.
73
+ #
74
+ # The [CertExpress website](https://app.certexpress.com/home) is available for customers to use at any time.
75
+ # Using CertExpress with this API will ensure that your certificates are automatically linked correctly into
76
+ # your company so that they can be used for tax exemptions.
77
+ #
78
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
79
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
80
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
81
+ # storage for this company, call `RequestCertificateSetup`.
82
+ #
83
+ # ### Security Policies
84
+ #
85
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
86
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
87
+ # @param companyId [Integer] The unique ID number of the company that issued this invitation
88
+ # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are defined at this time.
89
+ # @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:* companyId, customer, coverLetter, exposureZones, exemptReasons, requestLink
90
+ # @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.
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 orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
93
+ # @return [FetchResult]
94
+ def list_cert_express_invitations(companyId, options={}) path = "/api/v2/companies/#{companyId}/certexpressinvites"
95
+ get(path, options) end
96
+ end
97
+ end
98
98
  end
@@ -1,425 +1,425 @@
1
- module AvaTax
2
- class Client
3
- module Certificates
4
-
5
-
6
- # Create certificates for this company
7
- #
8
- # Record one or more certificates document for this company.
9
- #
10
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
11
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
12
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
13
- # log onto the administrative website for the product you purchased.
14
- #
15
- # When you create a certificate, it will be processed by Avalara and will become available for use in
16
- # calculating tax exemptions when processing is complete. For a certificate to be used in calculating exemptions,
17
- # it must have the following:
18
- #
19
- # * An exposure zone indicating where the certificate is valid
20
- # * A link to the customer that is allowed to use this certificate
21
- # * Your tax transaction must contain the correct customer code
22
- #
23
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
24
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
25
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
26
- # storage for this company, call `RequestCertificateSetup`.
27
- #
28
- # If the users specified in the certificates do not exist, the API will create the user and link them to the certificate
29
- #
30
- # ### Security Policies
31
- #
32
- # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
33
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
34
- # @param companyId [Integer] The ID number of the company recording this certificate
35
- # @param preValidatedExemptionReason [Boolean] If set to true, the certificate will bypass the human verification process.
36
- # @param model [CertificateModel[]] Certificates to be created
37
- # @return [CertificateModel[]]
38
- def create_certificates(companyId, model, options={}) path = "/api/v2/companies/#{companyId}/certificates"
39
- post(path, model, options) end
40
-
41
- # Revoke and delete a certificate
42
- #
43
- # Revoke the certificate identified by this URL, then delete it.
44
- #
45
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
46
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
47
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
48
- # log onto the administrative website for the product you purchased.
49
- #
50
- # Revoked certificates can no longer be used.
51
- #
52
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
53
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
54
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
55
- # storage for this company, call `RequestCertificateSetup`.
56
- #
57
- # ### Security Policies
58
- #
59
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
60
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
61
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
62
- # @param id [Integer] The unique ID number of this certificate
63
- # @return [ErrorDetail[]]
64
- def delete_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
65
- delete(path) end
66
-
67
- # Download an image for this certificate
68
- #
69
- # Download an image or PDF file for this certificate.
70
- #
71
- # This API can be used to download either a single-page preview of the certificate or a full PDF document.
72
- # To retrieve a preview image, set the `$type` parameter to `Jpeg` and the `$page` parameter to `1`.
73
- #
74
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
75
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
76
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
77
- # log onto the administrative website for the product you purchased.
78
- #
79
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
80
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
81
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
82
- # storage for this company, call `RequestCertificateSetup`.
83
- #
84
- # ### Security Policies
85
- #
86
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
87
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
88
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
89
- # @param id [Integer] The unique ID number of this certificate
90
- # @param page [Integer] If you choose `$type`=`Jpeg`, you must specify which page number to retrieve.
91
- # @param type [String] The data format in which to retrieve the certificate image (See CertificatePreviewType::* for a list of allowable values)
92
- # @return [Object]
93
- def download_certificate_image(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
94
- get(path, options) end
95
-
96
- # Retrieve a single certificate
97
- #
98
- # Get the current certificate identified by this URL.
99
- #
100
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
101
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
102
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
103
- # log onto the administrative website for the product you purchased.
104
- #
105
- # You can use the `$include` parameter to fetch the following additional objects for expansion:
106
- #
107
- # * customers - Retrieves the list of customers linked to the certificate.
108
- # * po_numbers - Retrieves all PO numbers tied to the certificate.
109
- # * attributes - Retrieves all attributes applied to the certificate.
110
- #
111
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
112
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
113
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
114
- # storage for this company, call `RequestCertificateSetup`.
115
- #
116
- # ### Security Policies
117
- #
118
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
119
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
120
- # @param companyId [Integer] The ID number of the company that recorded this certificate
121
- # @param id [Integer] The unique ID number of this certificate
122
- # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
123
- # @return [Object]
124
- def get_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
125
- get(path, options) end
126
-
127
- # Check a company's exemption certificate status.
128
- #
129
- # Checks whether this company is configured to use exemption certificates in AvaTax.
130
- #
131
- # Exemption certificates are tracked through a different auditable data store than the one that
132
- # holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call
133
- # `GetCertificateSetup` to see if your company is configured to use the exemption certificate
134
- # document store. To request setup, please call `RequestCertificateSetup` and your company will
135
- # be configured with data storage in the auditable certificate system.
136
- #
137
- # ### Security Policies
138
- #
139
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
140
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
141
- # @param companyId [Integer] The company ID to check
142
- # @return [Object]
143
- def get_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
144
- get(path) end
145
-
146
- # Link attributes to a certificate
147
- #
148
- # Link one or many attributes to a certificate.
149
- #
150
- # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
151
- # certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`.
152
- #
153
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
154
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
155
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
156
- # log onto the administrative website for the product you purchased.
157
- #
158
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
159
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
160
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
161
- # storage for this company, call `RequestCertificateSetup`.
162
- #
163
- # ### Security Policies
164
- #
165
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
166
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
167
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
168
- # @param id [Integer] The unique ID number of this certificate
169
- # @param model [CertificateAttributeModel[]] The list of attributes to link to this certificate.
170
- # @return [FetchResult]
171
- def link_attributes_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/link"
172
- post(path, model) end
173
-
174
- # Link customers to a certificate
175
- #
176
- # Link one or more customers to an existing certificate.
177
- #
178
- # Customers and certificates must be linked before a customer can make use of a certificate to obtain
179
- # a tax exemption in AvaTax. Since some certificates may cover more than one business entity, a certificate
180
- # can be connected to multiple customer records using the `LinkCustomersToCertificate` API.
181
- #
182
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
183
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
184
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
185
- # log onto the administrative website for the product you purchased.
186
- #
187
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
188
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
189
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
190
- # storage for this company, call `RequestCertificateSetup`.
191
- #
192
- # ### Security Policies
193
- #
194
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
195
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
196
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
197
- # @param id [Integer] The unique ID number of this certificate
198
- # @param model [Object] The list of customers needed be added to the Certificate for exemption
199
- # @return [FetchResult]
200
- def link_customers_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/link"
201
- post(path, model) end
202
-
203
- # List all attributes applied to this certificate
204
- #
205
- # Retrieve the list of attributes that are linked to this certificate.
206
- #
207
- # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
208
- # certificate at any time. The full list of defined attributes may be found using [ListCertificateAttributes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListCertificateAttributes/) API.
209
- #
210
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
211
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
212
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
213
- # log onto the administrative website for the product you purchased.
214
- #
215
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
216
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
217
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
218
- # storage for this company, call `RequestCertificateSetup`.
219
- #
220
- # ### Security Policies
221
- #
222
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
223
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
224
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
225
- # @param id [Integer] The unique ID number of this certificate
226
- # @return [FetchResult]
227
- def list_attributes_for_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes"
228
- get(path) end
229
-
230
- # List customers linked to this certificate
231
- #
232
- # List all customers linked to this certificate.
233
- #
234
- # Customers must be linked to a certificate in order to make use of its tax exemption features. You
235
- # can link or unlink customers to a certificate at any time.
236
- #
237
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
238
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
239
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
240
- # log onto the administrative website for the product you purchased.
241
- #
242
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
243
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
244
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
245
- # storage for this company, call `RequestCertificateSetup`.
246
- #
247
- # ### Security Policies
248
- #
249
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
250
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
251
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
252
- # @param id [Integer] The unique ID number of this certificate
253
- # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
254
- # @return [FetchResult]
255
- def list_customers_for_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers"
256
- get(path, options) end
257
-
258
- # List all certificates for a company
259
- #
260
- # List all certificates recorded by a company
261
- #
262
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
263
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
264
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
265
- # log onto the administrative website for the product you purchased.
266
- #
267
- # You can use the `$include` parameter to fetch the following additional objects for expansion:
268
- #
269
- # * customers - Retrieves the list of customers linked to the certificate.
270
- # * po_numbers - Retrieves all PO numbers tied to the certificate.
271
- # * attributes - Retrieves all attributes applied to the certificate.
272
- #
273
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
274
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
275
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
276
- # storage for this company, call `RequestCertificateSetup`.
277
- #
278
- # ### Security Policies
279
- #
280
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
281
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
282
- # @param companyId [Integer] The ID number of the company to search
283
- # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
284
- # @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:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
285
- # @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.
286
- # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
287
- # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
288
- # @return [FetchResult]
289
- def query_certificates(companyId, options={}) path = "/api/v2/companies/#{companyId}/certificates"
290
- get(path, options) end
291
-
292
- # Request setup of exemption certificates for this company.
293
- #
294
- # Requests the setup of exemption certificates for this company.
295
- #
296
- # Exemption certificates are tracked through a different auditable data store than the one that
297
- # holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call
298
- # `GetCertificateSetup` to see if your company is configured to use the exemption certificate
299
- # document store. To request setup, please call `RequestCertificateSetup` and your company will
300
- # be configured with data storage in the auditable certificate system.
301
- #
302
- # This API will return the current status of exemption certificate setup for this company.
303
- #
304
- # ### Security Policies
305
- #
306
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
307
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
308
- # @param companyId [Integer]
309
- # @return [Object]
310
- def request_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
311
- post(path) end
312
-
313
- # Unlink attributes from a certificate
314
- #
315
- # Unlink one or many attributes from a certificate.
316
- #
317
- # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
318
- # certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`.
319
- #
320
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
321
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
322
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
323
- # log onto the administrative website for the product you purchased.
324
- #
325
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
326
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
327
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
328
- # storage for this company, call `RequestCertificateSetup`.
329
- #
330
- # ### Security Policies
331
- #
332
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
333
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
334
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
335
- # @param id [Integer] The unique ID number of this certificate
336
- # @param model [CertificateAttributeModel[]] The list of attributes to unlink from this certificate.
337
- # @return [FetchResult]
338
- def unlink_attributes_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/unlink"
339
- post(path, model) end
340
-
341
- # Unlink customers from a certificate
342
- #
343
- # Unlinks one or more customers from a certificate.
344
- #
345
- # Unlinking a certificate from a customer will prevent the certificate from being used to generate
346
- # tax exemptions for the customer in the future. If any previous transactions for this customer had
347
- # used this linked certificate, those transactions will be unchanged and will still have a link to the
348
- # exemption certificate in question.
349
- #
350
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
351
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
352
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
353
- # log onto the administrative website for the product you purchased.
354
- #
355
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
356
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
357
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
358
- # storage for this company, call `RequestCertificateSetup`.
359
- #
360
- # ### Security Policies
361
- #
362
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
363
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
364
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
365
- # @param id [Integer] The unique ID number of this certificate
366
- # @param model [Object] The list of customers to unlink from this certificate
367
- # @return [FetchResult]
368
- def unlink_customers_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/unlink"
369
- post(path, model) end
370
-
371
- # Update a single certificate
372
- #
373
- # Replace the certificate identified by this URL with a new one.
374
- #
375
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
376
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
377
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
378
- # log onto the administrative website for the product you purchased.
379
- #
380
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
381
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
382
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
383
- # storage for this company, call `RequestCertificateSetup`.
384
- #
385
- # ### Security Policies
386
- #
387
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
388
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
389
- # @param companyId [Integer] The ID number of the company that recorded this certificate
390
- # @param id [Integer] The unique ID number of this certificate
391
- # @param model [Object] The new certificate object that will replace the existing one
392
- # @return [Object]
393
- def update_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
394
- put(path, model) end
395
-
396
- # Upload an image or PDF attachment for this certificate
397
- #
398
- # Upload an image or PDF attachment for this certificate.
399
- #
400
- # Image attachments can be of the format `PDF`, `JPEG`, `TIFF`, or `PNG`. To upload a multi-page image, please
401
- # use the `PDF` data type.
402
- #
403
- # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
404
- # can contain information about a customer's eligibility for exemption from sales or use taxes based on
405
- # criteria you specify when you store the certificate. To view or manage your certificates directly, please
406
- # log onto the administrative website for the product you purchased.
407
- #
408
- # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
409
- # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
410
- # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
411
- # storage for this company, call `RequestCertificateSetup`.
412
- #
413
- # ### Security Policies
414
- #
415
- # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
416
- # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
417
- # @param companyId [Integer] The unique ID number of the company that recorded this certificate
418
- # @param id [Integer] The unique ID number of this certificate
419
- # @param file [Object] The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
420
- # @return [String]
421
- def upload_certificate_image(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
422
- post(path) end
423
- end
424
- end
1
+ module AvaTax
2
+ class Client
3
+ module Certificates
4
+
5
+
6
+ # Create certificates for this company
7
+ #
8
+ # Record one or more certificates document for this company.
9
+ #
10
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
11
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
12
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
13
+ # log onto the administrative website for the product you purchased.
14
+ #
15
+ # When you create a certificate, it will be processed by Avalara and will become available for use in
16
+ # calculating tax exemptions when processing is complete. For a certificate to be used in calculating exemptions,
17
+ # it must have the following:
18
+ #
19
+ # * An exposure zone indicating where the certificate is valid
20
+ # * A link to the customer that is allowed to use this certificate
21
+ # * Your tax transaction must contain the correct customer code
22
+ #
23
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
24
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
25
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
26
+ # storage for this company, call `RequestCertificateSetup`.
27
+ #
28
+ # If the users specified in the certificates do not exist, the API will create the user and link them to the certificate
29
+ #
30
+ # ### Security Policies
31
+ #
32
+ # * This API requires one of the following user roles: AccountAdmin, CompanyAdmin, CSPTester, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.
33
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
34
+ # @param companyId [Integer] The ID number of the company recording this certificate
35
+ # @param preValidatedExemptionReason [Boolean] If set to true, the certificate will bypass the human verification process.
36
+ # @param model [CertificateModel[]] Certificates to be created
37
+ # @return [CertificateModel[]]
38
+ def create_certificates(companyId, model, options={}) path = "/api/v2/companies/#{companyId}/certificates"
39
+ post(path, model, options) end
40
+
41
+ # Revoke and delete a certificate
42
+ #
43
+ # Revoke the certificate identified by this URL, then delete it.
44
+ #
45
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
46
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
47
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
48
+ # log onto the administrative website for the product you purchased.
49
+ #
50
+ # Revoked certificates can no longer be used.
51
+ #
52
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
53
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
54
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
55
+ # storage for this company, call `RequestCertificateSetup`.
56
+ #
57
+ # ### Security Policies
58
+ #
59
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
60
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
61
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
62
+ # @param id [Integer] The unique ID number of this certificate
63
+ # @return [ErrorDetail[]]
64
+ def delete_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
65
+ delete(path) end
66
+
67
+ # Download an image for this certificate
68
+ #
69
+ # Download an image or PDF file for this certificate.
70
+ #
71
+ # This API can be used to download either a single-page preview of the certificate or a full PDF document.
72
+ # To retrieve a preview image, set the `$type` parameter to `Jpeg` and the `$page` parameter to `1`.
73
+ #
74
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
75
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
76
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
77
+ # log onto the administrative website for the product you purchased.
78
+ #
79
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
80
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
81
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
82
+ # storage for this company, call `RequestCertificateSetup`.
83
+ #
84
+ # ### Security Policies
85
+ #
86
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
87
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
88
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
89
+ # @param id [Integer] The unique ID number of this certificate
90
+ # @param page [Integer] If you choose `$type`=`Jpeg`, you must specify which page number to retrieve.
91
+ # @param type [String] The data format in which to retrieve the certificate image (See CertificatePreviewType::* for a list of allowable values)
92
+ # @return [Object]
93
+ def download_certificate_image(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
94
+ get(path, options) end
95
+
96
+ # Retrieve a single certificate
97
+ #
98
+ # Get the current certificate identified by this URL.
99
+ #
100
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
101
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
102
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
103
+ # log onto the administrative website for the product you purchased.
104
+ #
105
+ # You can use the `$include` parameter to fetch the following additional objects for expansion:
106
+ #
107
+ # * customers - Retrieves the list of customers linked to the certificate.
108
+ # * po_numbers - Retrieves all PO numbers tied to the certificate.
109
+ # * attributes - Retrieves all attributes applied to the certificate.
110
+ #
111
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
112
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
113
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
114
+ # storage for this company, call `RequestCertificateSetup`.
115
+ #
116
+ # ### Security Policies
117
+ #
118
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
119
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
120
+ # @param companyId [Integer] The ID number of the company that recorded this certificate
121
+ # @param id [Integer] The unique ID number of this certificate
122
+ # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
123
+ # @return [Object]
124
+ def get_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
125
+ get(path, options) end
126
+
127
+ # Check a company's exemption certificate status.
128
+ #
129
+ # Checks whether this company is configured to use exemption certificates in AvaTax.
130
+ #
131
+ # Exemption certificates are tracked through a different auditable data store than the one that
132
+ # holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call
133
+ # `GetCertificateSetup` to see if your company is configured to use the exemption certificate
134
+ # document store. To request setup, please call `RequestCertificateSetup` and your company will
135
+ # be configured with data storage in the auditable certificate system.
136
+ #
137
+ # ### Security Policies
138
+ #
139
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
140
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
141
+ # @param companyId [Integer] The company ID to check
142
+ # @return [Object]
143
+ def get_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
144
+ get(path) end
145
+
146
+ # Link attributes to a certificate
147
+ #
148
+ # Link one or many attributes to a certificate.
149
+ #
150
+ # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
151
+ # certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`.
152
+ #
153
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
154
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
155
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
156
+ # log onto the administrative website for the product you purchased.
157
+ #
158
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
159
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
160
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
161
+ # storage for this company, call `RequestCertificateSetup`.
162
+ #
163
+ # ### Security Policies
164
+ #
165
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
166
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
167
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
168
+ # @param id [Integer] The unique ID number of this certificate
169
+ # @param model [CertificateAttributeModel[]] The list of attributes to link to this certificate.
170
+ # @return [FetchResult]
171
+ def link_attributes_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/link"
172
+ post(path, model) end
173
+
174
+ # Link customers to a certificate
175
+ #
176
+ # Link one or more customers to an existing certificate.
177
+ #
178
+ # Customers and certificates must be linked before a customer can make use of a certificate to obtain
179
+ # a tax exemption in AvaTax. Since some certificates may cover more than one business entity, a certificate
180
+ # can be connected to multiple customer records using the `LinkCustomersToCertificate` API.
181
+ #
182
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
183
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
184
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
185
+ # log onto the administrative website for the product you purchased.
186
+ #
187
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
188
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
189
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
190
+ # storage for this company, call `RequestCertificateSetup`.
191
+ #
192
+ # ### Security Policies
193
+ #
194
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
195
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
196
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
197
+ # @param id [Integer] The unique ID number of this certificate
198
+ # @param model [Object] The list of customers needed be added to the Certificate for exemption
199
+ # @return [FetchResult]
200
+ def link_customers_to_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/link"
201
+ post(path, model) end
202
+
203
+ # List all attributes applied to this certificate
204
+ #
205
+ # Retrieve the list of attributes that are linked to this certificate.
206
+ #
207
+ # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
208
+ # certificate at any time. The full list of defined attributes may be found using [ListCertificateAttributes](https://developer.avalara.com/api-reference/avatax/rest/v2/methods/Definitions/ListCertificateAttributes/) API.
209
+ #
210
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
211
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
212
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
213
+ # log onto the administrative website for the product you purchased.
214
+ #
215
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
216
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
217
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
218
+ # storage for this company, call `RequestCertificateSetup`.
219
+ #
220
+ # ### Security Policies
221
+ #
222
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
223
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
224
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
225
+ # @param id [Integer] The unique ID number of this certificate
226
+ # @return [FetchResult]
227
+ def list_attributes_for_certificate(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes"
228
+ get(path) end
229
+
230
+ # List customers linked to this certificate
231
+ #
232
+ # List all customers linked to this certificate.
233
+ #
234
+ # Customers must be linked to a certificate in order to make use of its tax exemption features. You
235
+ # can link or unlink customers to a certificate at any time.
236
+ #
237
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
238
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
239
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
240
+ # log onto the administrative website for the product you purchased.
241
+ #
242
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
243
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
244
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
245
+ # storage for this company, call `RequestCertificateSetup`.
246
+ #
247
+ # ### Security Policies
248
+ #
249
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
250
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
251
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
252
+ # @param id [Integer] The unique ID number of this certificate
253
+ # @param include [String] OPTIONAL: A comma separated list of special fetch options. No options are currently available when fetching customers.
254
+ # @return [FetchResult]
255
+ def list_customers_for_certificate(companyId, id, options={}) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers"
256
+ get(path, options) end
257
+
258
+ # List all certificates for a company
259
+ #
260
+ # List all certificates recorded by a company
261
+ #
262
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
263
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
264
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
265
+ # log onto the administrative website for the product you purchased.
266
+ #
267
+ # You can use the `$include` parameter to fetch the following additional objects for expansion:
268
+ #
269
+ # * customers - Retrieves the list of customers linked to the certificate.
270
+ # * po_numbers - Retrieves all PO numbers tied to the certificate.
271
+ # * attributes - Retrieves all attributes applied to the certificate.
272
+ #
273
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
274
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
275
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
276
+ # storage for this company, call `RequestCertificateSetup`.
277
+ #
278
+ # ### Security Policies
279
+ #
280
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
281
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
282
+ # @param companyId [Integer] The ID number of the company to search
283
+ # @param include [String] OPTIONAL: A comma separated list of special fetch options. You can specify one or more of the following: * customers - Retrieves the list of customers linked to the certificate. * po_numbers - Retrieves all PO numbers tied to the certificate. * attributes - Retrieves all attributes applied to the certificate.
284
+ # @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:* exemptionNumber, status, ecmsId, ecmsStatus, pdf, pages
285
+ # @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.
286
+ # @param skip [Integer] If nonzero, skip this number of results before returning data. Used with `$top` to provide pagination for large datasets.
287
+ # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
288
+ # @return [FetchResult]
289
+ def query_certificates(companyId, options={}) path = "/api/v2/companies/#{companyId}/certificates"
290
+ get(path, options) end
291
+
292
+ # Request setup of exemption certificates for this company.
293
+ #
294
+ # Requests the setup of exemption certificates for this company.
295
+ #
296
+ # Exemption certificates are tracked through a different auditable data store than the one that
297
+ # holds AvaTax transactions. To use the AvaTax exemption certificate document store, please call
298
+ # `GetCertificateSetup` to see if your company is configured to use the exemption certificate
299
+ # document store. To request setup, please call `RequestCertificateSetup` and your company will
300
+ # be configured with data storage in the auditable certificate system.
301
+ #
302
+ # This API will return the current status of exemption certificate setup for this company.
303
+ #
304
+ # ### Security Policies
305
+ #
306
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
307
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
308
+ # @param companyId [Integer]
309
+ # @return [Object]
310
+ def request_certificate_setup(companyId) path = "/api/v2/companies/#{companyId}/certificates/setup"
311
+ post(path) end
312
+
313
+ # Unlink attributes from a certificate
314
+ #
315
+ # Unlink one or many attributes from a certificate.
316
+ #
317
+ # A certificate may have multiple attributes that control its behavior. You may link or unlink attributes to a
318
+ # certificate at any time. The full list of defined attributes may be found using `ListCertificateAttributes`.
319
+ #
320
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
321
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
322
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
323
+ # log onto the administrative website for the product you purchased.
324
+ #
325
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
326
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
327
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
328
+ # storage for this company, call `RequestCertificateSetup`.
329
+ #
330
+ # ### Security Policies
331
+ #
332
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
333
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
334
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
335
+ # @param id [Integer] The unique ID number of this certificate
336
+ # @param model [CertificateAttributeModel[]] The list of attributes to unlink from this certificate.
337
+ # @return [FetchResult]
338
+ def unlink_attributes_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attributes/unlink"
339
+ post(path, model) end
340
+
341
+ # Unlink customers from a certificate
342
+ #
343
+ # Unlinks one or more customers from a certificate.
344
+ #
345
+ # Unlinking a certificate from a customer will prevent the certificate from being used to generate
346
+ # tax exemptions for the customer in the future. If any previous transactions for this customer had
347
+ # used this linked certificate, those transactions will be unchanged and will still have a link to the
348
+ # exemption certificate in question.
349
+ #
350
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
351
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
352
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
353
+ # log onto the administrative website for the product you purchased.
354
+ #
355
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
356
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
357
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
358
+ # storage for this company, call `RequestCertificateSetup`.
359
+ #
360
+ # ### Security Policies
361
+ #
362
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
363
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
364
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
365
+ # @param id [Integer] The unique ID number of this certificate
366
+ # @param model [Object] The list of customers to unlink from this certificate
367
+ # @return [FetchResult]
368
+ def unlink_customers_from_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}/customers/unlink"
369
+ post(path, model) end
370
+
371
+ # Update a single certificate
372
+ #
373
+ # Replace the certificate identified by this URL with a new one.
374
+ #
375
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
376
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
377
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
378
+ # log onto the administrative website for the product you purchased.
379
+ #
380
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
381
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
382
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
383
+ # storage for this company, call `RequestCertificateSetup`.
384
+ #
385
+ # ### Security Policies
386
+ #
387
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin.
388
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
389
+ # @param companyId [Integer] The ID number of the company that recorded this certificate
390
+ # @param id [Integer] The unique ID number of this certificate
391
+ # @param model [Object] The new certificate object that will replace the existing one
392
+ # @return [Object]
393
+ def update_certificate(companyId, id, model) path = "/api/v2/companies/#{companyId}/certificates/#{id}"
394
+ put(path, model) end
395
+
396
+ # Upload an image or PDF attachment for this certificate
397
+ #
398
+ # Upload an image or PDF attachment for this certificate.
399
+ #
400
+ # Image attachments can be of the format `PDF`, `JPEG`, `TIFF`, or `PNG`. To upload a multi-page image, please
401
+ # use the `PDF` data type.
402
+ #
403
+ # A certificate is a document stored in either AvaTax Exemptions or CertCapture. The certificate document
404
+ # can contain information about a customer's eligibility for exemption from sales or use taxes based on
405
+ # criteria you specify when you store the certificate. To view or manage your certificates directly, please
406
+ # log onto the administrative website for the product you purchased.
407
+ #
408
+ # Using exemption certificates endpoints requires setup of an auditable document storage for each company that will use certificates.
409
+ # Companies that do not have this storage system set up will receive the error `CertCaptureNotConfiguredError` when they call exemption
410
+ # certificate related APIs. To check if this company is set up, call `GetCertificateSetup`. To request setup of the auditable document
411
+ # storage for this company, call `RequestCertificateSetup`.
412
+ #
413
+ # ### Security Policies
414
+ #
415
+ # * This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
416
+ # * This API depends on the following active services<br />*Required* (all): AvaTaxPro.
417
+ # @param companyId [Integer] The unique ID number of the company that recorded this certificate
418
+ # @param id [Integer] The unique ID number of this certificate
419
+ # @param file [Object] The exemption certificate file you wanted to upload. Accepted formats are: PDF, JPEG, TIFF, PNG.
420
+ # @return [String]
421
+ def upload_certificate_image(companyId, id) path = "/api/v2/companies/#{companyId}/certificates/#{id}/attachment"
422
+ post(path) end
423
+ end
424
+ end
425
425
  end