# API Reference — El Salvador (doc V1.1.0)

> Documentación técnica de la API REST para certificar, anular y consultar DTE en el régimen FEL ante Ministerio de Hacienda (MH).


## Ambientes

- **Test:** `https://testnucsv.digifact.com/api` — corriendo **V2.2.15**
- **Producción:** `https://nucsv.digifact.com/api` — corriendo **V2.0.14**

> La versión de este documento (V1.1.0) y la versión del servicio son números independientes. Para saber qué está corriendo, consultá la raíz del ambiente (`GET https://testnucsv.digifact.com/api`), que responde con el número actual.

## Soporte

- **Email:** soporte@digifact.com.sv
- **Teléfono:** +502 4219-2222

---

## Endpoints

### POST · Obtención del TOKEN (GET TOKEN)

El primer paso es la obtención del TOKEN, este se utilizará como forma de autenticación para las peticiones. Para obtener el Token deberá realizar una petición HTTP de tipo POST y agregar en el Body/Cuerpo de la solicitud, los atributos: Username, y el Password, proporcionado en las credenciales, enviados en formato JSON.

**URL Test:** `https://testnucsv.digifact.com/api/login/get_token`
**URL Prod:** `https://nucsv.digifact.com/api/login/get_token`

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `Username` | — | Sí | Concatenación separada por punto (.): SV + "." + <NIT del usuario> + "." + <Nombre de usuario> | `SV.06142308221025.USER_TEST` |
| `Password` | — | Sí | Password brindado en las credenciales TEST o productivas | `s142$%SAF` |

#### Body de ejemplo (JSON)

```json
{
  "Username": "SV.06142308221025.USER_TEST",
  "Password": "s142$%SAF"
}
```

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `Token` | string | Token de autenticación. Tendrá una vigencia de 30 días a partir del momento que se solicita. |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ El token generado tendrá una vigencia de 30 días a partir del momento que se solicita. Una vez se haya vencido el token el API mostrará como respuesta a cualquier petición el mensaje con el código de error 401 o Unauthorized. Y será necesario generar un nuevo token para poder realizar consultas autorizadas al API.
- ℹ️ El token se deberá agregar como encabezado en la petición, ingresando el nombre de Authorization y en su valor el Token vigente.
- ⚠️ Solicitar credenciales TEST a través del correo de soporte soporte@digifact.com.sv brindando su nombre, nombre de la empresa que representa y un número de contacto, colocando como Subject: "Solicitud de credenciales TEST".

---

### POST · CERTIFICATE DTE V2 (JSON) (CERTIFICATE DTE V2)

Esta operación de tipo POST permitirá certificar un Documento Tributario Electronico (DTE), el cual se espera dentro del Body de la petición. El cuerpo de la petición debe cumplir con el esquema JSON detallado en la Documentación Técnica del esquema NUC. La operación CERTIFICATE DTE V2, hará todas las validaciones que el Ministerio de Hacienda ha normado tanto en su documentación técnica, como en lo publicado en el régimen de factura electrónica.

**URL Test:** `https://testnucsv.digifact.com/api/v2/transform/nuc_json`
**URL Prod:** `https://nucsv.digifact.com/api/v2/transform/nuc_json`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Content-type` | Sí | application/json ó application/xml según sea el caso |
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TAXID` | — | Sí | NIT del usuario. | `06142308221025` |
| `FORMAT` | — | Sí | Posibles valores: XML, PDF, HTML o JSON. Se deben ingresar separados por pipelines "\|" por ejemplo PDF\|HTML\|XML\|JSON | — |
| `USERNAME` | — | Sí | Usuario asignado de Test o Productivo según sea el caso. | `UsuarioEjemplo1` |

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `BODY (raw)` | — | Sí | De acuerdo a la documentación proporcionada del NUC para El Salvador en formato XML o JSON según sea el caso | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `code` | number | contiene el código de la respuesta obtenida |
| `message` | string | contiene un mensaje informativo relacionado a la respuesta |
| `description` | string | descripción adicional del mensaje |
| `responseData1` | string | Texto codificado en base64 del xml NUC del DTE enviado. |
| `responseData2` | string | texto codificado en base64 que contiene la factura el formato HTML |
| `responseData3` | string | texto codificado en base64 que contiene la factura el formato PDF |
| `responseData4` | string | Texto codificado en base64 que contiene el JSON del documento certificado |
| `authNumber` | string | codigo de generación único de la factura electrónica |
| `url` | string | Contiene el enlace para consultar el DTE emitido en el Ministerio de Hacienda |
| `infoDetails` | array | atributo tipo arreglo de objetos que, cuando la respuesta es un error, muestra el listado de errores que contiene el NUC. |
| `suggestedFileName` | string | nombre sugerido para nombrar y guardar el contenido de la información que contiene el responseData1, responseData2, responseData3 o algún otro documento relacionado con la información de la factura emitida. |
| `suggestedFileName2` | string | otro nombre sugerido |
| `batch` | string | número de serie de la factura, atributo sin valor por el momento |
| `serial` | string | Contiene el número de control del documento |
| `issuedTimeStamp` | string | fecha de emisión de la factura electrónica |
| `taxID` | string | NIT del contribuyente emisor de la factura |
| `name` | string | nombre o razón social del emisor |
| `branchCode` | string | código de establecimiento o sucursal donde fue emitida la factura, atributo sin valor por el momento |
| `branchName` | string | nombre comercial, atributo sin valor por el momento |
| `receiverTaxID` | string | NIT o identificador del receptor/comprador, atributo sin valor por el momento |
| `receiverName` | string | nombre o razón social del receptor |
| `discounts` | string | indica el total de descuentos aplicados a la factura, atributo sin valor por el momento |
| `taxes` | string | indica el total de impuestos aplicados a la factura, atributo sin valor por el momento |
| `subtotal` | string | subtotal de la factura, atributo sin valor por el momento |
| `totalAmount` | string | monto total de la factura, atributo sin valor por el momento |
| `enrolledTimeStamp` | string | fecha y hora de certificación de la factura |
| `backprocessor` | string | servidor que realiza la consulta |
| `additionalInfo` | object | Atributo tipo objeto que contiene información adicional sobre la factura emitida. Puede contener como atributos los siguientes valores: selloRecepcion: contiene el sello de recibido otorgado por el Ministerio de Hacienda |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ⚠️ Para el uso de esta operación en productivo, deberá proporcionarnos su firma electrónica o certificado y contraseña asignada a dicha firma, la cual obtiene en la agencia virtual del Ministerio de Hacienda.
- ℹ️ Ejemplo de URL: https://testnucsv.digifact.com/api/v2/transform/nuc_json?TAXID=06142308221025&FORMAT=XML|HTML&USERNAME=USER_EXAMPLE
- ℹ️ Para los envíos XML o JSON, el resultado será el mismo y será entregado en formato JSON.

---

### POST · CERTIFICATE DTE V2 (XML) (CERTIFICATE DTE V2 XML)

Esta operación de tipo POST permitirá certificar un Documento Tributario Electronico (DTE) enviado en formato XML. El cuerpo de la petición debe cumplir con el esquema XML detallado en la Documentación Técnica del esquema NUC.

**URL Test:** `https://testnucsv.digifact.com/api/v2/transform/nuc`
**URL Prod:** `https://nucsv.digifact.com/api/v2/transform/nuc`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Content-type` | Sí | application/json ó application/xml según sea el caso |
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TAXID` | — | Sí | NIT del usuario. | `06142308221025` |
| `FORMAT` | — | Sí | Posibles valores: XML, PDF, HTML o JSON. Se deben ingresar separados por pipelines "\|" por ejemplo PDF\|HTML\|XML\|JSON | — |
| `USERNAME` | — | Sí | Usuario asignado de Test o Productivo según sea el caso. | `UsuarioEjemplo1` |

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `BODY (raw)` | — | Sí | De acuerdo a la documentación proporcionada del NUC para El Salvador en formato XML o JSON según sea el caso | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `code` | number | contiene el código de la respuesta obtenida |
| `message` | string | contiene un mensaje informativo relacionado a la respuesta |
| `description` | string | descripción adicional del mensaje |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ Para los envíos XML o JSON, el resultado será el mismo y será entregado en formato JSON (ver respuesta de CERTIFICATE DTE V2 JSON).
- ⚠️ Para el uso de esta operación en productivo, deberá proporcionarnos su firma electrónica o certificado y contraseña asignada a dicha firma, la cual obtiene en la agencia virtual del Ministerio de Hacienda.

---

### POST · CANCEL DTE (CANCEL DTE)

Esta operación de tipo POST permitirá realizar la anulación o invalidación de un documento electrónico emitido anteriormente.

**URL Test:** `https://testnucsv.digifact.com/api/CancelFeSV`
**URL Prod:** `https://nucsv.digifact.com/api/CancelFeSV`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |
| `Content-Type` | Sí | application/json |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `USERNAME` | — | Sí | Nombre de usuario que realiza la peticion | — |

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `nit` | — | Sí | Número de identificación tributaria (NIT) del contribuyente emisor de la factura electrónica | `06142308221025` |
| `tipoDte` | — | Sí | Tipo de documento a anular | `01` |
| `docGUID` | — | Sí | Código de generación del documento emitido que será anulado | `9B0FDD27-BABF-49DF-AA8C-06C618C1A1D1` |
| `fechaEmision` | — | Sí | Fecha de emisión del documento que se invalidará, en formato YYYY-MM-DD | `2023-04-29` |
| `newDocGUID` | — | No | En el caso de que se requiera indicar que un nuevo documento emitido será el que sustituya el documento a anular, se deberá agregar el código de generación del documento que reemplaza al invalidado. De lo contrario enviar como null este campo. | `A76FDD27-1ABC-0DDF-A28A-088618C8455F1` |
| `nombreEstablecimiento` | — | No | Nombre del establecimiento donde se emite la invalidación | — |
| `tipoAnulacion` | — | Sí | Tipo de invalidación a realizar, puede ser uno de los siguientes valores 1: Error en la información del documento tributario electrónico a invalidar. 2: Rescindir de la operación realizada 3: Otro Importante: Cuando este valor no sea 2 (Rescindir de la operacion realizada), es decir cuando sea 1 o 3, previo al envío de la anulación el contribuyente emisor deberá emitir un nuevo documento que sustituya la operación que se desea invalidar. Y deberá ingresar el código de generación del nuevo documento en el atributo newDocGUID. | — |
| `motivoAnulacion` | — | Sí | Deberá describir el motivo de la invalidación, indicando los campos donde se encuentra el error que ocasiona la anulación | — |
| `nombreResponsable` | — | Sí | Nombre del responsable de invalidar el DTE | — |
| `tipoDocumentoResponsable` | — | Sí | Tipo de documento de identificación del responsable 36: NIT 13: DUI 37: Otro 03: Pasaporte 02: Carnet de Residente | — |
| `numDocumentoResponsable` | — | Sí | Numero de documento de identificación del responsable | — |
| `numDocumentoSolicitante` | — | Sí | Nombre de la persona quien solicita invalidar el DTE | — |
| `numDocumentoSolicitante` | — | Sí | Tipo de documento de identificación del solicitante 36: NIT 13: DUI 37: Otro 03: Pasaporte 02: Carnet de Residente | — |
| `numDocumentoSolicitante` | — | Sí | Numero de documento de identificación del solicitante | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `Codigo` | number | Código de respuesta que indicará si la operación fue realizada exitosamente. 1: anulación del documento exitosa. 0: error al invalidar el documento. 400: error en contenido de la petición. 500: error interno, en caso de obtener este error comunicarse con el equipo de soporte. |
| `Anulado` | boolean | Atributo booleano que indicará si la anulación fue realizada correctamente |
| `Mensaje` | string | Contiene información relacionada a la respuesta |
| `RespuestaMH` | object | Objeto que contiene las siguientes propiedades: codigoGeneracion: corresponde al código de generación del evento de invalidación/anulación. selloRecibido: sello de recepción del Ministerio de Hacienda del evento de invalidación/anulación. |

#### Ejemplo de Respuesta

```http

```

---

### GET · GET DOCUMENT (GET DOCUMENT)

Operación de tipo GET, permitirán obtener un documento en diferentes formatos, por medio del Código de Generación.

**URL Test:** `https://testnucsv.digifact.com/api/GetDocument`
**URL Prod:** `https://nucsv.digifact.com/api/GetDocument`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `AUTHNUMBER` | — | Sí | Código de generación del documento electrónico a obtener | `4D19A6D5-05B6-4D96-9EA4-7D75620B48CE` |
| `TAXID` | — | Sí | NIT del emisor del documento a obtener. | `06142308221025` |
| `FORMAT` | — | Sí | Tipo de formato en que se desea recibir el documento codificado en base64, puede ser XML, HTML, PDF o JSON, separados por pipelines " \| ". Ej. Si se desea recibir el documento en formato HTML y PDF: HTML\|PDF | — |
| `USERNAME` | — | Sí | Nombre de usuario que realiza la petición | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `REQUEST_DATA` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "Respuesta", "Codigo", "Procesador", "Mensaje", "Descripcion", "Fecha" } |
| `RESPONSE` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "ResponseData1", "ResponseData2", "ResponseData3", "ResponseData4" }. Nota: ResponseData1 corresponde al documento en formato XML, ResponseData2 corresponde al documento en formato HTML, el ResponseData3 corresponde al documento en formato PDF y el ResponseData4 corresponde al JSON del DTE emitido. Si algún dato que se requiere en los parámetros no existe, la respuesta será un arreglo vacío. Ej. "RESPONSE": [] |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ Ejemplo de url: https://testnucsv.digifact.com/api/GetDocument?TAXID=06142308221025&AUTHNUMBER=4D19A6D5-05B6-4D96-9EA4-7D75620B48CE&USERNAME=TESTUSER&FORMAT=xml

---

### GET · GET DTE INFO (GET DTE INFO)

Permite obtener la información de un documento mediante su Código de Generación. Las operaciones de tipo GET permitirán obtener diferente información relacionada al contribuyente, como información fiscal, información sobre documentos emitidos, etc.

**URL Test:** `https://testnucsv.digifact.com/api/SHAREDINFO`
**URL Prod:** `https://nucsv.digifact.com/api/SHAREDINFO`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TRANSACTION` | — | Sí | Tipo de transacción | `SHARED_INFO_EFACE` |
| `NIT` | — | Sí | NIT del usuario. | `06142308221025` |
| `DATA1` | — | Sí | Tipo de procedimiento a ejecutar | `SHARED_GETDTEINFO` |
| `DATA2` | — | Sí | Para esta función es necesario agregar el NIT del emisor y el Código de generación del documento emitido, se debe agregar de la siguiente manera: | `STAXID|06142308221025|AUTHNUMBER|D45C98CB-0000-4552-8DBE-AB64DF70B000` |
| `USERNAME` | — | Sí | Nombre de usuario | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `REQUEST_DATA` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "Respuesta", "Codigo", "Procesador", "Mensaje", "Descripcion", "Fecha" } |
| `RESPONSE` | Array | Este atributo contendrá todas las respuestas que se obtengan. No tiene un formato en específico, el resultado depende de lo que devuelva la transacción. Nota: si se ingresa como DATA1 alguna operación que no exista y no devuelva un resultado, este arreglo se encontrará vacío. "[ ]" |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ Url de ejemplo: https://testnucsv.digifact.com/api/SHAREDINFO?TRANSACTION=SHARED_INFO_EFACE&NIT=06142308221025&USERNAME=TESTUSER&DATA1=SHARED_GETDTEINFO&DATA2=STAXID|06142308221025|AUTHNUMBER|AA5C98CB-FC78-0000-8DBE-AB64DF7AADAE

---

### GET · GET DTE INFO BY INTERNAL ID (GET DTE INFO BY INTERNAL ID)

Permite obtener la información de un documento mediante el código de referencia interna agregado en la adenda.

**URL Test:** `https://testnucsv.digifact.com/api/SHAREDINFO`
**URL Prod:** `https://nucsv.digifact.com/api/SHAREDINFO`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TRANSACTION` | — | Sí | Tipo de transacción | `SHARED_INFO_EFACE` |
| `NIT` | — | Sí | NIT del usuario. | `06142308221025` |
| `DATA1` | — | Sí | Tipo de procedimiento a ejecutar | `SHARED_GETDTEINFO_BY_INTERNALID` |
| `DATA2` | — | Sí | Para esta función es necesario agregar el NIT del emisor, el código de referencia interna y la fecha de emisión del documento | `STAXID|06142308221025|REFERENCIA_INTERNA|28SAKJKSJDA|ISSUEDDATE|2023-07-17` |
| `USERNAME` | — | Sí | Nombre de usuario | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `REQUEST_DATA` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "Respuesta", "Codigo", "Procesador", "Mensaje", "Descripcion", "Fecha" } |
| `RESPONSE` | Array | Este atributo contendrá todas las respuestas que se obtengan. No tiene un formato en específico, el resultado depende de lo que devuelva la transacción. |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ Url de ejemplo: https://testnucsv.digifact.com/api/SHAREDINFO?TRANSACTION=SHARED_INFO_EFACE&NIT=06142308221025&USERNAME=TESTUSER&DATA1=SHARED_GETDTEINFO_BY_INTERNALID&DATA2=STAXID|06142308221025|REFERENCIA_INTERNA|PRUEBA001|ISSUEDDATE|2023-07-17

---

### GET · GET INFO NIT (GET INFO NIT)

Permite obtener la información de un contribuyente utilizando su NIT.

**URL Test:** `https://testnucsv.digifact.com/api/SHAREDINFO`
**URL Prod:** `https://nucsv.digifact.com/api/SHAREDINFO`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TRANSACTION` | — | Sí | Tipo de transacción | `SHARED_INFO_EFACE` |
| `NIT` | — | Sí | NIT del usuario. | `06142308221025` |
| `DATA1` | — | Sí | Tipo de procedimiento a ejecutar | `SHARED_GETINFORTAXID` |
| `DATA2` | — | Sí | Para esta función es necesario agregar el NIT de quien se desea obtener la información, debe ser de la siguiente manera: | `RTAXID|06142308221025` |
| `USERNAME` | — | Sí | Nombre de usuario | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `REQUEST_DATA` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "Respuesta", "Codigo", "Procesador", "Mensaje", "Descripcion", "Fecha" } |
| `RESPONSE` | Array | Este atributo contendrá todas las respuestas que se obtengan. No tiene un formato en específico, el resultado depende de lo que devuelva la transacción. |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ Url de ejemplo: https://testnucsv.digifact.com/api/SHAREDINFO?TRANSACTION=SHARED_INFO_EFACE&NIT=06142308221025&USERNAME=TESTUSER&DATA1=SHARED_GETINFORTAXID&DATA2=RTAXID|06142308221025

---

### GET · REPORT DAILY (REPORT DAILY)

Permite obtener un resumen de los documentos emitidos en el día. Disponible únicamente en ambiente productivo.

**URL Test:** `https://testnucsv.digifact.com/api/SHAREDINFO`
**URL Prod:** `https://nucsv.digifact.com/api/SHAREDINFO`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TRANSACTION` | — | Sí | Tipo de transacción | `SHARED_INFO_EFACE` |
| `NIT` | — | Sí | NIT del usuario. | `06142308221025` |
| `DATA1` | — | Sí | Tipo de procedimiento a ejecutar | `SHARED_GETREPORTDAILYFELALL` |
| `DATA2` | — | Sí | Para esta función es necesario agregar la fecha en formato AAAA-MM-DD, el código de establecimiento, al código de generación (si no se coloca un valor devuelve todos los documentos del día) y el tipo de documento a consultar en el resumen. | `FECHA|2024-12-31|ESTABLECIMIENTO|M001|AUTHNUMBER||TIPO|01` |
| `USERNAME` | — | Sí | Nombre de usuario | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `REQUEST_DATA` | Array | Este atributo contendrá en la primera y única posición de su arreglo los siguientes atributos { "Respuesta", "Codigo", "Procesador", "Mensaje", "Descripcion", "Fecha" } |
| `RESPONSE` | Array | Este atributo contendrá todas las respuestas que se obtengan. No tiene un formato en específico, el resultado depende de lo que devuelva la transacción. |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ⚠️ Disponible únicamente en ambiente productivo.
- ℹ️ Url de ejemplo: https://testnucsv.digifact.com/api/SHAREDINFO?TRANSACTION=SHARED_INFO_EFACE&NIT=06142308221025&USERNAME=TESTUSER&DATA1=SHARED_GETREPORTDAILYFELALL&DATA2=FECHA|2024-12-31|ESTABLECIMIENTO|M001|AUTHNUMBER||TIPO|01

---

### POST · GET PREVIEW (JSON) (GET PREVIEW)

Esta operación de tipo POST permitirá obtener el HTML de vista previa de un documento JSON o XML NUC previo a ser enviado para certificar.

**URL Test:** `https://testnucsv.digifact.com/api/getJsonPreview`
**URL Prod:** `https://nucsv.digifact.com/api/getJsonPreview`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Content-type` | Sí | application/json ó application/xml según sea el caso |
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TAXID` | — | Sí | NIT del usuario. | `06142308221025` |
| `USERNAME` | — | Sí | Usuario asignado de Test o Productivo según sea el caso. | `UsuarioEjemplo1` |

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `BODY (raw)` | — | Sí | De acuerdo a la documentación proporcionada del NUC para El Salvador en formato XML o JSON según sea el caso. Se debe enviar el contenido del NUC de un documento que esté válido según su esquema. No realiza validaciones de cálculos de totales, información acerca del emisor, receptor, etc. Únicamente genera el HTML de la representación gráfica del archivo que se envía. | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `codigo` | number | Código de respuesta que indicará si la operación fue realizada exitosamente. 1: operación realizada correctamente. 0: error por esquema u otro. 400: error en contenido de la petición. 500: error interno del servidor, en caso de recibir una respuesta de este tipo, comunicarse con el equipo de soporte. |
| `mensaje` | string | Contiene un breve mensaje de la respuesta según el código que se obtenga |
| `data1` | string | Contiene el texto del HTML codificado en base64. |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ No realiza validaciones de cálculos de totales, información acerca del emisor, receptor, etc. Únicamente genera el HTML de la representación gráfica del archivo que se envía.

---

### POST · GET PREVIEW (XML) (GET PREVIEW XML)

Esta operación de tipo POST permitirá obtener el HTML de vista previa de un documento XML NUC previo a ser enviado para certificar.

**URL Test:** `https://testnucsv.digifact.com/api/getXmlPreview`
**URL Prod:** `https://nucsv.digifact.com/api/getXmlPreview`

#### Headers

| Nombre | Requerido | Descripción |
|---|---|---|
| `Content-type` | Sí | application/json ó application/xml según sea el caso |
| `Authorization` | Sí | Token de autorización generado |

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `TAXID` | — | Sí | NIT del usuario. | `06142308221025` |
| `USERNAME` | — | Sí | Usuario asignado de Test o Productivo según sea el caso. | `UsuarioEjemplo1` |

#### Body

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `BODY (raw)` | — | Sí | De acuerdo a la documentación proporcionada del NUC para El Salvador en formato XML o JSON según sea el caso. Se debe enviar el contenido del NUC de un documento que esté válido según su esquema. | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `codigo` | number | Código de respuesta que indicará si la operación fue realizada exitosamente. 1: operación realizada correctamente. 0: error por esquema u otro. 400: error en contenido de la petición. 500: error interno del servidor, en caso de recibir una respuesta de este tipo, comunicarse con el equipo de soporte. |
| `mensaje` | string | Contiene un breve mensaje de la respuesta según el código que se obtenga |
| `data1` | string | Contiene el texto del HTML codificado en base64. |

#### Ejemplo de Respuesta

```http

```

---

### GET · GENERACIÓN DE QR (QR)

Esta operación de tipo GET permite obtener la imagen del código QR para descargar un documento emitido.

**URL Test:** ``
**URL Prod:** `https://digifact.com/QRShare/api/QR`

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `COUNTRYCODE` | — | Sí | SV | `SV` |
| `UUID` | — | Sí | Código de generación del documento | `38CB75D5-E113-49DD-84CE-30047685CA9E` |
| `STAXID` | — | Sí | NIT del emisor del documento | — |
| `FORMAT` | — | Sí | Formato para la descarga del documento, valores posibles: PDF o JSON (no ambos) | — |
| `SIZE` | — | Sí | Tamaño en pixeles de la imagen a obtener, el formato a seguir es mxn donde m y n son números enteros. | `300x100` |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ URL de ejemplo: https://digifact.com/QRShare/api/QR?COUNTRYCODE=SV&UUID=6F0FB355-0413-4361-834D-20407DCE34FC&STAXID=06142308221025&FORMAT=PDF&SIZE=300x300
- ⚠️ El PDF de API solo documenta URL de ambiente Productivo para esta operación.

---

### GET · GENERACIÓN DE URL DE DESCARGA (URL DESCARGA)

Esta operación de tipo GET permite obtener la URL para descargar un documento emitido.

**URL Test:** ``
**URL Prod:** `https://digifact.com/SV/GETURL/api/URLINVOICE`

#### Query Params

| Nombre | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
| `COUNTRYCODE` | — | Sí | SV | `SV` |
| `UUID` | — | Sí | Código de generación del documento | `38CB75D5-E113-49DD-84CE-30047685CA9E` |
| `STAXID` | — | Sí | NIT del emisor del documento | — |
| `FORMAT` | — | Sí | Formato para la descarga del documento, valores posibles: PDF o JSON (no ambos) | — |

#### Respuesta

| Campo | Tipo | Descripción |
|---|---|---|
| `Code` | number | Código de respuesta que indicará si la operación fue realizada exitosamente |
| `Message` | string | Contiene un breve mensaje de la respuesta según el código que se obtenga |
| `Urlpath` | string | Contiene la URL de descarga del documento |

#### Ejemplo de Respuesta

```http

```

#### Notas

- ℹ️ URL de ejemplo: https://digifact.com/SV/GETURL/api/URLINVOICE?COUNTRYCODE=SV&UUID=77573E04-7673-4DEB-8995-C23AAE0F4959&STAXID=06142308221025&FORMAT=PDF
- ⚠️ El PDF de API solo documenta URL de ambiente Productivo para esta operación.

---
