Class: FmTimbradoCfdi::FmCliente

Inherits:
Object
  • Object
show all
Defined in:
lib/fm_timbrado_cfdi/fm_cliente.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFmCliente

Returns a new instance of FmCliente.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 10

def initialize
  # La configuracion por default es la del ambiente de pruebas de FM
  # Datos de acceso al webservice
  @user_id = 'UsuarioPruebasWS'
  @user_pass = 'b9ec2afa3361a59af4b4d102d3f704eabdf097d4'
  # Datos del webservise de prueba
  @namespace = 'https://t2demo.facturacionmoderna.com/timbrado/soap'
  @endpoint = 'https://t2demo.facturacionmoderna.com/timbrado/soap'
  @fm_wsdl = 'https://t2demo.facturacionmoderna.com/timbrado/wsdl'

  #Opciones adicionales
  @log = false
  @log_level = :error
  @ssl_verify_mode = :none
  @logger = nil
end

Instance Attribute Details

#endpointObject

Returns the value of attribute endpoint.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def endpoint
  @endpoint
end

#fm_wsdlObject

Returns the value of attribute fm_wsdl.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def fm_wsdl
  @fm_wsdl
end

#logObject

Returns the value of attribute log.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def log
  @log
end

#log_levelObject

Returns the value of attribute log_level.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def log_level
  @log_level
end

#loggerObject

Returns the value of attribute logger.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def logger
  @logger
end

#namespaceObject

Returns the value of attribute namespace.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def namespace
  @namespace
end

#ssl_verify_modeObject

Returns the value of attribute ssl_verify_mode.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def ssl_verify_mode
  @ssl_verify_mode
end

#user_idObject

Returns the value of attribute user_id.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def user_id
  @user_id
end

#user_passObject

Returns the value of attribute user_pass.



7
8
9
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 7

def user_pass
  @user_pass
end

Instance Method Details

#cancelar(rfc, uuid, opciones = {}) ⇒ Object



42
43
44
45
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 42

def cancelar(rfc, uuid, opciones = {})
  respuesta = webservice_call(:request_cancelar_cfdi, rfc, {uuid: uuid}.merge(opciones))
  FmRespuestaCancelacion.new(respuesta)
end

#subir_certificado(rfc, certificado, llave, password, opciones = {}) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 34

def subir_certificado(rfc, certificado, llave, password, opciones = {})
  parametros = { 'archivoCer' => Base64::encode64(certificado),
                 'archivoKey' => Base64::encode64(llave),
                 'clave' => password }
  respuesta = webservice_call(:activar_cancelacion, rfc, parametros.merge(opciones))
  FmRespuestaCancelacion.new(respuesta)
end

#timbrar(rfc, documento, opciones = {}) ⇒ Object



27
28
29
30
31
32
# File 'lib/fm_timbrado_cfdi/fm_cliente.rb', line 27

def timbrar(rfc, documento, opciones={})
  text_to_cfdi = Base64::encode64( documento )
  # Realizamos la peticion
  respuesta = webservice_call(:request_timbrar_cfdi, rfc, {'text2CFDI' => text_to_cfdi}.merge(opciones))
  FmRespuesta.new(respuesta)
end