Class: Touggsl::Customer
- Inherits:
-
Object
- Object
- Touggsl::Customer
- Includes:
- RequestHelper
- Defined in:
- lib/touggsl/customer.rb
Instance Attribute Summary collapse
-
#auth ⇒ Object
Returns the value of attribute auth.
Instance Method Summary collapse
-
#billings(client_id, status = 'pendentes') ⇒ Object
Retorna todas as cobrancas do cliente, com status pendente por default ==== Params *
client_id
- ID do cliente *status
- status das cobranças. -
#create_new_client(id, client_name, nome_fantasia, dia_vencimento = 0) ⇒ Object
Cadastra um novo cliente na Superlogica.
-
#get_all_inadimplentes ⇒ Object
Retorna todos os clientes que estão inadimplentes.
-
#hiring_plan(plan_id, client_id, contract_id, forma_pagamento) ⇒ Object
Contrata um plano para o cliente.
-
#initialize(auth) ⇒ Customer
constructor
Recebe um Touggsl::Auth.
-
#is_inadimplente(client_id) ⇒ Object
Retorna true se cliente esta inadimplente, false caso não for.
-
#link_2via(client_id) ⇒ Object
Retorna link de 2 via do boleto para cliente inadimplente ==== Params *
client_id
- ID do cliente. -
#link_2via_normal_client(client_id) ⇒ Object
Retorna link de 2 via do boleto para cliente que nao está inadimplente.
-
#new_billing(client_id, data_vencimento, product_id, value, account_id = 1) ⇒ Object
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. -
#pay(pay_id, value = 24.90) ⇒ Object
Liquida uma cobrança.
Methods included from RequestHelper
#billings_request, #checks_if_client_is_inadimplente, #create_client, #do_request, #get_2via_link, #get_2via_link_normal_client, #get_clients_inadimplementes, #hiring_plan_for_client, #include_auth_to_requests, #new_billing_request, #pay_request
Constructor Details
#initialize(auth) ⇒ Customer
Recebe um Touggsl::Auth
Exemplo:
auth = Touggsl::Auth
auth.login("email, "password")
Touggsl::Client.new(auth)
19 20 21 22 |
# File 'lib/touggsl/customer.rb', line 19 def initialize(auth) @auth = auth include_auth_to_requests(@auth) end |
Instance Attribute Details
#auth ⇒ Object
Returns the value of attribute auth.
8 9 10 |
# File 'lib/touggsl/customer.rb', line 8 def auth @auth end |
Instance Method Details
#billings(client_id, status = 'pendentes') ⇒ Object
Retorna todas as cobrancas do cliente, com status pendente por default
Params
-
client_id
- ID do cliente -
status
- status das cobranças
125 126 127 128 |
# 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) ⇒ Object
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”
34 35 36 37 38 39 40 41 |
# 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 ⇒ Object
Retorna todos os clientes que estão inadimplentes
67 68 69 70 71 72 73 74 75 76 77 78 79 |
# 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) ⇒ Object
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
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# 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 para o cliente informado." else json["data"].each do |d| return d["data"]["link_boleto"] end end end |
#is_inadimplente(client_id) ⇒ Object
Retorna true se cliente esta inadimplente, false caso não for.
Params
-
client_id
- ID do cliente
87 88 89 90 |
# 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 |
#link_2via(client_id) ⇒ Object
Retorna link de 2 via do boleto para cliente inadimplente
Params
-
client_id
- ID do cliente
110 111 112 113 114 115 116 117 |
# File 'lib/touggsl/customer.rb', line 110 def link_2via(client_id) link = JSON.parse(get_2via_link(client_id)) link['data'].each do |d| d['recebimento'].each do |v| return v['link_2via'] end end end |
#link_2via_normal_client(client_id) ⇒ Object
Retorna link de 2 via do boleto para cliente que nao está inadimplente
# ==== Params
-
client_id
- ID do cliente
98 99 100 101 102 103 |
# 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 |
#new_billing(client_id, data_vencimento, product_id, value, account_id = 1) ⇒ Object
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
153 154 155 156 157 158 159 160 161 162 |
# 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) ⇒ Object
Liquida uma cobrança
Params
-
pay_id
- ID do pagamento -
value
- valor da cobrança. Padrão é 24.90.
137 138 139 140 141 142 143 |
# 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 |