class Touggsl::Customer
Attributes
Public Class Methods
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
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
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
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
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
Retorna link de 2 via do boleto para cliente que nao está inadimplente
# ==== Params
-
client_id
- ID do cliente
# File lib/touggsl/customer.rb, line 98 def link_2via_normal_client(client_id) link = JSON.parse(get_2via_link_normal_client(client_id)) link['data'].each do |d| return d['link_2via'] end end
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
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