avatax 20.1.0 → 20.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/avatax.gemspec +0 -1
  3. data/lib/avatax/client/accounts.rb +236 -172
  4. data/lib/avatax/client/addresses.rb +54 -54
  5. data/lib/avatax/client/advancedrules.rb +63 -162
  6. data/lib/avatax/client/avafileforms.rb +78 -78
  7. data/lib/avatax/client/batches.rb +223 -170
  8. data/lib/avatax/client/certexpressinvites.rb +97 -97
  9. data/lib/avatax/client/certificates.rb +424 -424
  10. data/lib/avatax/client/companies.rb +457 -350
  11. data/lib/avatax/client/compliance.rb +15 -15
  12. data/lib/avatax/client/contacts.rb +106 -106
  13. data/lib/avatax/client/customers.rb +376 -376
  14. data/lib/avatax/client/datasources.rb +99 -99
  15. data/lib/avatax/client/definitions.rb +862 -847
  16. data/lib/avatax/client/distancethresholds.rb +122 -122
  17. data/lib/avatax/client/ecommercetoken.rb +37 -0
  18. data/lib/avatax/client/filingcalendars.rb +20 -508
  19. data/lib/avatax/client/filings.rb +37 -26
  20. data/lib/avatax/client/firmclientlinkages.rb +123 -123
  21. data/lib/avatax/client/free.rb +100 -100
  22. data/lib/avatax/client/fundingrequests.rb +52 -52
  23. data/lib/avatax/client/items.rb +423 -423
  24. data/lib/avatax/client/jurisdictionoverrides.rb +118 -118
  25. data/lib/avatax/client/locations.rb +253 -139
  26. data/lib/avatax/client/multidocument.rb +390 -310
  27. data/lib/avatax/client/nexus.rb +341 -201
  28. data/lib/avatax/client/notifications.rb +75 -75
  29. data/lib/avatax/client/provisioning.rb +49 -49
  30. data/lib/avatax/client/registrar.rb +198 -198
  31. data/lib/avatax/client/reports.rb +97 -97
  32. data/lib/avatax/client/settings.rb +156 -156
  33. data/lib/avatax/client/subscriptions.rb +62 -62
  34. data/lib/avatax/client/taxcodes.rb +120 -120
  35. data/lib/avatax/client/taxcontent.rb +133 -133
  36. data/lib/avatax/client/taxrules.rb +170 -170
  37. data/lib/avatax/client/transactions.rb +836 -791
  38. data/lib/avatax/client/upcs.rb +111 -111
  39. data/lib/avatax/client/users.rb +183 -183
  40. data/lib/avatax/client/utilities.rb +61 -61
  41. data/lib/avatax/connection.rb +3 -3
  42. data/lib/avatax/request.rb +2 -0
  43. data/lib/avatax/version.rb +1 -1
  44. metadata +4 -17
@@ -1,98 +1,98 @@
1
- module AvaTax
2
- class Client
3
- module 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