Usar web service factura MiPyME en Ruby

Con pocas líneas de código

avatar
Ivan Muñoz mar 05, 2024
Ruby

Usar web service factura MiPyME en Ruby

En este tutorial vamos a ver como utilizar los web services SOAP de AFIP con ayuda de una librería que nos facilita el acceso al mismo, encargándose de la autorización con el WSAA, y conexión SOAP por nosotros.

Instalación

Lo primero es instalar la librería Afip.rb

Gemfile

gem 'afip.rb', '~> 1.0', '>= 1.0.1'

Gem

gem install afip.rb

Creamos una instancia de la clase Afip

require "afip"

# CUIT vinculado al certificado
#
# Podes usar 20409378472 para desarrollo
# sin necesidad de key o cert
CUIT = 20409378472

afip = Afip.new({ "CUIT": CUIT })

Creamos una instancia del web service

ws = afip.webService("wsfecred")

Preparamos lo datos para la solicitud

En el manual del web service pueden encontrar los métodos disponibles.

En este ejemplo vamos a usar los datos para el método consultarMontoObligadoRecepcion

# Obtenemos el TA
ta = ws.getTokenAuthorization

# Preparamos los datos
data = {
  "authRequest": {
    "token": ta["token"],
    "sign": ta["sign"],
    "cuitRepresentada": afip.CUIT
  },
  "cuitConsultada": "20409378472",
  "fechaEmision": "2024-03-03"
}

Ejecutamos la solicitud

res = ws.executeRequest("consultarMontoObligadoRecepcion", data)

puts res

Esto es todo, ya podemos trabajar con la respuesta del web service de AFIP.

Lo único que nos queda es pasar a modo producción, para más información de cómo hacerlo pueden dirigirse a la documentación de la librería https://docs.afipsdk.com/