Librería donde están integradas las API's de los servicios SW, timbrado, cancelaciones, etc, además de servicio de sellado de CFDI 4.0.
- Ruby 2.7 o superior.
Ejecutar los comandos directamente en la consola tal cual aparecen en la página de rubygems, en este caso:
bundle install
Para inicializar la clase de un servicio se debera enviar un array que incluya la informacion de la url del entorno, el usuario y la contraseña.
- Pruebas:
params = {"url" => 'http://services.test.sw.com.mx', "user" => 'user@test.com.mx', "password" => '123456789'}
- Produccion:
params = {"url" => 'https://services.sw.com.mx', "user" => 'user@test.com.mx', "password" => '123456789'}
Servicio de autenticacion, contiene un metodo para la obtencion de un token temporal con vigencia de hasta dos horas.
require_relative 'Authentication/auth.rb'
Auth::set(params)
response = Auth::authenticationServicio de timbrado en el cual se recibe un CFDI previamente sellado en formato XML.
require_relative 'Stamp/stamp.rb'
Stamp::set(params)
response = Stamp::stamp_v1(xml_signed)Servicio de timbrado en el cual se recibe un CFDI sin sellar en formato JSON. Este servicio sella y timbra el comprobante.
require 'Issue/issue.rb'
Issue::set(params)
result_issue = Issue::issue_JSON_v3(json_hash.to_json)Servicio de cancelacion de CFDI, existen 4 metodos los cuales reciben diferente parámetros.
- Cancelacion CSD
require 'Cancelation/cancelation.rb'
Cancelation::set(params)
response = Cancelation::cancel_csd(uuid, rfc, password_csd, b64_csd, b64_key, motivo)- Cancelacion UUID
require 'Cancelation/cancelation.rb'
Cancelation::set(params)
response = Cancelation::cancel_uuid(uuid, rfc, motivo)- Cancelacion PFX
require 'Cancelation/cancelation.rb'
Cancelation::set(params)
response = Cancelation::cancel_pfx(uuid, rfc, password_csd, b64_pfx, motivo)- Cancelacion XML
require 'Cancelation/cancelation.rb'
Cancelation::set(params)
response = Cancelation::cancel_xml(xml)Servicio de validacion de CFDI en formato XML.
require 'Validation/validate.rb'
Validate::set(params)
response = Validate::validate_xml(xml)Servicio para consultar las cancelaciones pendientes de aceptacion.
**Funciones disponibles
require 'Pendings/pendings.rb'
Pendings::set(params)
response = Pendings::get_pendings(rfc)Servicio para aceptar o rechazar una solicitud de cancelacion.
require 'Relations/relations.rb'