Module: NubeFact
- Extended by:
- NubeFact
- Included in:
- NubeFact
- Defined in:
- lib/nube_fact.rb,
lib/nube_fact.rb,
lib/nube_fact/version.rb,
lib/nube_fact/exceptions.rb
Overview
CÓDIGO - DESCRIPCIÓN 10 - No se pudo autenticar, token incorrecto o eliminado 11 - La ruta o URL que estás usando no es correcta o no existe.
Ingresa a tu cuenta en www.nubefact.com en la opción Api-Integración para verificar este dato
12 - Solicitud incorrecta, la cabecera (Header) no contiene un Content-Type correcto 20 - El archivo enviado no cumple con el formato establecido 21 - No se pudo completar la operación, se acompaña el problema con un mensaje 22 - Documento enviado fuera del plazo permitido 23 - Este documento ya existe en NubeFacT 24 - El documento indicado no existe o no fue enviado a NubeFacT 40 - Error interno desconocido 50 - Su cuenta ha sido suspendida 51 - Su cuenta ha sido suspendida por falta de pago
Defined Under Namespace
Modules: Sunat, Utils, Validator Classes: CreditNote, Document, ErrorResponse, InvalidField, Invoice, NotConfigured, ValidationError
Constant Summary collapse
- API_BASE =
'https://www.nubefact.com/api/v1'
- API_BASE_DEMO =
'https://demo.nubefact.com/api/v1'
- READ_TIMEOUT =
120
- LIST_TIMEOUT =
360
- DATE_FORMAT =
"%d-%m-%Y"
- VERSION =
"0.0.12"
Instance Attribute Summary collapse
-
#api_token ⇒ Object
Returns the value of attribute api_token.
-
#url_token ⇒ Object
Returns the value of attribute url_token.
Instance Method Summary collapse
Instance Attribute Details
#api_token ⇒ Object
Returns the value of attribute api_token.
35 36 37 |
# File 'lib/nube_fact.rb', line 35 def api_token @api_token end |
#url_token ⇒ Object
Returns the value of attribute url_token.
34 35 36 |
# File 'lib/nube_fact.rb', line 34 def url_token @url_token end |
Instance Method Details
#request(data) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/nube_fact.rb', line 37 def request(data) raise NotConfigured unless url_token && api_token http = Net::HTTP.new(url.host, url.port) http.read_timeout = READ_TIMEOUT http.use_ssl = true # http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(url) request.body = data.to_json request["Authorization"] = 'Token token="%s"' % api_token request["Content-Type"] = 'application/json' request["cache-control"] = 'no-cache' response = http.request request # ToDO evaluate response code (not authorized, 500, etc) result = JSON.parse(response.read_body) if result['errors'] raise ErrorResponse.new "#{result['codigo']}: #{result['errors']}" end result end |
#url ⇒ Object
64 65 66 67 |
# File 'lib/nube_fact.rb', line 64 def url base_url = @use_demo ? API_BASE_DEMO : API_BASE URI("#{base_url}/#{url_token}") end |
#use_demo! ⇒ Object
69 70 71 |
# File 'lib/nube_fact.rb', line 69 def use_demo! @use_demo = true end |