class Avatax::Api::Transactions

Transactions client @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/

Public Instance Methods

adjust(company_code, transaction_code, args = {}) click to toggle source

Adjust a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeAdjustPost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 65
def adjust(company_code, transaction_code, args = {})
  post_for(:adjust, company_code, transaction_code, args)
end
all(company_code, args = {}) click to toggle source

Get all transactions within a company. @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsGet

@param company_code [String] The company_code in avatax. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 16
def all(company_code, args = {})
  raise ArgumentError, 'company_code is required' if company_code.blank?

  resp = connection.get "/api/v2/companies/#{company_code}/transactions/", args
  handle_response(resp)
end
change_code(company_code, transaction_code, args = {}) click to toggle source

Change a transaction code @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeChangecodePost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 78
def change_code(company_code, transaction_code, args = {})
  post_for(:changecode, company_code, transaction_code, args)
end
commit(company_code, transaction_code, args = {}) click to toggle source

Commit a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeCommitPost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 91
def commit(company_code, transaction_code, args = {})
  args.reverse_merge!(commit: true)
  post_for(:commit, company_code, transaction_code, args)
end
create(args = {}) click to toggle source

Create a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2TransactionsCreatePost

@param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 156
def create(args = {})
  resp = connection.post '/api/v2/transactions/create', args
  handle_response(resp)
end
create_or_adjust(args = {}) click to toggle source

Create or Adjust a transaction if transaction already exists. @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#CreateOrAdjustTransaction

@param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 168
def create_or_adjust(args = {})
  resp = connection.post '/api/v2/transactions/createoradjust', args
  handle_response(resp)
end
find_by_code(company_code, transaction_code, args = {}) click to toggle source

Get a transaction by code @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeGet

@param company_code [String] The company_code in avatax. @param transaction_code [String] The avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 32
def find_by_code(company_code, transaction_code, args = {})
  raise ArgumentError, 'company_code is required' if company_code.blank?
  raise ArgumentError, 'transaction_code is required' if transaction_code.blank?

  resp = connection.get "/api/v2/companies/#{company_code}/transactions/#{transaction_code}", args
  handle_response(resp)
end
find_by_id(transaction_id, args = {}) click to toggle source

Get a transaction by code @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2TransactionsByIdGet

@param company_code [String] The company_code in avatax. @param transaction_code [String] The avatax transaction ID. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 49
def find_by_id(transaction_id, args = {})
  raise ArgumentError, 'transaction_id is required' if transaction_id.blank?

  resp = connection.get "/api/v2/transactions/#{transaction_id}", args
  handle_response(resp)
end
lock(company_code, transaction_code, args = {}) click to toggle source

Lock a transaction @see developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/LockTransaction

@param company_code [String] The company_code in avatax. @param transaction_code [String] The avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 182
def lock(company_code, transaction_code, args = {})
  args.reverse_merge!(isLocked: true)
  post_for(:lock, company_code, transaction_code, args)
end
refund(company_code, transaction_code, args = {}) click to toggle source

Refund a transaction @see developer.avalara.com/api-reference/avatax/rest/v2/methods/Transactions/RefundTransaction/

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 145
def refund(company_code, transaction_code, args = {})
  post_for(:refund, company_code, transaction_code, args)
end
settle(company_code, transaction_code, args = {}) click to toggle source

Settle a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeSettlePost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 105
def settle(company_code, transaction_code, args = {})
  post_for(:settle, company_code, transaction_code, args)
end
verify(company_code, transaction_code, args = {}) click to toggle source

Verify a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeVerifyPost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 118
def verify(company_code, transaction_code, args = {})
  post_for(:verify, company_code, transaction_code, args)
end
void(company_code, transaction_code, args = {}) click to toggle source

Void a transaction @see developer.avalara.com/avatax/api-reference/tax/v2/Transactions/#ApiV2CompaniesByCompanyCodeTransactionsByTransactionCodeVoidPost

@param company_code [String] The company_code in avatax. @param transaction_code [String] The current avatax transaction code. @param args [Hash] Arguments for avatax. @return [Avatax::Response]

# File lib/avatax/api/transactions.rb, line 131
def void(company_code, transaction_code, args = {})
  args.reverse_merge!(code: Avatax::Code::DOC_VOIDED)
  post_for(:void, company_code, transaction_code, args)
end

Private Instance Methods

post_for(endpoint, company_code, transaction_code, args) click to toggle source
# File lib/avatax/api/transactions.rb, line 189
def post_for(endpoint, company_code, transaction_code, args)
  raise ArgumentError, 'company_code is required' if company_code.blank?
  raise ArgumentError, 'transaction_code is required' if transaction_code.blank?

  resp = connection.post "/api/v2/companies/#{company_code}/transactions/#{transaction_code}/#{endpoint}", args
  handle_response(resp)
end