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

# Recuperación de contraseña

El servicio permite a los usuarios asignar una nueva contraseña del portal de clientes a partir del token de recuperación recibido por correo electrónico, en línea en formato JSON.

Se utiliza tanto para recuperar la contraseña como para crear la contraseña de los usuarios nuevos. Al asignar la nueva contraseña se reinician los intentos fallidos de inicio de sesión del usuario y el token de recuperación deja de ser válido.

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

## Prerequisitos

Antes de asignar la nueva contraseña, se debe contar con los siguientes datos:

* Identificador único de la empresa (UUID) asignado por SEDI-ERP
* Token de recuperación recibido en el enlace del correo enviado por el servicio de [correo de recuperación](https://tech.sedierp.com/enviar-correo-recuperacion.md)

## Asignar nueva contraseña

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

**ClaveNueva** `string` *required*

Nueva contraseña del usuario (máx. 150 caracteres).

**TokenRecuperacion** `GUID` *required*

Token de recuperación recibido en el enlace del correo de recuperación de contraseña.

**UUID** `GUID` *required*

Identificador único de la empresa.

```bash theme={null}
curl --location 'https://portal.sedierp.com/API/api/Accesos/RecuperarContrasena' \
--header 'Content-Type: application/json' \
--data '{
	"ClaveNueva": "<NUEVA_CONTRASENA>",
	"TokenRecuperacion": "5d0f7a3e-91c2-4b8d-a6e4-0c37f2b19d85",
	"UUID": "2be0e514-4eb7-4677-b4b0-4a08936bfbee"
}'
```

### Validaciones

El servicio realiza las siguientes validaciones antes de asignar la contraseña. Si alguna no se cumple, no se modifica la contraseña y se retorna el error correspondiente.

* `ClaveNueva`, `TokenRecuperacion` y `UUID` son obligatorios.
* El token de recuperación debe corresponder a un usuario de la empresa y no debe haber sido utilizado ni reemplazado por una solicitud de recuperación más reciente.

### Respuesta

**TipoSalida** `string`

Resultado de la operación: "OK".

**Codigo** `int`

Código de la operación. Retorna 200 cuando la contraseña se asigna correctamente.

**Descripcion** `string`

"Transacción Exitosa" cuando la contraseña se asigna correctamente.

Cuando alguna validación no se cumple, el servicio responde HTTP 400 con el campo `Message`, que contiene el detalle del error precedido de "Error:". Si falta el campo `ClaveNueva`, responde HTTP 400 con el detalle de la validación del modelo.

```json Request theme={null}
{
  "ClaveNueva": "<NUEVA_CONTRASENA>",
  "TokenRecuperacion": "5d0f7a3e-91c2-4b8d-a6e4-0c37f2b19d85",
  "UUID": "2be0e514-4eb7-4677-b4b0-4a08936bfbee"
}
```

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

```json Error theme={null}
{
    "Message": "Error: El token de recuperación ya no se encuentra disponible por que se solicito otro."
}
```

```json Error de modelo theme={null}
{
    "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "errors": {
        "ClaveNueva": [
            "The ClaveNueva field is required."
        ]
    },
    "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00"
}
```


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