Lumen Docs
Facturación

Descargar JSON

Obtén el JSON firmado de un documento tributario electrónico emitido en El Salvador con la API de Lumen.

Obtén una URL temporal para descargar el JSON oficial de un DTE ya emitido. Úsalo en tu SaaS, ERP o backend cuando necesites el archivo para almacenamiento propio, auditoría o reenvío.

En lugar de reconstruir el JSON firmado o volver a emitir el documento, solo envías el generationCode y el NRC de la empresa. Lumen valida el estado, regenera el archivo si hace falta y te devuelve una URL prefirmada lista para descargar (válida 15 minutos).

Método: GET

Nota

Es necesario el envío del token de acceso <access_token> para hacer uso de este endpoint. Para ver cómo generar el token, vea Cómo generar un token de acceso.

Recuerde: El token de acceso caduca cada hora.

El generationCode lo recibes un DTE como por ejemplo crear una factura o crédito fiscal. El documento debe estar en estado PROCESSED, DRAFT o CONTINGENCY para poder descargarse. DRAFT aplica a documentos de prueba en sandbox que nunca se transmitieron a Hacienda.

Endpoint

https://api-sandbox.lumendte.com/v1/documents/{generationCode}/json

generationCode es el código de generación del DTE (ej. FF84E5DB-79C5-42CE-B415-EC510C53EFB5).


Headers

CampoTipoRequeridoDescripción
AuthorizationstringSíBearer <access_token> (Client Credentials)
x-company-tax-numberstringSíNRC de la empresa emisora (con o sin guiones)

La petición no requiere body ni query params.


Request mínimo

Solo necesitas el path y los headers. Ejemplo con el generationCode de un documento emitido:

GET /v1/documents/FF84E5DB-79C5-42CE-B415-EC510C53EFB5/json
Authorization: Bearer tu_access_token
x-company-tax-number: 123456-7

Respuesta exitosa

Status: 200 OK

Usa url de inmediato: descarga el JSON o reenvíalo. La URL expira en 15 minutos. No la persistas en tu base de datos para uso posterior; vuelve a llamar este endpoint cuando necesites otra.

{
  "url": "https://files.example.com/invoices/1/FF84E5DB-79C5-42CE-B415-EC510C53EFB5.json?X-Amz-Expires=900"
}

Ejemplo de solicitud

curl -X GET https://api-sandbox.lumendte.com/v1/documents/FF84E5DB-79C5-42CE-B415-EC510C53EFB5/json \
  -H "Accept: application/json" \
  -H "Authorization: Bearer tu_access_token" \
  -H "x-company-tax-number: 123456-7"

Errores frecuentes

404 — Documento no encontrado

No existe un documento con ese generationCode para la empresa del header x-company-tax-number.

{
  "errorCode": "ELECTRONIC_INVOICE_NOT_FOUND",
  "message": "Electronic invoice with generationCode FF84E5DB-79C5-42CE-B415-EC510C53EFB5 was not found for the company",
  "statusCode": 404
}

Fix: Verifica que el generationCode sea el de la emisión y que el NRC coincida con la empresa que emitió el documento.

422 — Estado no válido para descargar

El documento existe, pero su estado no permite descarga (por ejemplo REJECTED).

{
  "errorCode": "ELECTRONIC_INVOICE_INVALID_STATUS",
  "message": "Electronic invoice is not in a valid status to download (current status: REJECTED)",
  "statusCode": 422
}

Fix: Solo puedes descargar si el estado es PROCESSED, DRAFT o CONTINGENCY. Verifica el estado del documento antes de pedir el JSON.

On this page