class GetnetApi::Customer

Constants

TIPO_DOCUMENTO

Opções de Tipo de Cliente

Attributes

address[RW]

Endereços GetnetApi::Address

celphone_number[RW]

Celular do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres

customer_id[RW]

Código que identifica o cliente no estabelecimento. Alfa Numérico - Até 20 caracteres

document_number[RW]

Número do documento do comprador sem pontuação. (sem máscara) Alfa Numérico - Até 15 caracteres

document_type[RW]

Identifica o tipo de documento informado é pessoa física ou jurídica. Simbolo - Valores pré-definidos [:pessoa_fisica, :pessoa_juridica]

email[RW]

E-mail do comprador Alfa Numérico - Até 100 caracteres

first_name[RW]

Nome do comprador Alfa Numérico - Até 40 caracteres

last_name[RW]

Nome do comprador Alfa Numérico - Até 80 caracteres

name[RW]

Nome do comprador Alfa Numérico - Até 100 caracteres

observation[RW]
phone_number[RW]

Telefone do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres

Public Class Methods

create(customer) click to toggle source

a = GetnetApi::Customer.create cliente

# File lib/getnet_api/customer.rb, line 118
def self.create customer

  hash = customer.to_request(:customer)

  response = self.build_request self.endpoint, "post", hash

  return JSON.parse(response.read_body)
end
new(campos = {}) click to toggle source

Nova instancia da classe Cliente @param [Hash] campos

# File lib/getnet_api/customer.rb, line 82
def initialize(campos = {})
  campos.each do |campo, valor|
    if GetnetApi::Customer.public_instance_methods.include? "#{campo}=".to_sym
      send "#{campo}=", valor
    end
  end
end
tipos_document_number_validos() click to toggle source

Retornar array com os possíveis tipos de cliente

# File lib/getnet_api/customer.rb, line 56
def self.tipos_document_number_validos
  TIPO_DOCUMENTO.map{ |key, value| key }
end

Private Class Methods

endpoint() click to toggle source
# File lib/getnet_api/customer.rb, line 129
def self.endpoint
  return "/customers"
end

Public Instance Methods

tipos_de_cliente_to_request() click to toggle source

Retornar o número do tipo de phone_number no padrão utilizado pela Getnet

# File lib/getnet_api/customer.rb, line 91
def tipos_de_cliente_to_request
  TIPO_DOCUMENTO[self.document_type]
end
to_request(tipo) click to toggle source

Montar o Hash de dados do usuario no padrão utilizado pela Getnet

# File lib/getnet_api/customer.rb, line 96
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