avatax 22.10.0 → 23.1.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.
- checksums.yaml +4 -4
 - data/.github/workflows/gem-push.yml +3 -3
 - data/.gitignore +2 -0
 - data/README.md +1 -1
 - data/avatax.gemspec +1 -0
 - data/lib/avatax/api.rb +14 -0
 - data/lib/avatax/client/accounts.rb +11 -11
 - data/lib/avatax/client/addresses.rb +2 -2
 - data/lib/avatax/client/advancedrules.rb +5 -5
 - data/lib/avatax/client/ageverification.rb +59 -0
 - data/lib/avatax/client/avafileforms.rb +5 -5
 - data/lib/avatax/client/batches.rb +8 -8
 - data/lib/avatax/client/certexpressinvites.rb +3 -3
 - data/lib/avatax/client/certificates.rb +15 -15
 - data/lib/avatax/client/companies.rb +22 -22
 - data/lib/avatax/client/compliance.rb +1 -1
 - data/lib/avatax/client/contacts.rb +6 -6
 - data/lib/avatax/client/customers.rb +13 -13
 - data/lib/avatax/client/datasources.rb +6 -6
 - data/lib/avatax/client/definitions.rb +93 -73
 - data/lib/avatax/client/distancethresholds.rb +6 -6
 - data/lib/avatax/client/ecommercetoken.rb +2 -2
 - data/lib/avatax/client/firmclientlinkages.rb +9 -9
 - data/lib/avatax/client/free.rb +1 -1
 - data/lib/avatax/client/fundingrequests.rb +2 -2
 - data/lib/avatax/client/items.rb +40 -37
 - data/lib/avatax/client/jurisdictionoverrides.rb +6 -6
 - data/lib/avatax/client/locations.rb +12 -12
 - data/lib/avatax/client/multidocument.rb +10 -10
 - data/lib/avatax/client/nexus.rb +15 -15
 - data/lib/avatax/client/notices.rb +4 -4
 - data/lib/avatax/client/notifications.rb +3 -3
 - data/lib/avatax/client/provisioning.rb +2 -2
 - data/lib/avatax/client/registrar.rb +14 -14
 - data/lib/avatax/client/reports.rb +4 -4
 - data/lib/avatax/client/settings.rb +6 -6
 - data/lib/avatax/client/subscriptions.rb +3 -3
 - data/lib/avatax/client/taxcodes.rb +6 -6
 - data/lib/avatax/client/taxcontent.rb +5 -5
 - data/lib/avatax/client/taxrules.rb +6 -6
 - data/lib/avatax/client/transactions.rb +60 -22
 - data/lib/avatax/client/upcs.rb +6 -6
 - data/lib/avatax/client/userdefinedfields.rb +3 -3
 - data/lib/avatax/client/users.rb +8 -8
 - data/lib/avatax/client/utilities.rb +3 -3
 - data/lib/avatax/configuration.rb +4 -1
 - data/lib/avatax/connection.rb +6 -5
 - data/lib/avatax/version.rb +1 -1
 - data/spec/spec_helper.rb +1 -1
 - metadata +16 -2
 
| 
         @@ -19,7 +19,7 @@ module AvaTax 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  # @param model [TaxCodeModel[]] The tax code you wish to create.
         
     | 
| 
       20 
20 
     | 
    
         
             
                  # @return [TaxCodeModel[]]
         
     | 
| 
       21 
21 
     | 
    
         
             
                  def create_tax_codes(companyId, model)        path = "/api/v2/companies/#{companyId}/taxcodes"
         
     | 
| 
       22 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 22 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                  # Delete a single tax code
         
     | 
| 
       25 
25 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -33,7 +33,7 @@ module AvaTax 
     | 
|
| 
       33 
33 
     | 
    
         
             
                  # @param id [Integer] The ID of the tax code you wish to delete.
         
     | 
| 
       34 
34 
     | 
    
         
             
                  # @return [ErrorDetail[]]
         
     | 
| 
       35 
35 
     | 
    
         
             
                  def delete_tax_code(companyId, id)        path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
         
     | 
| 
       36 
     | 
    
         
            -
                    delete(path, {}, " 
     | 
| 
      
 36 
     | 
    
         
            +
                    delete(path, {}, "23.1.0")      end
         
     | 
| 
       37 
37 
     | 
    
         | 
| 
       38 
38 
     | 
    
         
             
                  # Retrieve a single tax code
         
     | 
| 
       39 
39 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -51,7 +51,7 @@ module AvaTax 
     | 
|
| 
       51 
51 
     | 
    
         
             
                  # @param id [Integer] The primary key of this tax code
         
     | 
| 
       52 
52 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       53 
53 
     | 
    
         
             
                  def get_tax_code(companyId, id)        path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
         
     | 
| 
       54 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 54 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
                  # Retrieve tax codes for this company
         
     | 
| 
       57 
57 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -76,7 +76,7 @@ module AvaTax 
     | 
|
| 
       76 
76 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       77 
77 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       78 
78 
     | 
    
         
             
                  def list_tax_codes_by_company(companyId, options={})        path = "/api/v2/companies/#{companyId}/taxcodes"
         
     | 
| 
       79 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 79 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
81 
     | 
    
         
             
                  # Retrieve all tax codes
         
     | 
| 
       82 
82 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -100,7 +100,7 @@ module AvaTax 
     | 
|
| 
       100 
100 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       101 
101 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       102 
102 
     | 
    
         
             
                  def query_tax_codes(options={})        path = "/api/v2/taxcodes"
         
     | 
| 
       103 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 103 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
105 
     | 
    
         
             
                  # Update a single tax code
         
     | 
| 
       106 
106 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -121,7 +121,7 @@ module AvaTax 
     | 
|
| 
       121 
121 
     | 
    
         
             
                  # @param model [Object] The tax code you wish to update.
         
     | 
| 
       122 
122 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       123 
123 
     | 
    
         
             
                  def update_tax_code(companyId, id, model)        path = "/api/v2/companies/#{companyId}/taxcodes/#{id}"
         
     | 
| 
       124 
     | 
    
         
            -
                    put(path, model, {}, " 
     | 
| 
      
 124 
     | 
    
         
            +
                    put(path, model, {}, "23.1.0")      end
         
     | 
| 
       125 
125 
     | 
    
         
             
                end
         
     | 
| 
       126 
126 
     | 
    
         
             
              end
         
     | 
| 
       127 
127 
     | 
    
         
             
            end
         
     | 
| 
         @@ -37,7 +37,7 @@ module AvaTax 
     | 
|
| 
       37 
37 
     | 
    
         
             
                  # @param model [Object] Parameters about the desired file format and report format, specifying which company, locations and TaxCodes to include.
         
     | 
| 
       38 
38 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       39 
39 
     | 
    
         
             
                  def build_tax_content_file(model)        path = "/api/v2/pointofsaledata/build"
         
     | 
| 
       40 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 40 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
                  # Build a tax content file for a single location
         
     | 
| 
       43 
43 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -78,7 +78,7 @@ module AvaTax 
     | 
|
| 
       78 
78 
     | 
    
         
             
                  # @param includeJurisCodes [Boolean] When true, the file will include jurisdiction codes in the result.
         
     | 
| 
       79 
79 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       80 
80 
     | 
    
         
             
                  def build_tax_content_file_for_location(companyId, id, options={})        path = "/api/v2/companies/#{companyId}/locations/#{id}/pointofsaledata"
         
     | 
| 
       81 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 81 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       82 
82 
     | 
    
         | 
| 
       83 
83 
     | 
    
         
             
                  # Download a file listing tax rates by postal code
         
     | 
| 
       84 
84 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -131,7 +131,7 @@ module AvaTax 
     | 
|
| 
       131 
131 
     | 
    
         
             
                  # @param region [String] A two character region code which limits results to a specific region.
         
     | 
| 
       132 
132 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       133 
133 
     | 
    
         
             
                  def download_tax_rates_by_zip_code(date, options={})        path = "/api/v2/taxratesbyzipcode/download/#{date}"
         
     | 
| 
       134 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 134 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       135 
135 
     | 
    
         | 
| 
       136 
136 
     | 
    
         
             
                  # Sales tax rates for a specified address
         
     | 
| 
       137 
137 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -165,7 +165,7 @@ module AvaTax 
     | 
|
| 
       165 
165 
     | 
    
         
             
                  # @param country [String] Name or ISO 3166 code identifying the country.     This field supports many different country identifiers:   * Two character ISO 3166 codes   * Three character ISO 3166 codes   * Fully spelled out names of the country in ISO supported languages   * Common alternative spellings for many countries     For a full list of all supported codes and names, please see the Definitions API `ListCountries`.
         
     | 
| 
       166 
166 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       167 
167 
     | 
    
         
             
                  def tax_rates_by_address(options={})        path = "/api/v2/taxrates/byaddress"
         
     | 
| 
       168 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 168 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       169 
169 
     | 
    
         | 
| 
       170 
170 
     | 
    
         
             
                  # Sales tax rates for a specified country and postal code. This API is only available for US postal codes.
         
     | 
| 
       171 
171 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -196,7 +196,7 @@ module AvaTax 
     | 
|
| 
       196 
196 
     | 
    
         
             
                  # @param postalCode [String] The postal code of the location.
         
     | 
| 
       197 
197 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       198 
198 
     | 
    
         
             
                  def tax_rates_by_postal_code(options={})        path = "/api/v2/taxrates/bypostalcode"
         
     | 
| 
       199 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 199 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       200 
200 
     | 
    
         
             
                end
         
     | 
| 
       201 
201 
     | 
    
         
             
              end
         
     | 
| 
       202 
202 
     | 
    
         
             
            end
         
     | 
| 
         @@ -27,7 +27,7 @@ module AvaTax 
     | 
|
| 
       27 
27 
     | 
    
         
             
                  # @param model [TaxRuleModel[]] The tax rule you wish to create.
         
     | 
| 
       28 
28 
     | 
    
         
             
                  # @return [TaxRuleModel[]]
         
     | 
| 
       29 
29 
     | 
    
         
             
                  def create_tax_rules(companyId, model)        path = "/api/v2/companies/#{companyId}/taxrules"
         
     | 
| 
       30 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 30 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
                  # Delete a single tax rule
         
     | 
| 
       33 
33 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -53,7 +53,7 @@ module AvaTax 
     | 
|
| 
       53 
53 
     | 
    
         
             
                  # @param id [Integer] The ID of the tax rule you wish to delete.
         
     | 
| 
       54 
54 
     | 
    
         
             
                  # @return [ErrorDetail[]]
         
     | 
| 
       55 
55 
     | 
    
         
             
                  def delete_tax_rule(companyId, id)        path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
         
     | 
| 
       56 
     | 
    
         
            -
                    delete(path, {}, " 
     | 
| 
      
 56 
     | 
    
         
            +
                    delete(path, {}, "23.1.0")      end
         
     | 
| 
       57 
57 
     | 
    
         | 
| 
       58 
58 
     | 
    
         
             
                  # Retrieve a single tax rule
         
     | 
| 
       59 
59 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -79,7 +79,7 @@ module AvaTax 
     | 
|
| 
       79 
79 
     | 
    
         
             
                  # @param id [Integer] The primary key of this tax rule
         
     | 
| 
       80 
80 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       81 
81 
     | 
    
         
             
                  def get_tax_rule(companyId, id)        path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
         
     | 
| 
       82 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 82 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       83 
83 
     | 
    
         | 
| 
       84 
84 
     | 
    
         
             
                  # Retrieve tax rules for this company
         
     | 
| 
       85 
85 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -112,7 +112,7 @@ module AvaTax 
     | 
|
| 
       112 
112 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       113 
113 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       114 
114 
     | 
    
         
             
                  def list_tax_rules(companyId, options={})        path = "/api/v2/companies/#{companyId}/taxrules"
         
     | 
| 
       115 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 115 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       116 
116 
     | 
    
         | 
| 
       117 
117 
     | 
    
         
             
                  # Retrieve all tax rules
         
     | 
| 
       118 
118 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -144,7 +144,7 @@ module AvaTax 
     | 
|
| 
       144 
144 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       145 
145 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       146 
146 
     | 
    
         
             
                  def query_tax_rules(options={})        path = "/api/v2/taxrules"
         
     | 
| 
       147 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 147 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       148 
148 
     | 
    
         | 
| 
       149 
149 
     | 
    
         
             
                  # Update a single tax rule
         
     | 
| 
       150 
150 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -171,7 +171,7 @@ module AvaTax 
     | 
|
| 
       171 
171 
     | 
    
         
             
                  # @param model [Object] The tax rule you wish to update.
         
     | 
| 
       172 
172 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       173 
173 
     | 
    
         
             
                  def update_tax_rule(companyId, id, model)        path = "/api/v2/companies/#{companyId}/taxrules/#{id}"
         
     | 
| 
       174 
     | 
    
         
            -
                    put(path, model, {}, " 
     | 
| 
      
 174 
     | 
    
         
            +
                    put(path, model, {}, "23.1.0")      end
         
     | 
| 
       175 
175 
     | 
    
         
             
                end
         
     | 
| 
       176 
176 
     | 
    
         
             
              end
         
     | 
| 
       177 
177 
     | 
    
         
             
            end
         
     | 
| 
         @@ -35,7 +35,7 @@ module AvaTax 
     | 
|
| 
       35 
35 
     | 
    
         
             
                  # @param model [Object] information about the transaction and lines to be added
         
     | 
| 
       36 
36 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       37 
37 
     | 
    
         
             
                  def add_lines(model, options={})        path = "/api/v2/companies/transactions/lines/add"
         
     | 
| 
       38 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 38 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
                  # Correct a previously created transaction
         
     | 
| 
       41 
41 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -81,7 +81,7 @@ module AvaTax 
     | 
|
| 
       81 
81 
     | 
    
         
             
                  # @param model [Object] The adjustment you wish to make
         
     | 
| 
       82 
82 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       83 
83 
     | 
    
         
             
                  def adjust_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/adjust"
         
     | 
| 
       84 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 84 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
                  # Get audit information about a transaction
         
     | 
| 
       87 
87 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -118,7 +118,7 @@ module AvaTax 
     | 
|
| 
       118 
118 
     | 
    
         
             
                  # @param transactionCode [String] The code identifying the transaction
         
     | 
| 
       119 
119 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       120 
120 
     | 
    
         
             
                  def audit_transaction(companyCode, transactionCode)        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/audit"
         
     | 
| 
       121 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 121 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       122 
122 
     | 
    
         | 
| 
       123 
123 
     | 
    
         
             
                  # Get audit information about a transaction
         
     | 
| 
       124 
124 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -156,7 +156,7 @@ module AvaTax 
     | 
|
| 
       156 
156 
     | 
    
         
             
                  # @param documentType [String] The document type of the original transaction (See DocumentType::* for a list of allowable values)
         
     | 
| 
       157 
157 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       158 
158 
     | 
    
         
             
                  def audit_transaction_with_type(companyCode, transactionCode, documentType)        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}/audit"
         
     | 
| 
       159 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 159 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       160 
160 
     | 
    
         | 
| 
       161 
161 
     | 
    
         
             
                  # Lock a set of documents
         
     | 
| 
       162 
162 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -176,7 +176,7 @@ module AvaTax 
     | 
|
| 
       176 
176 
     | 
    
         
             
                  # @param model [Object] bulk lock request
         
     | 
| 
       177 
177 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       178 
178 
     | 
    
         
             
                  def bulk_lock_transaction(model)        path = "/api/v2/transactions/lock"
         
     | 
| 
       179 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 179 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       180 
180 
     | 
    
         | 
| 
       181 
181 
     | 
    
         
             
                  # Change a transaction's code
         
     | 
| 
       182 
182 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -222,7 +222,7 @@ module AvaTax 
     | 
|
| 
       222 
222 
     | 
    
         
             
                  # @param model [Object] The code change request you wish to execute
         
     | 
| 
       223 
223 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       224 
224 
     | 
    
         
             
                  def change_transaction_code(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/changecode"
         
     | 
| 
       225 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 225 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       226 
226 
     | 
    
         | 
| 
       227 
227 
     | 
    
         
             
                  # Commit a transaction for reporting
         
     | 
| 
       228 
228 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -266,7 +266,7 @@ module AvaTax 
     | 
|
| 
       266 
266 
     | 
    
         
             
                  # @param model [Object] The commit request you wish to execute
         
     | 
| 
       267 
267 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       268 
268 
     | 
    
         
             
                  def commit_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/commit"
         
     | 
| 
       269 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 269 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       270 
270 
     | 
    
         | 
| 
       271 
271 
     | 
    
         
             
                  # Create or adjust a transaction
         
     | 
| 
       272 
272 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -313,7 +313,7 @@ module AvaTax 
     | 
|
| 
       313 
313 
     | 
    
         
             
                  # @param model [Object] The transaction you wish to create or adjust
         
     | 
| 
       314 
314 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       315 
315 
     | 
    
         
             
                  def create_or_adjust_transaction(model, options={})        path = "/api/v2/transactions/createoradjust"
         
     | 
| 
       316 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 316 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       317 
317 
     | 
    
         | 
| 
       318 
318 
     | 
    
         
             
                  # Create a new transaction
         
     | 
| 
       319 
319 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -367,7 +367,7 @@ module AvaTax 
     | 
|
| 
       367 
367 
     | 
    
         
             
                  # @param model [Object] The transaction you wish to create
         
     | 
| 
       368 
368 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       369 
369 
     | 
    
         
             
                  def create_transaction(model, options={})        path = "/api/v2/transactions/create"
         
     | 
| 
       370 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 370 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       371 
371 
     | 
    
         | 
| 
       372 
372 
     | 
    
         
             
                  # Remove lines from an existing unlocked transaction
         
     | 
| 
       373 
373 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -398,7 +398,19 @@ module AvaTax 
     | 
|
| 
       398 
398 
     | 
    
         
             
                  # @param model [Object] information about the transaction and lines to be removed
         
     | 
| 
       399 
399 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       400 
400 
     | 
    
         
             
                  def delete_lines(model, options={})        path = "/api/v2/companies/transactions/lines/delete"
         
     | 
| 
       401 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 401 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
      
 402 
     | 
    
         
            +
             
     | 
| 
      
 403 
     | 
    
         
            +
                  # Fetches the Variance data generated for all the transactions done by Company.
         
     | 
| 
      
 404 
     | 
    
         
            +
                  #
         
     | 
| 
      
 405 
     | 
    
         
            +
                  # ### Security Policies
         
     | 
| 
      
 406 
     | 
    
         
            +
                  #
         
     | 
| 
      
 407 
     | 
    
         
            +
                  # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
         
     | 
| 
      
 408 
     | 
    
         
            +
                  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
         
     | 
| 
      
 409 
     | 
    
         
            +
                  # Swagger Name: AvaTaxClient	  
         
     | 
| 
      
 410 
     | 
    
         
            +
                  # @param companyCode [String] 
         
     | 
| 
      
 411 
     | 
    
         
            +
                  # @return [Object]
         
     | 
| 
      
 412 
     | 
    
         
            +
                  def get_all_variance_report_by_company_code(companyCode)        path = "/api/v2/companies/#{companyCode}/AllVariance"
         
     | 
| 
      
 413 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       402 
414 
     | 
    
         | 
| 
       403 
415 
     | 
    
         
             
                  # Retrieve a single transaction by code
         
     | 
| 
       404 
416 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -440,7 +452,7 @@ module AvaTax 
     | 
|
| 
       440 
452 
     | 
    
         
             
                  # @param include [String] Specifies objects to include in this fetch call
         
     | 
| 
       441 
453 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       442 
454 
     | 
    
         
             
                  def get_transaction_by_code(companyCode, transactionCode, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}"
         
     | 
| 
       443 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 455 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       444 
456 
     | 
    
         | 
| 
       445 
457 
     | 
    
         
             
                  # Retrieve a single transaction by code
         
     | 
| 
       446 
458 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -465,7 +477,7 @@ module AvaTax 
     | 
|
| 
       465 
477 
     | 
    
         
             
                  # @param include [String] Specifies objects to include in this fetch call
         
     | 
| 
       466 
478 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       467 
479 
     | 
    
         
             
                  def get_transaction_by_code_and_type(companyCode, transactionCode, documentType, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/types/#{documentType}"
         
     | 
| 
       468 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 480 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       469 
481 
     | 
    
         | 
| 
       470 
482 
     | 
    
         
             
                  # Retrieve a single transaction by ID
         
     | 
| 
       471 
483 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -495,7 +507,20 @@ module AvaTax 
     | 
|
| 
       495 
507 
     | 
    
         
             
                  # @param include [String] Specifies objects to include in this fetch call
         
     | 
| 
       496 
508 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       497 
509 
     | 
    
         
             
                  def get_transaction_by_id(id, options={})        path = "/api/v2/transactions/#{id}"
         
     | 
| 
       498 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 510 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
      
 511 
     | 
    
         
            +
             
     | 
| 
      
 512 
     | 
    
         
            +
                  # Fetches the Variance data generated for particular Company by transaction ID
         
     | 
| 
      
 513 
     | 
    
         
            +
                  #
         
     | 
| 
      
 514 
     | 
    
         
            +
                  # ### Security Policies
         
     | 
| 
      
 515 
     | 
    
         
            +
                  #
         
     | 
| 
      
 516 
     | 
    
         
            +
                  # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
         
     | 
| 
      
 517 
     | 
    
         
            +
                  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
         
     | 
| 
      
 518 
     | 
    
         
            +
                  # Swagger Name: AvaTaxClient	  
         
     | 
| 
      
 519 
     | 
    
         
            +
                  # @param companyCode [String] 
         
     | 
| 
      
 520 
     | 
    
         
            +
                  # @param transactionId [String] 
         
     | 
| 
      
 521 
     | 
    
         
            +
                  # @return [Object]
         
     | 
| 
      
 522 
     | 
    
         
            +
                  def get_variance_report_by_company_code_by_transaction_id(companyCode, transactionId)        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionId}/variance"
         
     | 
| 
      
 523 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       499 
524 
     | 
    
         | 
| 
       500 
525 
     | 
    
         
             
                  # Retrieve all transactions
         
     | 
| 
       501 
526 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -543,7 +568,7 @@ module AvaTax 
     | 
|
| 
       543 
568 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       544 
569 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       545 
570 
     | 
    
         
             
                  def list_transactions_by_company(companyCode, options={})        path = "/api/v2/companies/#{companyCode}/transactions"
         
     | 
| 
       546 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 571 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       547 
572 
     | 
    
         | 
| 
       548 
573 
     | 
    
         
             
                  # Lock a single transaction
         
     | 
| 
       549 
574 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -552,7 +577,7 @@ module AvaTax 
     | 
|
| 
       552 
577 
     | 
    
         
             
                  # This API is mainly used for connector developers to simulate what happens when the Returns product locks a document.
         
     | 
| 
       553 
578 
     | 
    
         
             
                  # After this API call succeeds, the document will be locked and can't be voided or adjusted.
         
     | 
| 
       554 
579 
     | 
    
         
             
                  #
         
     | 
| 
       555 
     | 
    
         
            -
                  #  
     | 
| 
      
 580 
     | 
    
         
            +
                  # On Sandbox, this API is only available to customers who have both an AvaTaxPro and a Managed Returns subscription. On Production, this API is only available internally for the Avalara Returns team.
         
     | 
| 
       556 
581 
     | 
    
         
             
                  #
         
     | 
| 
       557 
582 
     | 
    
         
             
                  # If you have more than one document with the same `code`, specify the `documentType` parameter to choose between them.
         
     | 
| 
       558 
583 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -589,7 +614,7 @@ module AvaTax 
     | 
|
| 
       589 
614 
     | 
    
         
             
                  # @param model [Object] The lock request you wish to execute
         
     | 
| 
       590 
615 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       591 
616 
     | 
    
         
             
                  def lock_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/lock"
         
     | 
| 
       592 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 617 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       593 
618 
     | 
    
         | 
| 
       594 
619 
     | 
    
         
             
                  # Create a refund for a transaction
         
     | 
| 
       595 
620 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -646,7 +671,7 @@ module AvaTax 
     | 
|
| 
       646 
671 
     | 
    
         
             
                  # @param model [Object] Information about the refund to create
         
     | 
| 
       647 
672 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       648 
673 
     | 
    
         
             
                  def refund_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/refund"
         
     | 
| 
       649 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 674 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       650 
675 
     | 
    
         | 
| 
       651 
676 
     | 
    
         
             
                  # Perform multiple actions on a transaction
         
     | 
| 
       652 
677 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -690,7 +715,7 @@ module AvaTax 
     | 
|
| 
       690 
715 
     | 
    
         
             
                  # @param model [Object] The data from an external system to reconcile against AvaTax
         
     | 
| 
       691 
716 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       692 
717 
     | 
    
         
             
                  def settle_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/settle"
         
     | 
| 
       693 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 718 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       694 
719 
     | 
    
         | 
| 
       695 
720 
     | 
    
         
             
                  # Uncommit a transaction for reporting
         
     | 
| 
       696 
721 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -728,7 +753,7 @@ module AvaTax 
     | 
|
| 
       728 
753 
     | 
    
         
             
                  # @param include [String] Specifies objects to include in this fetch call
         
     | 
| 
       729 
754 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       730 
755 
     | 
    
         
             
                  def uncommit_transaction(companyCode, transactionCode, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/uncommit"
         
     | 
| 
       731 
     | 
    
         
            -
                    post(path, options, " 
     | 
| 
      
 756 
     | 
    
         
            +
                    post(path, options, "23.1.0")      end
         
     | 
| 
       732 
757 
     | 
    
         | 
| 
       733 
758 
     | 
    
         
             
                  # Unvoids a transaction
         
     | 
| 
       734 
759 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -763,7 +788,20 @@ module AvaTax 
     | 
|
| 
       763 
788 
     | 
    
         
             
                  # @param include [String] Specifies objects to include in this fetch call
         
     | 
| 
       764 
789 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       765 
790 
     | 
    
         
             
                  def unvoid_transaction(companyCode, transactionCode, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/unvoid"
         
     | 
| 
       766 
     | 
    
         
            -
                    post(path, options, " 
     | 
| 
      
 791 
     | 
    
         
            +
                    post(path, options, "23.1.0")      end
         
     | 
| 
      
 792 
     | 
    
         
            +
             
     | 
| 
      
 793 
     | 
    
         
            +
                  # Generates the Variance report which will capture the difference between "Tax Calculated by Avalara" Vs "Actual Tax" paid at custom clearance at line / header level.
         
     | 
| 
      
 794 
     | 
    
         
            +
                  #
         
     | 
| 
      
 795 
     | 
    
         
            +
                  # ### Security Policies
         
     | 
| 
      
 796 
     | 
    
         
            +
                  #
         
     | 
| 
      
 797 
     | 
    
         
            +
                  # * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ProStoresOperator, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.
         
     | 
| 
      
 798 
     | 
    
         
            +
                  # * This API depends on the following active services:*Required* (all): AvaTaxPro, BasicReturns.
         
     | 
| 
      
 799 
     | 
    
         
            +
                  # Swagger Name: AvaTaxClient	  
         
     | 
| 
      
 800 
     | 
    
         
            +
                  # @param companyCode [String] 
         
     | 
| 
      
 801 
     | 
    
         
            +
                  # @param model [VarianceRequestModel[]] 
         
     | 
| 
      
 802 
     | 
    
         
            +
                  # @return [Object]
         
     | 
| 
      
 803 
     | 
    
         
            +
                  def variance_report(companyCode, model)        path = "/api/v2/companies/#{companyCode}/variance"
         
     | 
| 
      
 804 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       767 
805 
     | 
    
         | 
| 
       768 
806 
     | 
    
         
             
                  # Verify a transaction
         
     | 
| 
       769 
807 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -806,7 +844,7 @@ module AvaTax 
     | 
|
| 
       806 
844 
     | 
    
         
             
                  # @param model [Object] The data from an external system to reconcile against AvaTax
         
     | 
| 
       807 
845 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       808 
846 
     | 
    
         
             
                  def verify_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/verify"
         
     | 
| 
       809 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 847 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       810 
848 
     | 
    
         | 
| 
       811 
849 
     | 
    
         
             
                  # Void a transaction
         
     | 
| 
       812 
850 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -851,7 +889,7 @@ module AvaTax 
     | 
|
| 
       851 
889 
     | 
    
         
             
                  # @param model [Object] The void request you wish to execute. To void a transaction the code must be set to 'DocVoided'
         
     | 
| 
       852 
890 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       853 
891 
     | 
    
         
             
                  def void_transaction(companyCode, transactionCode, model, options={})        path = "/api/v2/companies/#{companyCode}/transactions/#{transactionCode}/void"
         
     | 
| 
       854 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 892 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       855 
893 
     | 
    
         
             
                end
         
     | 
| 
       856 
894 
     | 
    
         
             
              end
         
     | 
| 
       857 
895 
     | 
    
         
             
            end
         
     | 
    
        data/lib/avatax/client/upcs.rb
    CHANGED
    
    | 
         @@ -17,7 +17,7 @@ module AvaTax 
     | 
|
| 
       17 
17 
     | 
    
         
             
                  # @param model [UPCModel[]] The UPC you wish to create.
         
     | 
| 
       18 
18 
     | 
    
         
             
                  # @return [UPCModel[]]
         
     | 
| 
       19 
19 
     | 
    
         
             
                  def create_u_p_cs(companyId, model)        path = "/api/v2/companies/#{companyId}/upcs"
         
     | 
| 
       20 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 20 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                  # Delete a single UPC
         
     | 
| 
       23 
23 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -32,7 +32,7 @@ module AvaTax 
     | 
|
| 
       32 
32 
     | 
    
         
             
                  # @param id [Integer] The ID of the UPC you wish to delete.
         
     | 
| 
       33 
33 
     | 
    
         
             
                  # @return [ErrorDetail[]]
         
     | 
| 
       34 
34 
     | 
    
         
             
                  def delete_u_p_c(companyId, id)        path = "/api/v2/companies/#{companyId}/upcs/#{id}"
         
     | 
| 
       35 
     | 
    
         
            -
                    delete(path, {}, " 
     | 
| 
      
 35 
     | 
    
         
            +
                    delete(path, {}, "23.1.0")      end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         
             
                  # Retrieve a single UPC
         
     | 
| 
       38 
38 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -48,7 +48,7 @@ module AvaTax 
     | 
|
| 
       48 
48 
     | 
    
         
             
                  # @param id [Integer] The primary key of this UPC
         
     | 
| 
       49 
49 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       50 
50 
     | 
    
         
             
                  def get_u_p_c(companyId, id)        path = "/api/v2/companies/#{companyId}/upcs/#{id}"
         
     | 
| 
       51 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 51 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
                  # Retrieve UPCs for this company
         
     | 
| 
       54 
54 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -71,7 +71,7 @@ module AvaTax 
     | 
|
| 
       71 
71 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       72 
72 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       73 
73 
     | 
    
         
             
                  def list_u_p_cs_by_company(companyId, options={})        path = "/api/v2/companies/#{companyId}/upcs"
         
     | 
| 
       74 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 74 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
76 
     | 
    
         
             
                  # Retrieve all UPCs
         
     | 
| 
       77 
77 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -93,7 +93,7 @@ module AvaTax 
     | 
|
| 
       93 
93 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       94 
94 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       95 
95 
     | 
    
         
             
                  def query_u_p_cs(options={})        path = "/api/v2/upcs"
         
     | 
| 
       96 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 96 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
       98 
98 
     | 
    
         
             
                  # Update a single UPC
         
     | 
| 
       99 
99 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -112,7 +112,7 @@ module AvaTax 
     | 
|
| 
       112 
112 
     | 
    
         
             
                  # @param model [Object] The UPC you wish to update.
         
     | 
| 
       113 
113 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       114 
114 
     | 
    
         
             
                  def update_u_p_c(companyId, id, model)        path = "/api/v2/companies/#{companyId}/upcs/#{id}"
         
     | 
| 
       115 
     | 
    
         
            -
                    put(path, model, {}, " 
     | 
| 
      
 115 
     | 
    
         
            +
                    put(path, model, {}, "23.1.0")      end
         
     | 
| 
       116 
116 
     | 
    
         
             
                end
         
     | 
| 
       117 
117 
     | 
    
         
             
              end
         
     | 
| 
       118 
118 
     | 
    
         
             
            end
         
     | 
| 
         @@ -16,7 +16,7 @@ module AvaTax 
     | 
|
| 
       16 
16 
     | 
    
         
             
                  # @param id [Integer] The id of the User Defined Field you wish to delete.
         
     | 
| 
       17 
17 
     | 
    
         
             
                  # @return [ErrorDetail[]]
         
     | 
| 
       18 
18 
     | 
    
         
             
                  def delete_user_defined_field(companyId, id)        path = "/api/v2/companies/#{companyId}/userdefinedfields/#{id}"
         
     | 
| 
       19 
     | 
    
         
            -
                    delete(path, {}, " 
     | 
| 
      
 19 
     | 
    
         
            +
                    delete(path, {}, "23.1.0")      end
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                  # 
         
     | 
| 
       22 
22 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -30,7 +30,7 @@ module AvaTax 
     | 
|
| 
       30 
30 
     | 
    
         
             
                  # @param allowDefaults [Boolean] If true this will add defaulted UDFs to the list that are not named yet
         
     | 
| 
       31 
31 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       32 
32 
     | 
    
         
             
                  def list_user_defined_fields_by_company_id(companyId, options={})        path = "/api/v2/companies/#{companyId}/userdefinedfields"
         
     | 
| 
       33 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 33 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
                  # Update a User Defined Field identified by id for a company
         
     | 
| 
       36 
36 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -46,7 +46,7 @@ module AvaTax 
     | 
|
| 
       46 
46 
     | 
    
         
             
                  # @param model [Object] 
         
     | 
| 
       47 
47 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       48 
48 
     | 
    
         
             
                  def update_user_defined_field(companyId, model, options={})        path = "/api/v2/companies/#{companyId}/userdefinedfields"
         
     | 
| 
       49 
     | 
    
         
            -
                    post(path, model, options, " 
     | 
| 
      
 49 
     | 
    
         
            +
                    post(path, model, options, "23.1.0")      end
         
     | 
| 
       50 
50 
     | 
    
         
             
                end
         
     | 
| 
       51 
51 
     | 
    
         
             
              end
         
     | 
| 
       52 
52 
     | 
    
         
             
            end
         
     | 
    
        data/lib/avatax/client/users.rb
    CHANGED
    
    | 
         @@ -20,7 +20,7 @@ module AvaTax 
     | 
|
| 
       20 
20 
     | 
    
         
             
                  # @param model [Object] An object containing your current password and the new password.
         
     | 
| 
       21 
21 
     | 
    
         
             
                  # @return [String]
         
     | 
| 
       22 
22 
     | 
    
         
             
                  def change_password(model)        path = "/api/v2/passwords"
         
     | 
| 
       23 
     | 
    
         
            -
                    put(path, model, {}, " 
     | 
| 
      
 23 
     | 
    
         
            +
                    put(path, model, {}, "23.1.0")      end
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
                  # Create new users
         
     | 
| 
       26 
26 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -42,7 +42,7 @@ module AvaTax 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  # @param model [UserModel[]] The user or array of users you wish to create.
         
     | 
| 
       43 
43 
     | 
    
         
             
                  # @return [UserModel[]]
         
     | 
| 
       44 
44 
     | 
    
         
             
                  def create_users(accountId, model)        path = "/api/v2/accounts/#{accountId}/users"
         
     | 
| 
       45 
     | 
    
         
            -
                    post(path, model, {}, " 
     | 
| 
      
 45 
     | 
    
         
            +
                    post(path, model, {}, "23.1.0")      end
         
     | 
| 
       46 
46 
     | 
    
         | 
| 
       47 
47 
     | 
    
         
             
                  # Delete a single user
         
     | 
| 
       48 
48 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -61,7 +61,7 @@ module AvaTax 
     | 
|
| 
       61 
61 
     | 
    
         
             
                  # @param accountId [Integer] The accountID of the user you wish to delete.
         
     | 
| 
       62 
62 
     | 
    
         
             
                  # @return [ErrorDetail[]]
         
     | 
| 
       63 
63 
     | 
    
         
             
                  def delete_user(id, accountId)        path = "/api/v2/accounts/#{accountId}/users/#{id}"
         
     | 
| 
       64 
     | 
    
         
            -
                    delete(path, {}, " 
     | 
| 
      
 64 
     | 
    
         
            +
                    delete(path, {}, "23.1.0")      end
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
                  # Retrieve a single user
         
     | 
| 
       67 
67 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -81,7 +81,7 @@ module AvaTax 
     | 
|
| 
       81 
81 
     | 
    
         
             
                  # @param include [String] Optional fetch commands.
         
     | 
| 
       82 
82 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       83 
83 
     | 
    
         
             
                  def get_user(id, accountId, options={})        path = "/api/v2/accounts/#{accountId}/users/#{id}"
         
     | 
| 
       84 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 84 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       85 
85 
     | 
    
         | 
| 
       86 
86 
     | 
    
         
             
                  # Retrieve all entitlements for a single user
         
     | 
| 
       87 
87 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -109,7 +109,7 @@ module AvaTax 
     | 
|
| 
       109 
109 
     | 
    
         
             
                  # @param accountId [Integer] The accountID of the user you wish to get.
         
     | 
| 
       110 
110 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       111 
111 
     | 
    
         
             
                  def get_user_entitlements(id, accountId)        path = "/api/v2/accounts/#{accountId}/users/#{id}/entitlements"
         
     | 
| 
       112 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 112 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       113 
113 
     | 
    
         | 
| 
       114 
114 
     | 
    
         
             
                  # Retrieve users for this account
         
     | 
| 
       115 
115 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -138,7 +138,7 @@ module AvaTax 
     | 
|
| 
       138 
138 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       139 
139 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       140 
140 
     | 
    
         
             
                  def list_users_by_account(accountId, options={})        path = "/api/v2/accounts/#{accountId}/users"
         
     | 
| 
       141 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 141 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       142 
142 
     | 
    
         | 
| 
       143 
143 
     | 
    
         
             
                  # Retrieve all users
         
     | 
| 
       144 
144 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -168,7 +168,7 @@ module AvaTax 
     | 
|
| 
       168 
168 
     | 
    
         
             
                  # @param orderBy [String] A comma separated list of sort statements in the format `(fieldname) [ASC|DESC]`, for example `id ASC`.
         
     | 
| 
       169 
169 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       170 
170 
     | 
    
         
             
                  def query_users(options={})        path = "/api/v2/users"
         
     | 
| 
       171 
     | 
    
         
            -
                    get(path, options, " 
     | 
| 
      
 171 
     | 
    
         
            +
                    get(path, options, "23.1.0")      end
         
     | 
| 
       172 
172 
     | 
    
         | 
| 
       173 
173 
     | 
    
         
             
                  # Update a single user
         
     | 
| 
       174 
174 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -186,7 +186,7 @@ module AvaTax 
     | 
|
| 
       186 
186 
     | 
    
         
             
                  # @param model [Object] The user object you wish to update.
         
     | 
| 
       187 
187 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       188 
188 
     | 
    
         
             
                  def update_user(id, accountId, model)        path = "/api/v2/accounts/#{accountId}/users/#{id}"
         
     | 
| 
       189 
     | 
    
         
            -
                    put(path, model, {}, " 
     | 
| 
      
 189 
     | 
    
         
            +
                    put(path, model, {}, "23.1.0")      end
         
     | 
| 
       190 
190 
     | 
    
         
             
                end
         
     | 
| 
       191 
191 
     | 
    
         
             
              end
         
     | 
| 
       192 
192 
     | 
    
         
             
            end
         
     | 
| 
         @@ -17,7 +17,7 @@ module AvaTax 
     | 
|
| 
       17 
17 
     | 
    
         
             
                  # @param serviceTypeId [String] The service to check
         
     | 
| 
       18 
18 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       19 
19 
     | 
    
         
             
                  def get_my_subscription(serviceTypeId)        path = "/api/v2/utilities/subscriptions/#{serviceTypeId}"
         
     | 
| 
       20 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 20 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
                  # List all services to which the current user is subscribed
         
     | 
| 
       23 
23 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -32,7 +32,7 @@ module AvaTax 
     | 
|
| 
       32 
32 
     | 
    
         
             
                  # Swagger Name: AvaTaxClient	  
         
     | 
| 
       33 
33 
     | 
    
         
             
                  # @return [FetchResult]
         
     | 
| 
       34 
34 
     | 
    
         
             
                  def list_my_subscriptions()        path = "/api/v2/utilities/subscriptions"
         
     | 
| 
       35 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 35 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         
             
                  # Tests connectivity and version of the service
         
     | 
| 
       38 
38 
     | 
    
         
             
                  #
         
     | 
| 
         @@ -59,7 +59,7 @@ module AvaTax 
     | 
|
| 
       59 
59 
     | 
    
         
             
                  # Swagger Name: AvaTaxClient	  
         
     | 
| 
       60 
60 
     | 
    
         
             
                  # @return [Object]
         
     | 
| 
       61 
61 
     | 
    
         
             
                  def ping()        path = "/api/v2/utilities/ping"
         
     | 
| 
       62 
     | 
    
         
            -
                    get(path, {}, " 
     | 
| 
      
 62 
     | 
    
         
            +
                    get(path, {}, "23.1.0")      end
         
     | 
| 
       63 
63 
     | 
    
         
             
                end
         
     | 
| 
       64 
64 
     | 
    
         
             
              end
         
     | 
| 
       65 
65 
     | 
    
         
             
            end
         
     | 
    
        data/lib/avatax/configuration.rb
    CHANGED
    
    | 
         @@ -19,7 +19,8 @@ module AvaTax 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  :custom_logger_options,
         
     | 
| 
       20 
20 
     | 
    
         
             
                  :proxy,
         
     | 
| 
       21 
21 
     | 
    
         
             
                  :faraday_response,
         
     | 
| 
       22 
     | 
    
         
            -
                  :response_big_decimal_conversion
         
     | 
| 
      
 22 
     | 
    
         
            +
                  :response_big_decimal_conversion,
         
     | 
| 
      
 23 
     | 
    
         
            +
                  :log_request_and_response_info
         
     | 
| 
       23 
24 
     | 
    
         
             
                ].freeze
         
     | 
| 
       24 
25 
     | 
    
         | 
| 
       25 
26 
     | 
    
         
             
                DEFAULT_APP_NAME = nil
         
     | 
| 
         @@ -36,6 +37,7 @@ module AvaTax 
     | 
|
| 
       36 
37 
     | 
    
         
             
                DEFAULT_PROXY = nil
         
     | 
| 
       37 
38 
     | 
    
         
             
                DEFAULT_FARADAY_RESPONSE = false
         
     | 
| 
       38 
39 
     | 
    
         
             
                DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION = false
         
     | 
| 
      
 40 
     | 
    
         
            +
                DEFAULT_LOG_REQUEST_AND_RESPONSE_INFO = false
         
     | 
| 
       39 
41 
     | 
    
         | 
| 
       40 
42 
     | 
    
         
             
                attr_accessor *VALID_OPTIONS_KEYS
         
     | 
| 
       41 
43 
     | 
    
         | 
| 
         @@ -70,6 +72,7 @@ module AvaTax 
     | 
|
| 
       70 
72 
     | 
    
         
             
                  self.proxy = DEFAULT_PROXY
         
     | 
| 
       71 
73 
     | 
    
         
             
                  self.faraday_response = DEFAULT_FARADAY_RESPONSE
         
     | 
| 
       72 
74 
     | 
    
         
             
                  self.response_big_decimal_conversion = DEFAULT_RESPONSE_BIG_DECIMAL_CONVERSION
         
     | 
| 
      
 75 
     | 
    
         
            +
                  self.log_request_and_response_info = DEFAULT_LOG_REQUEST_AND_RESPONSE_INFO
         
     | 
| 
       73 
76 
     | 
    
         
             
                end
         
     | 
| 
       74 
77 
     | 
    
         | 
| 
       75 
78 
     | 
    
         
             
              end
         
     | 
    
        data/lib/avatax/connection.rb
    CHANGED
    
    | 
         @@ -4,8 +4,8 @@ module AvaTax 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              module Connection
         
     | 
| 
       6 
6 
     | 
    
         
             
                private
         
     | 
| 
       7 
     | 
    
         
            -
                AUTHORIZATION_FILTER_REGEX = /(Authorization 
     | 
| 
       8 
     | 
    
         
            -
                REMOVED_LABEL = '\1[REMOVED]'
         
     | 
| 
      
 7 
     | 
    
         
            +
                AUTHORIZATION_FILTER_REGEX = /(Authorization)([^&]+)/
         
     | 
| 
      
 8 
     | 
    
         
            +
                REMOVED_LABEL = '\1 [REMOVED]'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
10 
     | 
    
         
             
                def connection
         
     | 
| 
       11 
11 
     | 
    
         
             
                  client_id = "#{app_name};#{app_version};RubySdk;API_VERSION;#{machine_name}"
         
     | 
| 
         @@ -26,7 +26,7 @@ module AvaTax 
     | 
|
| 
       26 
26 
     | 
    
         
             
                        bigdecimal_load: :bigdecimal
         
     | 
| 
       27 
27 
     | 
    
         
             
                      }
         
     | 
| 
       28 
28 
     | 
    
         
             
                    end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
                    faraday.request :instrumentation
         
     | 
| 
       30 
30 
     | 
    
         
             
                    faraday.response :json, content_type: /\bjson$/
         
     | 
| 
       31 
31 
     | 
    
         
             
                    faraday.request :basic_auth, username, password
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
         @@ -34,14 +34,15 @@ module AvaTax 
     | 
|
| 
       34 
34 
     | 
    
         
             
                    #   see https://github.com/lostisland/faraday/blob/main/docs/middleware/request/authentication.md
         
     | 
| 
       35 
35 
     | 
    
         
             
                    # faraday.request :authorization, :basic, username, password
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
      
 37 
     | 
    
         
            +
                    default_logger_options = { headers: true, bodies: log_request_and_response_info }
         
     | 
| 
       37 
38 
     | 
    
         
             
                    if logger
         
     | 
| 
       38 
     | 
    
         
            -
                      faraday.response :logger do |logger|
         
     | 
| 
      
 39 
     | 
    
         
            +
                      faraday.response :logger, nil, default_logger_options do |logger|
         
     | 
| 
       39 
40 
     | 
    
         
             
                        logger.filter(AUTHORIZATION_FILTER_REGEX, REMOVED_LABEL)
         
     | 
| 
       40 
41 
     | 
    
         
             
                      end
         
     | 
| 
       41 
42 
     | 
    
         
             
                    end
         
     | 
| 
       42 
43 
     | 
    
         | 
| 
       43 
44 
     | 
    
         
             
                    if custom_logger
         
     | 
| 
       44 
     | 
    
         
            -
                      faraday.response :logger, custom_logger, custom_logger_options do |logger|
         
     | 
| 
      
 45 
     | 
    
         
            +
                      faraday.response :logger, custom_logger, default_logger_options.merge(custom_logger_options) do |logger|
         
     | 
| 
       45 
46 
     | 
    
         
             
                        logger.filter(AUTHORIZATION_FILTER_REGEX, REMOVED_LABEL)
         
     | 
| 
       46 
47 
     | 
    
         
             
                      end
         
     | 
| 
       47 
48 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/avatax/version.rb
    CHANGED
    
    
    
        data/spec/spec_helper.rb
    CHANGED