⚠⚠⚠ ESTE PROYECTO ESTÁ EN DESARROLLO, NO DEBE SER USADO EN PRODUCCIÓN
Este es un experimento en progreso que usa la librería PHP de LibreDTE para generar una API HTTP. Con esta API podrás generar documentos y enviarlos al Servicio de Impuestos Internos de Chile.
La implementación de esta API está realizada con docker y docker-compose y slim, esto permite integrar la API con cualquier lenguage. La API no administra ningún estado, en cada petición será necesario enviar valores como la firma y los folios entre otros parámetros, Por lo mismo es responsabilidad del consumer implementar un sistema de autenticación. El uso de docker-composer permite generar una red interna donde un segundo backend puede realizar peticiones HTTP a esta API, este segundo backend será el encargado de administrar todo lo relacionado a los DTEs
Esquema con ejemplo de como usar la librería
Para Probar la librería necesitas
Si deseas hacer llamadas directamente a la API ejecuta:
docker-compose up -f ./docker-compose.api.yml
Esto instalará todas las dependencias automáticamente y quedará listo para usar 🚀
Puedes acceder a la api desde: http://localhost:8000
NOTA: No es necesario reiniciar el contenedor al realizar un cambio en la librería, estos serán reconocidos automáticamente
El archivo docker-compose.yml
contiene ejemplos con diferentes lenguajes para utilizar HTTP-DTE
Para instalar las dependencias de NodeJS primero hay que ejecutar:
sudo docker-compose -f ejemplos/node/docker-compose.builder.yml run --rm install
Si no te interesa NodeJS comenta el servicio
app-node
endocker-compose-yml
y no ejecutes el comando anterior)
Finalmente ejecuta
docker-compose up
Este útimo comando ejecutará todos los ejemplos disponibles
- Abrir
http://localhost:3000
para ver el ejemplo de NodeJS - Abrir
http://localhost:3001
para ver el ejemplo de PHP
Lista de endpoints disponibles 🔥
El archivo docker-compose.yml
contiene un ejemplo de como comunicar el container de HTTP DTE y el que vayas a usar como backend
- Envío de Facturas (33)
- Envío de Facturas Exentas (34)
- Envío de Nota de Crédito (61)
- Envío de Nota de Débito (56)
- Guía de Despacho (52)
- Envío Libro de Guías de Despacho
- Envío de Libro de Compras
- Envío de Libro de Ventas
- Envío de Boleta Electrónica (39)
- Leer estado de DTE
- Enviar Set de Pruebas Básico
- Enviar Multiples DTEs
- Selección de Formato de Hoja en PDF
- Lista de Contribuyentes Autorizados
- Mejorar manejo de errores
Cualquier PR es bienvenido y si tienes algún problema no dudes en abrir un issue para poder resolverlo.
Este proyecto está liberado bajo la licencia MIT, quiere decir que puedes hacer lo que quieras (incluso comercialmente). Sin embargo LibreDTE tiene su propia licencia, verifica esto en su repositorio.