afipsdk-secure-tracks
v1.0.1
Published
Libreria para usar los Web Services de AFIP - de manera segura - con JavaScript
Downloads
4
Maintainers
Readme
Fork del proyecto original
Esta version prioriza el anonimato
NO se le envia informacion personal a los desarrolladores originales
Mixpanel es una herramienta de Analítica Web que nos permite registrar con mayor profundidad el comportamiento de los usuarios en nuestra aplicación. Para ello, se encarga de registrar eventos, propiedades y usuarios, y nos permite analizarlos en tiempo real.
Como se puede ver en el repositorio original, los desarrolladores de @afipsdk/afip.js han decidido utilizar Mixpanel para registrar eventos de uso de la librería. Esto es una práctica común en el mundo de la programación, pero en este caso, la informacion que trakean puede ser sensible, ya que se trata de datos de facturación electrónica.
En el fork original se puede ver:
Afip.js:90 Inicializacion del cliente de mixpanel
Afip.js:106 Identificacion de cada usuario por su cuit
AfipWebService.js:146 Envios de eventos en cada request que se hace hacia AFIP
Afip.js:283-299 Detalle de informacion que se envia a mixpanel
Haciendo uso de la licencia MIT, modifique el codigo original para que no se envie ningun evento a mixpanel por defecto. Y en caso de que se quiera, se pueda habilitar la opcion de enviar eventos a la cuenta de mixpanel PROPIA de quien implemente la libreria.
Usar TU PROPIA cuenta de mixpanel
Para habilitar la opcion de enviar eventos a mixpanel
Al crear una instancia de la clase Afip, se puede pasar un objeto con la propiedad mixpanelId
con tu id de mixpanel
para capturar los eventos.
const afip = new Afip({CUIT: 20111111112, mixpanelId: 'YOUR_MIXPANEL_ID'});
Ejemplos de algunas cosas que se trackean
Ultimo comprobante autorizado
wsfe.FECompUltimoAutorizado {
afip_sdk_library: 'javascript',
distinct_id: 20111111112,
production: false
}
Nueva factura electronica
wsfe.FECAESolicitar {
afip_sdk_library: 'javascript',
distinct_id: 20111111112,
production: false,
CbteTipo: 11,
ImpTotal: 100
}
Disclaimer legal del tracking de eventos con informacion personal
Ley 25326
ARTICULO 4° — (Calidad de los datos).
La recolección de datos no puede hacerse por medios desleales, fraudulentos o en forma contraria a las disposiciones de la presente ley.
Los datos deben ser almacenados de modo que permitan el ejercicio del derecho de acceso de su titular.
ARTICULO 5° — (Consentimiento).
El tratamiento de datos personales es ilícito cuando el titular no hubiere prestado su consentimiento libre, expreso e informado, el que deberá constar por escrito, o por otro medio que permita se le equipare, de acuerdo a las circunstancias.
El referido consentimiento prestado con otras declaraciones, deberá figurar en forma expresa y destacada, previa notificación al requerido de datos, de la información descrita en el artículo 6° de la presente ley.
El resto es igual al original. Para mas informacion, ver el repositorio original.
Tabla de contenidos
- Acerca del proyecto
- Guia de inicio
- Web Services
- Integrar otro web service
- Ejemplos de uso
- Tutoriales para la página AFIP
- Solución a errores más frecuentes
- Preguntas frecuentes
- Proyectos relacionados
- ¿Necesitas ayuda? 🚀
- Licencia
- Contacto
Acerca del proyecto
Afip SDK es la forma más rápida y simple de conectarse con los Web Services de AFIP.
Esta librería fue creada con la intención de ayudar a los programadores a usar los Web Services de AFIP sin romperse la cabeza ni perder tiempo tratando de entender la complicada documentación que AFIP provee. Ademas forma parte de Afip SDK.
Guia de inicio
Instalacion
Via npm
npm install --save @afipsdk/afip.js
Via Yarn
yarn add @afipsdk/afip.js
Siguiente paso
- Remplazar node_modules/@afipsdk/afip.js/Afip_res/cert por tu certificado provisto por AFIP y * node_modules/@afipsdk/afip.js/Afip_res/key* por la clave generada.
- La carpeta Afip_res deberá tener permisos de escritura.
Ir a Tutoriales para la página AFIP para obtener mas información de como generar la clave y certificado
Como usarlo
Lo primero es incluir el SDK en tu aplicación
const Afip = require('@afipsdk/afip.js');
Luego creamos una instancia de la clase Afip pasandole un Objeto como parámetro.
const afip = new Afip({CUIT: 20111111112});
Para más información acerca de los parámetros que se le puede pasar a la instancia new Afip()
consulte
sección Primeros pasos de la documentación
Una vez realizado esto podemos comenzar a usar el SDK con los Web Services disponibles
Web Services
Si necesitas más información de cómo utilizar algún web service echa un vistazo a la documentación completa de afip.js
Factura electronica
Podes encontrar la documentación necesaria para utilizar la facturación electrónica 👈 aquí
Padron alcance 4
El Servicio Web de Consulta de Padrón denominado A4 ha quedado limitado para Organismos Públicos, si lo necesitas puedes leer la documentación de consulta al padrón de AFIP alcance 4
Padron alcance 5
Quienes usaban el padrón A4 pueden utilizar este padrón en modo de remplazo, si queres saber cómo echa un vistazo a la documentación de consulta al padrón de AFIP alcance 5
Padron alcance 10
Si tenes que utilizar este web service también está disponible dentro de la librería, su documentación se encuentra en consulta al padrón de AFIP alcance 10
Padron alcance 13
Si debes consultar por el CUIT de una persona física tendrás que utilizar este web service, su documentación se encuentra disponible en la wiki de consulta al padrón de AFIP alcance 13
Proyectos relacionados
Libreria para PHP
Si necesitas acceder los web services de AFIP en PHP podes utilizar Afip.php
¿Necesitas ayuda? 🚀
¿Quieres implementarlo de forma rápida y fiable? Obtén Afip SDK PRO que incluye una amplia documentación con ejemplos, tutoriales, implementación en Frameworks y plataformas, y mucho más.
Licencia
Distribuido bajo la licencia MIT. Vea LICENSE
para más información.
Contacto
Afip SDK - [email protected]
Link del proyecto: https://github.com/afipsdk/afip.js
Este software y sus desarrolladores no tienen ninguna relación con la AFIP.