> ## Documentation Index
> Fetch the complete documentation index at: https://tech.sedierp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Carga de archivos

El servicio permite cargar un archivo al servidor del portal de clientes. Como resultado retorna la ruta con la que quedó guardado el archivo, que se usa para asociarlo como adjunto en otros servicios, como el de [registro de seguimientos](https://tech.sedierp.com/extranet/seguimientos-insertar).

El archivo se guarda con un nombre único formado por un GUID seguido del nombre original del archivo (sin el carácter `%`).

El método de solicitud es POST y no requiere autenticación.

## Prerequisitos

Antes de cargar el archivo, se debe contar con los siguientes datos:

* Archivo a cargar

## Cargar archivo

**Request URL:** [https://portal.sedierp.com/API/api/Tools/CargarArchivosUpload](https://portal.sedierp.com/API/api/Tools/CargarArchivosUpload)\
**Tipo:** POST \
**Content Type:** multipart/form-data

**file** `file` *required*

Archivo a cargar. El servicio toma los archivos sin importar el nombre del campo del formulario. El tamaño máximo es el límite por defecto del servidor, aprox. 28 MB (30.000.000 bytes) por solicitud.

**directoryPath** `string`

Carpeta de destino del archivo, relativa a la carpeta de archivos del servidor. Por defecto (`ArchivosCargados/Documentos`).

```bash theme={null}
curl --location 'https://portal.sedierp.com/API/api/Tools/CargarArchivosUpload' \
--form 'file=@"/home/usuario/comprobante-pago.pdf"'
```

### Validaciones

* La solicitud debe ser de tipo `multipart/form-data` y contener al menos un archivo. Si no contiene archivos, el servicio responde HTTP 400 con el texto "Error al guardar el archivo.".

> [!NOTE]
>
> Se debe enviar un archivo por solicitud. Si se envían varios archivos, todos se guardan, pero la respuesta solo retorna los datos del último. Los archivos vacíos (0 bytes) no se guardan, aunque la respuesta indique que la carga fue exitosa.

### Respuesta

El servicio retorna un objeto con los datos del archivo cargado (sin el envoltorio `total`/`rows`/`result` de los demás servicios).

**isSaved** `bool`

Indica si el archivo se cargó correctamente.

**Message** `string`

"Transacción exitosa" cuando la carga es correcta.

**Ruta** `string`

Nombre con el que quedó guardado el archivo en el servidor (GUID seguido del nombre original). Es el valor que se envía en el campo `Ruta` de los adjuntos de otros servicios.

**NombreArchivo** `string`

Nombre original del archivo, sin el carácter `%`.

**Extension** `string`

Extensión del archivo, incluido el punto (ej. ".pdf").

Cuando ocurre un error, el servicio responde HTTP 400 con el detalle del error en texto plano.

```bash Request theme={null}
curl --location 'https://portal.sedierp.com/API/api/Tools/CargarArchivosUpload' \
--form 'file=@"/home/usuario/comprobante-pago.pdf"'
```

```json Exitosa theme={null}
{
    "isSaved": true,
    "Message": "Transacción exitosa",
    "Ruta": "3f9a2c71-8d4e-4b06-a5e2-7c1d90b4f638comprobante-pago.pdf",
    "NombreArchivo": "comprobante-pago.pdf",
    "Extension": ".pdf"
}
```

```text Error theme={null}
Error al guardar el archivo.
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.