Class: Biro::Spc::Request

Inherits:
BaseRequest show all
Includes:
Utils::Soap
Defined in:
lib/biro/gateways/spc/request.rb

Constant Summary collapse

SCORE_3_MONTHS =
77
SCORE_12_MONTHS =
78

Instance Method Summary collapse

Methods included from Utils::Soap

#soap, #wsdl

Methods inherited from BaseRequest

#initialize, #url

Constructor Details

This class inherits a constructor from Biro::BaseRequest

Instance Method Details

#development_urlObject



9
10
11
# 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_productsObject



37
38
39
40
# 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 = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 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_urlObject



13
14
15
# 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_paramsObject



17
18
19
# File 'lib/biro/gateways/spc/request.rb', line 17

def required_params
  [:username, :password]
end