56 lines
2.2 KiB
Markdown
56 lines
2.2 KiB
Markdown
# Códigos de Error
|
|
|
|
## Errores de autenticación
|
|
|
|
| Código | Descripción |
|
|
|--------|-------------|
|
|
| `missing_fields` | Faltan campos obligatorios en el registro |
|
|
| `invalid_json` | El cuerpo de la petición no es JSON válido |
|
|
| `invalid_password_encrypted` | La contraseña cifrada no es Base64 válido |
|
|
| `decrypt_failed` | No se pudo descifrar la contraseña con la clave privada RSA |
|
|
| `file_not_found` | El archivo de certificado no existe |
|
|
| `invalid_password_or_format` | Contraseña incorrecta o formato de certificado inválido |
|
|
| `certificate_not_yet_valid` | El certificado aún no es válido |
|
|
| `certificate_expired` | El certificado ha expirado |
|
|
| `certificate_expiring_soon` | El certificado caduca en menos de 30 días (warning) |
|
|
| `temp_storage_failed` | Error guardando el certificado temporal |
|
|
| `storage_failed` | Error moviendo el certificado a almacenamiento permanente |
|
|
| `token_generation_failed` | Error generando el token de sesión |
|
|
|
|
## Errores de validación de facturas
|
|
|
|
La API devuelve `validation_failed` con detalles por campo:
|
|
|
|
```json
|
|
{
|
|
"success": false,
|
|
"error": "validation_failed: factura.emisor_nif: invalid NIF format; ..."
|
|
}
|
|
```
|
|
|
|
| Campo | Error |
|
|
|-------|-------|
|
|
| `tipo` | Debe ser `alta` o `anulacion` |
|
|
| `factura.emisor_nif` | Vacío o formato inválido (esperado: 9 caracteres, regex `^[A-Z0-9]\d{7}[A-Z]$`) |
|
|
| `factura.num_serie` | Vacío |
|
|
| `factura.fecha_expedicion` | Vacío o formato inválido (esperado: `dd-mm-yyyy`) |
|
|
| `factura.tipo_factura` | Vacío o no es `F1`, `F2`, `R1`-`R5` |
|
|
| `factura.iva[]` | Sin registros, o base/cuota/tipo negativos |
|
|
| `factura.importe_total` | Menor o igual a 0 |
|
|
| `sistema.nombre` | Vacío |
|
|
| `sistema.nif_proveedor` | Vacío |
|
|
| `sistema.version` | Vacío |
|
|
|
|
## Errores de procesamiento
|
|
|
|
| Código | Descripción |
|
|
|--------|-------------|
|
|
| `hash_storage_error` | Error leyendo el último hash almacenado |
|
|
| `hash_save_error` | Error guardando el hash de la factura actual |
|
|
| `aeat_error: <detalle>` | Error comunicando con la AEAT |
|
|
| `aeat_fault: <detalle>` | Fault SOAP devuelto por la AEAT |
|
|
|
|
## Errores AEAT
|
|
|
|
La AEAT devuelve códigos de error en el campo `CodigoErrorRegistro` de la respuesta SOAP. Consulta la documentación oficial de la AEAT para la lista completa.
|