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

# Registro autorizado

El servicio permite a los usuarios solicitar el registro de una persona autorizada para ingresar a las bodegas de un contrato de bodegaje, en línea en formato JSON.

El resultado depende de la configuración de bodegaje de la empresa:

* **Con validación de autorizados (por defecto):** la solicitud queda pendiente de aprobación por parte de la empresa y se envía una notificación por correo al email configurado para las solicitudes de autorizados. Mientras está pendiente, la solicitud aparece en `AutorizadosSolicitados` del servicio de [mis bodegas](https://tech.sedierp.com/consulta-de-bodegas.md) y se puede eliminar con el servicio de [eliminar solicitud de persona autorizada](https://tech.sedierp.com/eliminacion-autorizado.md).
* **Sin validación de autorizados:** la persona queda autorizada de inmediato y aparece en `PersonasAutorizadas` del servicio de [mis bodegas](https://tech.sedierp.com/consulta-de-bodegas.md). Si la persona no existe como tercero en la empresa, se crea; si ya existe, se actualizan sus nombres, dirección, teléfonos y email con los datos enviados.

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/inicio-de-sesion.md).

## Prerequisitos

Antes de registrar una persona autorizada, se debe contar con los siguientes datos:

* AccessToken solicitado mediante el servicio de [inicio de sesión](https://tech.sedierp.com/inicio-de-sesion.md)
* Código único del contrato de bodegaje (`ContratoID`) obtenido del servicio de [mis bodegas](https://tech.sedierp.com/consulta-de-bodegas.md)
* Código del tipo de documento (`TipoDocumentoID`) obtenido de `TiposDocumentos` en el servicio de [mis bodegas](https://tech.sedierp.com/consulta-de-bodegas.md)

## Registrar persona autorizada

**Request URL:** [https://portal.sedierp.com/API/api/Storage/PersonasAutorizadasInsertar](https://portal.sedierp.com/API/api/Storage/PersonasAutorizadasInsertar)\
**Tipo:** POST \
**Content Type:** application/json

**ContratoID** `int` *required*

Código único del contrato de bodegaje (ID) al que se autoriza la persona.

**TipoDocumentoID** `int` *required*

Código del tipo de documento de identificación de la persona (ID).

**Documento** `string` *required*

Número de documento de identificación de la persona (máx. 20 caracteres). Se eliminan los espacios al inicio y al final.

**Nombres** `string` *required*

Primer nombre de la persona (máx. 250 caracteres).

**Nombres2** `string`

Segundo nombre de la persona (máx. 250 caracteres).

**Apellidos** `string`

Primer apellido de la persona (máx. 250 caracteres).

**Apellidos2** `string`

Segundo apellido de la persona (máx. 250 caracteres).

**Celular** `string`

Número de celular (máx. 20 caracteres).

**Telefono** `string`

Número de teléfono (máx. 40 caracteres).

**Direccion** `string`

Dirección de la persona (máx. 200 caracteres).

**Email** `string`

Correo electrónico de la persona (máx. 400 caracteres).

**Temporal** `bool`

Indica si la autorización es temporal. Cuando es `true`, se debe enviar `FechaExpiracion`.

**FechaExpiracion** `date`

Fecha de vencimiento de la autorización temporal. Debe ser como mínimo el día siguiente a la fecha actual. Acepta los formatos `yyyy-MM-dd`, `yyyy-MM-ddTHH:mm:ss` y `dd/MM/yyyy`.

```bash theme={null}
curl --location 'https://portal.sedierp.com/API/api/Storage/PersonasAutorizadasInsertar' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--data '{
	"ContratoID": 32549,
	"TipoDocumentoID": 13,
	"Documento": "52987654",
	"Nombres": "ANA",
	"Nombres2": "LUCIA",
	"Apellidos": "ROJAS",
	"Apellidos2": "DIAZ",
	"Celular": "3209876543",
	"Telefono": null,
	"Direccion": "KR 15 # 80 - 21",
	"Email": "ana.rojas@correo.com",
	"Temporal": true,
	"FechaExpiracion": "2026-12-31"
}'
```

### Validaciones

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

* `ContratoID`, `TipoDocumentoID`, `Documento` y `Nombres` son obligatorios.
* El documento no puede ser el del arrendatario (titular) del contrato.
* No debe existir una persona autorizada con el mismo número de documento en el contrato. Si la persona fue retirada, se debe volver a autorizar con el servicio de [autorizar persona autorizada](https://tech.sedierp.com/autorizacion.md).
* No debe existir una solicitud previa con el mismo número de documento para el contrato, sin importar su estado (pendiente, aprobada o rechazada). Una solicitud pendiente o rechazada se puede eliminar con el servicio de [eliminar solicitud de persona autorizada](https://tech.sedierp.com/eliminacion-autorizado.md) para registrarla de nuevo.
* Si `Temporal` es `true`, `FechaExpiracion` es obligatoria y debe ser como mínimo el día siguiente a la fecha actual.
* Con validación de autorizados, la empresa debe tener configurado el email de solicitudes de autorizados.

### 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"}`). Cada registro de `rows` contiene los siguientes campos:

**TipoSalida** `string`

Resultado de la operación: "OK".

**Codigo** `int`

Código único de la solicitud de persona autorizada registrada (`AutorizadoExternoID`).

**Descripcion** `string`

"Transacción Exitosa".

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

```json Request theme={null}
{
  "ContratoID": 32549,
  "TipoDocumentoID": 13,
  "Documento": "52987654",
  "Nombres": "ANA",
  "Nombres2": "LUCIA",
  "Apellidos": "ROJAS",
  "Apellidos2": "DIAZ",
  "Celular": "3209876543",
  "Telefono": null,
  "Direccion": "KR 15 # 80 - 21",
  "Email": "ana.rojas@correo.com",
  "Temporal": true,
  "FechaExpiracion": "2026-12-31"
}
```

```json Exitosa theme={null}
{
    "total": 1,
    "rows": [
        {
            "TipoSalida": "OK",
            "Codigo": 4127,
            "Descripcion": "Transacción Exitosa"
        }
    ],
    "result": 1
}
```

```json Existente theme={null}
{
    "Message": "Error: Ya existe un autorizado con ese numero de documento."
}
```

```json Error theme={null}
{
    "Message": "Error: No hay necesidad de autorizar al arrendatario"
}
```


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