51 lines
2.0 KiB
Markdown
51 lines
2.0 KiB
Markdown
|
|
# 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
|
||
|
|
- [x] Anulación de facturas
|
||
|
|
- [ ] Consultas
|
||
|
|
- [ ] Subsanación
|
||
|
|
- [x] Soporte de campos PascalCase y snake_case en registro
|
||
|
|
- [x] Documentación de errores AEAT y solución de problemas con certificados P12
|