# VeriFactu MidAPI API intermediaria para enviar facturas a la AEAT a través del protocolo VeriFactu. Recibe facturas en JSON, calcula el hash encadenado, genera el XML SOAP y lo envía a la AEAT. Si la AEAT no está disponible, guarda la factura localmente (fallback). --- ## Documentación | | | |---|---| | [Requisitos y setup](documentacion/PREREQUISITES.md) | Go, Python, OpenSSL, certificado, configuración | | [API Reference](documentacion/api.md) | Endpoints, requests, responses | | [Protocolo VeriFactu](documentacion/verifactu.md) | Operaciones, hash, URLs AEAT, XML | | [Formato de datos](documentacion/formato_datos.md) | NIF, fechas, tipos factura, IVA, ejemplo JSON | | [Formatos de entrada](documentacion/formatos.md) | native, dolibarr, y cómo añadir nuevos | | [Arquitectura](documentacion/arqui.md) | Capas, flujo de datos, cifrado | | [Seguridad](documentacion/seguridad.md) | Certificados, RSA, HTTPS | | [Certificados](documentacion/certificado_pruebas.md) | Obtener y configurar certificado FNMT | | [Tokens](documentacion/tokens.md) | Sistema de autenticación por tokens | | [Configuración](documentacion/config.md) | config.yml, variables de entorno | | [Testing](documentacion/testing.md) | Tests, depuración | | [Errores](documentacion/ERRORES.md) | Códigos de error | --- ## Endpoints | Método | Ruta | Descripción | |--------|------|-------------| | `GET` | `/api/v1/health` | Health check | | `GET` | `/api/v1/auth/public-key` | Clave pública RSA | | `POST` | `/api/v1/auth/register` | Registrar certificado .p12 | | `GET` | `/api/v1/formats` | Lista formatos disponibles | | `POST` | `/api/v1/facturas` | Alta de factura (formato auto-detectado) | | `POST` | `/api/v1/facturas/anular` | Anular factura | --- ## Estado - [x] Alta de facturas con hash encadenado - [x] Fallback local - [x] Registro y validación de certificados - [ ] Anulación con AEAT - [ ] Consultas - [ ] Subsanación