class Touggsl::Customer

Attributes

auth[RW]

Public Class Methods

new(auth) click to toggle source

Recebe um Touggsl::Auth

Exemplo:

auth = Touggsl::Auth
auth.login("email, "password")
Touggsl::Client.new(auth)
# File lib/touggsl/customer.rb, line 19
def initialize(auth)
  @auth = auth
  include_auth_to_requests(@auth)
end

Public Instance Methods

billings(client_id, status = 'pendentes') click to toggle source

Retorna todas as cobrancas do cliente, com status pendente por default

Params

  • client_id - ID do cliente

  • status - status das cobranças

# File lib/touggsl/customer.rb, line 125
def billings(client_id, status = 'pendentes')
  billings = JSON.parse(billings_request(client_id, status))
  return billings['data']
end
create_new_client(id, client_name, nome_fantasia, dia_vencimento=0) click to toggle source

Cadastra um novo cliente na Superlogica

Prams

  • id - ID para identificar o cliente.

  • client_name - Nome do cliente. Ex: Paulo

  • nome_fantasia - Nome fantasia. Ex: Tougg

  • dia_vencimento - Parametro opcional, por padrao eh setado como 0, isso significa que nao existe “dia de vencimento” para a fatura do cliente. Se voce deseja configurar algum dia, 5 por exemplo, para o “vencimento”

# File lib/touggsl/customer.rb, line 34
def create_new_client(id, client_name, nome_fantasia, dia_vencimento=0)
  response = create_client(id,client_name, nome_fantasia,dia_vencimento)
  json = JSON.parse(response)

  #create a class for response, at the time only return the
  # status
 json["status"]
end
get_all_inadimplentes() click to toggle source

Retorna todos os clientes que estão inadimplentes

# File lib/touggsl/customer.rb, line 67
def get_all_inadimplentes
  clients = []
  clients_json = JSON.parse(get_clients_inadimplementes)
  clients_json["data"].each do |j|
    name = j["st_nomeref_sac"]
    recebimento = j["recebimento"]
    dias_atraso = recebimento[0]["encargos"][0]["diasatraso"]
    id_client = j["id_sacado_sac"]
    segunda_via = recebimento[0]["link_2via"]
    clients << Customer.new(id_client, name, dias_atraso, segunda_via)
  end
  clients
end
hiring_plan(plan_id, client_id, contract_id, forma_pagamento) click to toggle source

Contrata um plano para o cliente.

Params

  • plan_id - ID do plano cadastrado na Superlogica

  • client_id - ID do cliente que deseja contratar o plano

  • contract_id - ID do contrato. Unico para cada contratacao de plano

# File lib/touggsl/customer.rb, line 50
def hiring_plan(plan_id, client_id, contract_id, forma_pagamento)
  response = hiring_plan_for_client(plan_id, client_id, contract_id, forma_pagamento)
  json = JSON.parse(response)

  status = json["status"]
  if status == "206"
    return "Plano ja contratado ou ID do plano informado nao existe."
  else
    json["data"].each do |d|
      return d["data"]["link_boleto"]
    end
  end
end
is_inadimplente(client_id) click to toggle source

Retorna true se cliente esta inadimplente, false caso não for.

Params

  • client_id - ID do cliente

# File lib/touggsl/customer.rb, line 87
def is_inadimplente(client_id)
  client = JSON.parse(checks_if_client_is_inadimplente(client_id))
  client['data'].length > 0 ? true : false
end
new_billing(client_id, data_vencimento, product_id, value, account_id = 1) click to toggle source

Gerar uma cobranca

  • client_id - ID do cliente

  • data_vencimento - data de vecimento da cobrança

  • product_id - ID do produto/serviço na superlógica

  • value - valor da cobrança

  • account_id - ID da conta na superlógica

# File lib/touggsl/customer.rb, line 153
def new_billing(client_id, data_vencimento, product_id, value, account_id = 1)
  billing = JSON.parse(new_billing_request(client_id, data_vencimento, product_id, value, account_id))
  if billing['status'].to_i == 200
    billing["data"].each do |d|
      return d["data"]["link_2via"]
    end
  else
    billing['data'].each { |d| puts d['msg'] }
  end
end
pay(pay_id, value = 24.90) click to toggle source

Liquida uma cobrança

Params

  • pay_id - ID do pagamento

  • value - valor da cobrança. Padrão é 24.90.

# File lib/touggsl/customer.rb, line 137
def pay(pay_id, value = 24.90)
  pay = JSON.parse(pay_request(pay_id, value))
  status = pay['status'].to_i
  unless status == 200
    return "Ocorreu algum erro."
  end
end