Integración con las API del Sistema de Transmisión
Del token a la consulta del lote: el circuito completo que su Gestor de Facturación Electrónica debe implementar, con los endpoints, tiempos y reglas operativas exactas del manual oficial.
Ambientes y autenticación
Existen dos ambientes estrictamente separados — pruebas (apitest.dtes.mh.gob.sv, ambiente 00) y producción (api.dtes.mh.gob.sv, ambiente 01). Los documentos de prueba carecen de valor legal y jamás deben enviarse a producción.
La autenticación es un POST con user y pwd (credenciales de tipo aplicación) en application/x-www-form-urlencoded, que devuelve un JWT Bearer. El token vige 24 horas en producción (48 en pruebas): autentíquese una vez al día, no por cada envío. El usuario se bloquea cuando los intentos fallidos superan los tres (al cuarto error de credenciales).
La contraseña — de 13 a 25 caracteres con letras, números y un carácter especial — no vence, pero puede rotarse desde la Consola de Administración de Facturación Electrónica.
# 1. Obtener token
POST https://api.dtes.mh.gob.sv/seguridad/auth
Content-Type: application/x-www-form-urlencoded
User-Agent: mi-gestor/1.0
user=<usuario>&pwd=<contraseña>
# Respuesta
{ "status": "OK",
"body": {
"token": "Bearer eyJhbGciOiJIUzUxMiJ9…",
"tokenType": "Bearer", "roles": ["ROLE_USER"]
} }El firmador oficial
La Administración Tributaria distribuye una solución de firma basada en Java, standalone — no necesita conectividad fuera de la infraestructura del contribuyente — que produce el JWS (RSA512) exigido. Tres formas de desplegarla:
Proyecto Java Spring Boot
Código fuente personalizable para agregar controles propios e integrarlo a la arquitectura corporativa.
Contenedor Docker
Imagen lista para ejecutar, con y sin SSL. Requiere Docker Desktop en Windows o Linux y el certificado en la carpeta indicada.
Servicio de Windows
Instalación como servicio local para infraestructuras basadas en servidores Windows.
Endpoints del Sistema de Transmisión
Servicios REST. Base de pruebas https://apitest.dtes.mh.gob.sv · base de producción https://api.dtes.mh.gob.sv. Las rutas se consumen sin barra final (trailing slash) y todo en UTF-8.
| Servicio | Método | Ruta |
|---|---|---|
| Autenticación | POST | /seguridad/auth |
| Recepción uno a uno | POST | /fesv/recepciondte |
| Recepción por lotes | POST | /fesv/recepcionlote |
| Consulta de DTE | POST | /fesv/recepcion/consultadte |
| Consulta de lote | GET | /fesv/recepcion/consultadtelote/{codigoLote} |
| Evento de Contingencia | POST | /fesv/contingencia |
| Evento de Invalidación | POST | /fesv/anulardte |
Máximo 100 DTE por lote y hasta 400 lotes; procesamiento asíncrono de 1 a 3 minutos por lote en producción (2 a 3 minutos en pruebas). La respuesta inmediata entrega un codigoLote con el que se consulta el resultado. Horario de recepción de lotes en producción: 10:00 pm a 05:00 am (08:00 am a 05:00 pm en pruebas) — restricción pensada para facturación cíclica. Los lotes por contingencia se reciben 24/7, los 365 días.
Política de reintentos
Umbral de espera: 8 segundos. Si el servicio no responde, o si su sistema falla al procesar la respuesta:
- Consultar el estado del documento transmitido (
consultadte) para verificar si fue recibido. - Si no fue recibido, reenviar la solicitud de recepción — máximo 2 veces más.
- Si tras los reintentos no hay recepción, iniciar operación en contingencia, reintentando la conectividad como mínimo cada 15 minutos.
Evite la redundancia: una vez obtenida la respuesta de recepción o rechazo, no retransmita el mismo documento.
Holgura de fechas en la transmisión
Se aceptan documentos con hasta un día posterior a la fecha de transmisión — excepto el último día del período tributario, donde la tolerancia se reduce a 30 minutos respecto de la hora del servicio de recepción.
QR de consulta pública
Toda Representación Gráfica integra un código QR (o URL) hacia la consulta pública del Ministerio de Hacienda:
https://admin.factura.gob.sv/consultaPublica
?ambiente={00|01}
&codGen={UUID del DTE}
&fechaEmi={AAAA-MM-DD}Lineamientos no negociables
- JSON limpio: sin
;residuales ni caracteres inválidos al final de cadenas o del documento. - Los JSON Schema de
factura.gob.svson referenciales: no eximen de las reglas lógicas y cálculos fiscales. - TLS 1.2 o superior y gestión cifrada de tokens y credenciales.
- Infraestructura desplegada solo en jurisdicciones con tratados de extradición y convenios de asistencia legal mutua por delitos informáticos vigentes con El Salvador.
- Validaciones matemáticas, lógicas y de catálogo propias del rubro implementadas antes de emitir.
Lo que el Anexo I espera de su plataforma
El gestor debe implementar cuatro módulos — Generación, Firmado, Transmisión y Entrega — y, según el volumen transaccional: alta disponibilidad, plan de recuperación ante desastres, balanceadores de carga, autoescalado, respaldos, trazabilidad, monitoreo de transacciones y reportes. En seguridad: control de accesos, logs de usuarios y administradores, cifrado de información sensible, plan de continuidad y gestión de incidentes. Además, copia de respaldo de la base de datos de los JSON transmitidos con su Sello de Recepción.