Hola! Soy nuevo en esta librería, quería saber si funcionaría en una aplicación desarrollada en typescript, deployada en un serverless (Vercel). Gracias.
Hola! Estoy usando el paquete "afip.ts" para typescript. Va bien
Lo probé pero no logré hacerlo funcionar aún, te envié solicitud para MD.
Hablemos por acá, así queda documentado tu problema 😄 Que error te tira?
Por empezar, no estoy pudiendo leer de ninguna forma el archivo wsfe-production.wsdl, ¿como hiciste eso, es decir donde lo colocas?
te referís al certificado que te genera ARCA para empezar a consultarle datos a la API? No fui a producción, asumo que como tu pregunta inicial es tan básica todavía no pudiste probar bien esta biblioteca. Yo lo que hice primero fue leer como dar de alta las credenciales para desarrollo, así que te puedo guiar con eso (aparte, así probás todo sin facturar ni romper nada).
Las credenciales para desarrollo me las guardé en .arca/credentials (priv.key y pub.crt).
Y las leo con este código. Básicamente me hice una clase para simplificar más la biblioteca. Cuándo instancio mi clase, cargo los archivos para loguearme:
import * as fs from 'fs';
import { Afip } from 'afip.ts';
export class Arca {
private afip: Afip;
constructor() {
const key = fs.readFileSync(`${__dirname}/../../.arca/credentials/priv.key`, 'utf8');
const cert = fs.readFileSync(`${__dirname}/../../.arca/credentials/pub.crt`, 'utf8');
const cuit = parseInt(process.env.MS_ACCESS_WEBAPP_ARCA_CUIT || '');
if(!key) throw new Error('Clave privada no definida.');
if(!cert) throw new Error('Certificado público no definido.');
if (!cuit) throw new Error('CUIT no definido.');
this.afip = new Afip({
key,
cert,
cuit,
production: process.env.MS_ACCESS_WEBAPP_NODE_ENV === 'prod'
});
this.setCredentials();
}
[...]
Te diría primero que crees las credenciales de desarrollo. Yo también soy nuevo pero los PDF que están en la web de ARCA me ayudaron 😄
Después de eso podemos seguir hablando... te recomiendo no desesperar y arrancar por ahí. Ojo que no sólo tenés que crear las claves, sino también habilitar el servicio wsfe (creo que se llama así)
Hola! En local todo eso que mencionás me anduvo, el problema es cuando me tengo que pasar a producción en Vercel. Por lo que veo, se puede usar el método API que es más sencillo para serverless (ej.Vercel), mañana lo voy a probar.
Justo en otra pregunta me di cuenta que el archivo wsfe-production.wsdl es de la API vieja de ARCA. Disculpame pero no tengo experiencia con eso, por eso te había respondido con que tengo la priv.key y pub.crt 😛 (así parece ser que se implementa la API nueva)
Tirá si lo hiciste funcionar! Abrazo grande
Igualmente si querés usar la biblioteca Afip.ts, te la recomiendo. Medio que en un día me armé como lo quería. Simplifica mucho
Yo renegué mucho con la biblioteca Afip.ts , por eso ahora estoy probando esta. ¿Vos pudiste usar Afip.ts en producción? ¿Con que tipo de server y por qué te pasaste a esta biblioteca si te andaba la otra? Con respecto a esta, vengo bien con las pruebas .... pegándole directamente a la API para no renegar.
Es el primer desarrollo que hago con integración con ARCA. Estoy con afip.ts por los tipos nomás. Los servidores que utilizo son VPS / dedicados 🙂