> ## 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.

# Solicitud de FEB

El servicio permite a los usuarios solicitar la entrega de una o varias bodegas de un contrato de bodegaje y generar el **FEB** (formato de entrega de bodegas), en línea en formato JSON.

Con la fecha de liquidación y las bodegas seleccionadas, la plataforma genera el FEB con la liquidación del contrato (incluido el seguro) y lo envía al correo electrónico del cliente.

El método de solicitud es POST y se requiere un encabezado "Authorization" para la autenticación, que debe contener el **AccessToken** (JWT) obtenido previamente del servicio de [inicio de sesión](https://tech.sedierp.com/extranet/login).

## Prerequisitos

Antes de solicitar la entrega de bodegas, se debe contar con los siguientes datos:

* AccessToken solicitado mediante el servicio de [inicio de sesión](https://tech.sedierp.com/extranet/login)
* Contrato, bodegas y persona autorizada que recibirá la entrega, obtenidos del servicio de [mis bodegas](https://tech.sedierp.com/extranet/mis-bodegas-consultar)
* Causal de devolución, obtenida del servicio de [causales de devolución de bodegas](https://tech.sedierp.com/extranet/causales-devoluciones-bodegas-consultar)

## Solicitar entrega de bodegas

**Request URL:** https\://\{\{Ambiente}}/API/api/Storage/SolicitarFEB\
**Tipo:** POST \
**Content Type:** application/json

**ContratoID** `int` *required*

Código único del contrato de bodegaje (ID).

**FechaLiquidacion** `date` *required*

Fecha de entrega de las bodegas, hasta la cual se liquida el contrato. Se recomienda el formato `yyyy-MM-dd`; también se aceptan `dd/MM/yyyy`, `dd-MM-yyyy`, `yyyy/MM/dd` y `yyyy-MM-ddTHH:mm:ss`.

**CausalDevolucionBodegaID** `int` *required*

Código de la causal de devolución de las bodegas. Se obtiene del servicio de [causales de devolución de bodegas](https://tech.sedierp.com/extranet/causales-devoluciones-bodegas-consultar).

**ContratoPersonaAutorizadaID** `int` *required*

Código de la persona autorizada del contrato que realizará la entrega (`ContratoPersonaAutorizadaID` de `PersonasAutorizadas` en el servicio de [mis bodegas](https://tech.sedierp.com/extranet/mis-bodegas-consultar)).

**Observaciones** `string` *required*

Observaciones de la solicitud de entrega (máx. 500 caracteres).

**Bodegas** `array` *required*

Bodegas del contrato que se van a entregar. Debe tener al menos una bodega.

**propiedades**

**BodegaID** `int` *required*

Código único de la bodega (`BodegaID` de `Bodegas` en el servicio de [mis bodegas](https://tech.sedierp.com/extranet/mis-bodegas-consultar)).

**ContratoBodegaID** `int` *required*

Código de la relación entre el contrato y la bodega (`ContratoBodegaID` de `Bodegas` en el servicio de [mis bodegas](https://tech.sedierp.com/extranet/mis-bodegas-consultar)).

```bash theme={null}
curl --location 'https://portal.sedierp.com/API/api/Storage/SolicitarFEB' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data '{
	"ContratoID": 32549,
	"FechaLiquidacion": "2026-11-30",
	"CausalDevolucionBodegaID": 3,
	"ContratoPersonaAutorizadaID": 100812,
	"Observaciones": "Entrego la bodega por traslado de ciudad",
	"Bodegas": [
		{
			"BodegaID": 7618,
			"ContratoBodegaID": 35100
		}
	]
}'
```

### Validaciones

El servicio realiza las siguientes validaciones antes de registrar la solicitud. Si alguna no se cumple, no se genera el FEB y se retorna el error correspondiente.

* `ContratoID`, `FechaLiquidacion`, `CausalDevolucionBodegaID`, `ContratoPersonaAutorizadaID` y `Observaciones` son obligatorios.
* `Observaciones` no puede superar 500 caracteres.
* Se debe enviar al menos una bodega, y cada bodega debe tener `BodegaID` y `ContratoBodegaID`.
* La liquidación y la generación del FEB se procesan en la plataforma SEDI-ERP de la empresa; si allí se presenta un error, se retorna su detalle.

> [!NOTE]
>
> `ContratoPersonaAutorizadaID` y `ContratoBodegaID` son obligatorios aunque la validación inicial del modelo no los exija: si se omiten, el servicio responde HTTP 400 con "Error: La persona autorizada es requerida" o "Error: El atributo BodegaID y ContratoBodegaID son requeridos".

### Respuesta

Si el AccessToken no se envía, es inválido o expiró, el servicio responde HTTP 401 (`{"Code": 401, "Message": "El TokenAcceso no es valido"}`). Si falta un campo obligatorio del modelo o tiene un formato inválido, responde HTTP 400 con el detalle de la validación.

Cuando el FEB se genera correctamente, `rows` contiene un registro con los siguientes campos:

**TipoSalida** `string`

Resultado de la operación: "OK".

**Codigo** `int`

Código de la salida. Retorna 0 cuando la operación es exitosa.

**Descripcion** `string`

"El FEB fue generado exitosamente y enviado a tu correo electrónico."

Cuando ocurre un error, el servicio responde HTTP 400 con el campo `Message`, que contiene el detalle del error precedido de "Error:".

```json Request theme={null}
{
  "ContratoID": 32549,
  "FechaLiquidacion": "2026-11-30",
  "CausalDevolucionBodegaID": 3,
  "ContratoPersonaAutorizadaID": 100812,
  "Observaciones": "Entrego la bodega por traslado de ciudad",
  "Bodegas": [
    {
      "BodegaID": 7618,
      "ContratoBodegaID": 35100
    }
  ]
}
```

```json Exitosa theme={null}
{
    "total": 1,
    "rows": [
        {
            "TipoSalida": "OK",
            "Codigo": 0,
            "Descripcion": "El FEB fue generado exitosamente y enviado a tu correo electrónico."
        }
    ],
    "result": 1
}
```

```json Error theme={null}
{
    "Message": "Error: La persona autorizada es requerida"
}
```


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