# 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: ` | Error comunicando con la AEAT | | `aeat_fault: ` | 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.