Class: GetnetApi::Customer
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/getnet_api/customer.rb
Constant Summary collapse
- TIPO_DOCUMENTO =
Opções de Tipo de Cliente
{ :pessoa_fisica => "CPF", :pessoa_juridica => "CNPJ", }
Instance Attribute Summary collapse
-
#address ⇒ Object
Endereços GetnetApi::Address.
-
#celphone_number ⇒ Object
Celular do comprador.
-
#customer_id ⇒ Object
Código que identifica o cliente no estabelecimento.
-
#document_number ⇒ Object
Número do documento do comprador sem pontuação.
-
#document_type ⇒ Object
Identifica o tipo de documento informado é pessoa física ou jurídica.
-
#email ⇒ Object
E-mail do comprador Alfa Numérico - Até 100 caracteres.
-
#first_name ⇒ Object
Nome do comprador Alfa Numérico - Até 40 caracteres.
-
#last_name ⇒ Object
Nome do comprador Alfa Numérico - Até 80 caracteres.
-
#name ⇒ Object
Nome do comprador Alfa Numérico - Até 100 caracteres.
-
#observation ⇒ Object
Returns the value of attribute observation.
-
#phone_number ⇒ Object
Telefone do comprador.
Class Method Summary collapse
-
.create(customer) ⇒ Object
a = GetnetApi::Customer.create cliente.
-
.tipos_document_number_validos ⇒ Object
Retornar array com os possíveis tipos de cliente.
Instance Method Summary collapse
-
#initialize(campos = {}) ⇒ Customer
constructor
Nova instancia da classe Cliente.
-
#tipos_de_cliente_to_request ⇒ Object
Retornar o número do tipo de phone_number no padrão utilizado pela Getnet.
-
#to_request(tipo) ⇒ Object
Montar o Hash de dados do usuario no padrão utilizado pela Getnet.
Methods inherited from Base
build_request, default_headers, get_token_de_bearer, valid_bearer
Constructor Details
#initialize(campos = {}) ⇒ Customer
Nova instancia da classe Cliente
83 84 85 86 87 88 89 |
# File 'lib/getnet_api/customer.rb', line 83 def initialize(campos = {}) campos.each do |campo, valor| if GetnetApi::Customer.public_instance_methods.include? "#{campo}=".to_sym send "#{campo}=", valor end end end |
Instance Attribute Details
#address ⇒ Object
Endereços GetnetApi::Address
41 42 43 |
# File 'lib/getnet_api/customer.rb', line 41 def address @address end |
#celphone_number ⇒ Object
Celular do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres
49 50 51 |
# File 'lib/getnet_api/customer.rb', line 49 def celphone_number @celphone_number end |
#customer_id ⇒ Object
Código que identifica o cliente no estabelecimento. Alfa Numérico - Até 100 caracteres
13 14 15 |
# File 'lib/getnet_api/customer.rb', line 13 def customer_id @customer_id end |
#document_number ⇒ Object
Número do documento do comprador sem pontuação. (sem máscara) Alfa Numérico - Até 15 caracteres
37 38 39 |
# File 'lib/getnet_api/customer.rb', line 37 def document_number @document_number end |
#document_type ⇒ Object
Identifica o tipo de documento informado é pessoa física ou jurídica. Simbolo - Valores pré-definidos [:pessoa_fisica, :pessoa_juridica]
33 34 35 |
# File 'lib/getnet_api/customer.rb', line 33 def document_type @document_type end |
#email ⇒ Object
E-mail do comprador Alfa Numérico - Até 100 caracteres
29 30 31 |
# File 'lib/getnet_api/customer.rb', line 29 def email @email end |
#first_name ⇒ Object
Nome do comprador Alfa Numérico - Até 40 caracteres
17 18 19 |
# File 'lib/getnet_api/customer.rb', line 17 def first_name @first_name end |
#last_name ⇒ Object
Nome do comprador Alfa Numérico - Até 80 caracteres
21 22 23 |
# File 'lib/getnet_api/customer.rb', line 21 def last_name @last_name end |
#name ⇒ Object
Nome do comprador Alfa Numérico - Até 100 caracteres
25 26 27 |
# File 'lib/getnet_api/customer.rb', line 25 def name @name end |
#observation ⇒ Object
Returns the value of attribute observation.
51 52 53 |
# File 'lib/getnet_api/customer.rb', line 51 def observation @observation end |
#phone_number ⇒ Object
Telefone do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres
45 46 47 |
# File 'lib/getnet_api/customer.rb', line 45 def phone_number @phone_number end |
Class Method Details
.create(customer) ⇒ Object
a = GetnetApi::Customer.create cliente
119 120 121 122 123 124 125 126 |
# File 'lib/getnet_api/customer.rb', line 119 def self.create customer hash = customer.to_request(:customer) response = self.build_request self.endpoint, "post", hash return JSON.parse(response.read_body) end |
.tipos_document_number_validos ⇒ Object
Retornar array com os possíveis tipos de cliente
57 58 59 |
# File 'lib/getnet_api/customer.rb', line 57 def self.tipos_document_number_validos TIPO_DOCUMENTO.map{ |key, value| key } end |
Instance Method Details
#tipos_de_cliente_to_request ⇒ Object
Retornar o número do tipo de phone_number no padrão utilizado pela Getnet
92 93 94 |
# File 'lib/getnet_api/customer.rb', line 92 def tipos_de_cliente_to_request TIPO_DOCUMENTO[self.document_type] end |
#to_request(tipo) ⇒ Object
Montar o Hash de dados do usuario no padrão utilizado pela Getnet
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/getnet_api/customer.rb', line 97 def to_request tipo customer = { customer_id: self.customer_id.to_s, first_name: self.first_name.to_s, last_name: self.last_name.to_s, email: self.email.to_s, document_type: self.tipos_de_cliente_to_request.to_s, document_number: self.document_number.to_s, phone_number: self.phone_number.to_s, } if tipo == :customer customer.merge!({address: address.to_request}) elsif tipo == :payment customer.merge!({name: self.name.to_s}) customer.merge!({billing_address: address.to_request}) end return customer end |