class SunatInvoice::InvoiceClient
Public Instance Methods
dev_server()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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_server()
click to toggle source
# 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
wsdl()
click to toggle source
# File lib/sunat_invoice/clients/invoice_client.rb, line 5 def wsdl send("#{@env}_server") end
Private Instance Methods
encode(zip_str)
click to toggle source
# File lib/sunat_invoice/clients/invoice_client.rb, line 44 def encode(zip_str) Base64.encode64(zip_str) end