El core open source de Egeek Sifen ya incorpora consultas individuales a SIFEN desde .NET: recuperación de un Documento Electrónico por CDC y consulta de datos de un contribuyente por RUC.
Qué incorpora este incremento
- Consulta de Documento Electrónico por CDC mediante el servicio oficial correspondiente.
- Consulta individual de RUC con interpretación del estado y del indicador de facturador electrónico.
- Transporte SOAP 1.2 reutilizable con autenticación mTLS y selección cerrada del servicio y ambiente.
- Uso como librería y exposición opcional mediante endpoints HTTP versionados.
- Configuración externa de un certificado cliente por instancia de la Web API, validado durante el arranque.
Respuestas útiles sin perder el detalle de SIFEN
El contrato diferencia la interpretación estable del core de la respuesta nativa. resultCode y resultMessage permiten integrar reglas consistentes; codigoSifen y mensajeSifen preservan el código y el texto exactos recibidos del servicio fiscal.
También se distingue entre una consulta procesada sin coincidencias y un rechazo funcional. En la consulta por CDC, el XML recuperado se conserva como fue entregado: no se regenera ni se vuelve a firmar.
Cómo se verificó
La suite completa terminó con 93 pruebas superadas y ningún fallo. Las integraciones que requieren red, certificado y secretos permanecen opt-in para que la ejecución normal sea determinista.
Además, las consultas de RUC y CDC se probaron manualmente desde Swagger contra el ambiente de pruebas de SIFEN. Ambas completaron el transporte correctamente y devolvieron resultados encontrados, sin registrar datos fiscales ni material criptográfico en el repositorio.
Alcance actual
Este incremento se mantiene deliberadamente stateless. No agrega persistencia, caché, reintentos automáticos, lotes ni selección de múltiples certificados dentro del host base. Esas capacidades corresponden a integradores o a incrementos posteriores.
El siguiente paso es revisar y mezclar las ramas del incremento, y luego decidir el corte de la versión 0.2.0.