class Biro::Spc::Request
Constants
- SCORE_12_MONTHS
- SCORE_3_MONTHS
Public Instance Methods
development_url()
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 9 def development_url 'https://treina.spc.org.br/spc/remoting/ws/consulta/consultaWebService?wsdl' end
display_products()
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 37 def display_products response = soap.call(:listar_produtos, xml: '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header /><soapenv:Body /></soapenv:Envelope>') response.body end
find(document, options = {})
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 21 def find(document, options = {}) begin params = {} add_basic_info(params, document, options[:kind] || 'F', options[:product_code]) add_score_info(params) if options[:include_score] response = soap.call(:consultar, message: params) Response.new(response) rescue => e Biro.log(:warn, "Unable to process SPC request") raise AuthenticationError.new("Error at SPC request: #{e.message}") if e.message.include?("CS_AUT") raise DocumentNotFoundError.new("Error at SPC request: #{e.message}") if e.message.include?("CPF inválido") || e.message.include?("(7)") raise StandardError.new("Error at SPC request: #{e.message}") end end
production_url()
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 13 def production_url 'https://servicos.spc.org.br/spc/remoting/ws/consulta/consultaWebService?wsdl' end
required_params()
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 17 def required_params [:username, :password] end
Private Instance Methods
add_basic_info(params, document, kind, product_code)
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 48 def add_basic_info(params, document, kind, product_code) params['codigo-produto'] = product_code params['tipo-consumidor'] = kind params['documento-consumidor'] = document end
add_score_info(request)
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 54 def add_score_info(request) request['codigo-insumo-opcional'] = [SCORE_3_MONTHS, SCORE_12_MONTHS] end
savon_options()
click to toggle source
# File lib/biro/gateways/spc/request.rb, line 44 def savon_options { basic_auth: [@username, @password] } end