Redefinir Senha
Redefinição de senha com código OTP
Descrição
Redefine a senha do usuário após validação do código OTP com as seguintes funcionalidades:
- Valida formato do e-mail
- Verifica se o código OTP é válido e não expirado
- Valida a nova senha (mínimo 6 caracteres, deve conter pelo menos uma letra maiúscula, uma letra minúscula e um número)
- Confirma que senha e confirmação são iguais
- Atualiza a senha do usuário com hash seguro
- Invalida o código OTP após uso
- Registra a ação no log de auditoria
Nota: Após redefinir a senha, o código OTP é invalidado e não pode ser reutilizado.
Importante: Se receber mensagem de código inválido, verifique se digitou corretamente o código e o email. O código expira em 15 minutos.
Detalhes do Endpoint
VERBO
URL BASE
ENDPOINT
Cabeçalhos
| Parâmetro | Valor |
|---|---|
| Content-Type | application/json |
Campos Esperados
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | E-mail do usuário cadastrado no sistema. | |
| otp | string | Sim | Código OTP de 6 dígitos recebido por email. |
| password | string | Sim | Nova senha (mínimo 6 caracteres, deve conter pelo menos uma letra maiúscula, uma letra minúscula e um número). |
| password_confirmation | string | Sim | Confirmação da nova senha (deve ser igual ao campo password). |
Corpo da Requisição
{
"email": "usuario@exemplo.com",
"otp": "123456",
"password": "NovaSenha123",
"password_confirmation": "NovaSenha123"
}
Observação: O corpo da requisição deve ser enviado como JSON no formato raw. O campo password_confirmation deve ter exatamente o mesmo valor do campo password.
Respostas
Sucesso - 200
{
"success": true,
"message": "Senha redefinida com sucesso"
}
Condição: Código OTP válido e senha atualizada com sucesso
Erro - 400 (Código inválido ou expirado)
{
"success": false,
"message": "Código inválido ou expirado"
}
Condição: Código OTP incorreto, expirado (mais de 15 minutos) ou já utilizado
Erro - 422 (Dados de validação inválidos)
{
"success": false,
"message": "Dados de validação inválidos",
"errors": {
"email": [
"O email é obrigatório."
],
"otp": [
"O código OTP deve ter exatamente 6 dígitos."
],
"password": [
"A senha deve ter no mínimo 6 caracteres.",
"A senha deve conter pelo menos uma letra maiúscula, uma letra minúscula e um número.",
"A confirmação de senha não corresponde."
]
}
}
Condição: Email, OTP ou senha não informados, com formato inválido, senha não atende aos critérios de complexidade ou senha e confirmação não correspondem
Códigos de Resposta
| Código | Descrição |
|---|---|
| 200 | Senha redefinida com sucesso |
| 400 | Código inválido ou expirado |
| 422 | Dados de validação inválidos |