class GetnetApi::Customer
Constants
- TIPO_DOCUMENTO
Opções de Tipo de Cliente
Attributes
Endereços GetnetApi::Address
Celular do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres
Código que identifica o cliente no estabelecimento. Alfa Numérico - Até 20 caracteres
Número do documento do comprador sem pontuação. (sem máscara) Alfa Numérico - Até 15 caracteres
Identifica o tipo de documento informado é pessoa física ou jurídica. Simbolo - Valores pré-definidos [:pessoa_fisica, :pessoa_juridica]
E-mail do comprador Alfa Numérico - Até 100 caracteres
Nome do comprador Alfa Numérico - Até 40 caracteres
Nome do comprador Alfa Numérico - Até 80 caracteres
Nome do comprador Alfa Numérico - Até 100 caracteres
Telefone do comprador. (sem máscara) Alfa Numérico - Até 15 caracteres
Public Class Methods
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
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
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
# File lib/getnet_api/customer.rb, line 129 def self.endpoint return "/customers" end
Public Instance Methods
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
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