class FacturaPyme
Public Class Methods
new(host, api_key, version = 'v1')
click to toggle source
# File lib/facturapyme.rb, line 7 def initialize (host, api_key, version = 'v1') @headers = { 'User-Agent' => 'SDK FacturaPyme', 'Cache-Control' => 'no-cache', 'Authorization' => api_key } @url = URI.parse(host+ '/api/'+ version +'/') @http = Net::HTTP.new(@url.host, @url.port) self.ssl(true) end
Public Instance Methods
debug()
click to toggle source
# File lib/facturapyme.rb, line 18 def debug() @http.set_debug_output($stdout) end
enviaDTE(documento)
click to toggle source
# File lib/facturapyme.rb, line 48 def enviaDTE(documento) return self.post('dte', documento) end
estadoDTE(id)
click to toggle source
# File lib/facturapyme.rb, line 51 def estadoDTE(id) return self.get('dte/'+id.to_s) end
get(endPoint)
click to toggle source
# File lib/facturapyme.rb, line 26 def get (endPoint) uri = URI.parse(@url.to_s+endPoint) request = Net::HTTP::Get.new(uri.request_uri, @headers) return self.processResponse(@http.request(request)) end
pdf(tipoDte, folio)
click to toggle source
# File lib/facturapyme.rb, line 40 def pdf(tipoDte, folio) return self.get('dte/pdf/'+tipoDte.to_s+'/'+folio.to_s) end
post(endPoint, data)
click to toggle source
# File lib/facturapyme.rb, line 32 def post(endPoint, data) uri = URI.parse(@url.to_s+endPoint) request = Net::HTTP::Post.new(uri.request_uri, @headers) request.content_type = 'application/json' request.body = JSON.generate(data) return self.processResponse(@http.request(request)) end
processResponse(response)
click to toggle source
# File lib/facturapyme.rb, line 54 def processResponse(response) body = response.body if response.content_type == 'application/json' body = JSON.parse(body) end if response.code.to_i > 400 raise 'error:['+response.code+']'+body['error'] end return body end
ssl(ssl)
click to toggle source
# File lib/facturapyme.rb, line 22 def ssl(ssl) @http.use_ssl = ssl end
xml(tipoDte, folio)
click to toggle source
# File lib/facturapyme.rb, line 44 def xml(tipoDte, folio) return self.get('dte/xml/'+tipoDte.to_s+'/'+folio.to_s) end