Class: SunatInvoice::InvoiceClient

Inherits:
Client
  • Object
show all
Defined in:
lib/sunat_invoice/clients/invoice_client.rb

Instance Method Summary collapse

Methods inherited from Client

#initialize

Constructor Details

This class inherits a constructor from SunatInvoice::Client

Instance Method Details

#dev_serverObject



13
14
15
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 13

def dev_server
  'https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService?wsdl'
end

#dispatch(document) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 28

def dispatch(document)
  # * document - Invoice or DailySummary instance
  xml_build = document.xml
  name = document.document_name
  operation = document.operation
  zip = prepare_zip(xml_build, "#{name}.xml")
  @soap_client.call(operation,
                    message: { fileName: "#{name}.zip", contentFile: zip })
end

#get_status(ticket) ⇒ Object



38
39
40
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 38

def get_status(ticket)
  @soap_client.call(:get_status, message: { ticket: ticket })
end

#prepare_zip(invoice, name) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 17

def prepare_zip(invoice, name)
  # * invoice - xml document to zip
  # * name - xml document name
  zip_file = Zip::OutputStream.write_buffer do |zip|
    zip.put_next_entry name
    zip.write invoice
  end
  zip_file.rewind
  encode(zip_file.sysread)
end

#prod_serverObject



9
10
11
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 9

def prod_server
  'https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService?wsdl'
end

#wsdlObject



5
6
7
# File 'lib/sunat_invoice/clients/invoice_client.rb', line 5

def wsdl
  send("#{@env}_server")
end