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