RAUDACLOUD·DTEEl Salvador
Manual Tecnológico de Integración V2.0 · REST + JSON + JWS

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.

Paso 0

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"]
  } }
Paso 1

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:

svfe-api-firmador.zip

Proyecto Java Spring Boot

Código fuente personalizable para agregar controles propios e integrarlo a la arquitectura corporativa.

dte-firmador.zip

Contenedor Docker

Imagen lista para ejecutar, con y sin SSL. Requiere Docker Desktop en Windows o Linux y el certificado en la carpeta indicada.

Windows

Servicio de Windows

Instalación como servicio local para infraestructuras basadas en servidores Windows.

Paso 2

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.

Manual Tecnológico V2 — sección 4
ServicioMétodoRuta
AutenticaciónPOST/seguridad/auth
Recepción uno a unoPOST/fesv/recepciondte
Recepción por lotesPOST/fesv/recepcionlote
Consulta de DTEPOST/fesv/recepcion/consultadte
Consulta de loteGET/fesv/recepcion/consultadtelote/{codigoLote}
Evento de ContingenciaPOST/fesv/contingencia
Evento de InvalidaciónPOST/fesv/anulardte
Recepción por lotes

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.

Paso 3

Política de reintentos

Umbral de espera: 8 segundos. Si el servicio no responde, o si su sistema falla al procesar la respuesta:

  1. Consultar el estado del documento transmitido (consultadte) para verificar si fue recibido.
  2. Si no fue recibido, reenviar la solicitud de recepción — máximo 2 veces más.
  3. 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.

Paso 4

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.sv son 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.
Arquitectura exigida

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.