🔑 Documentação de Senha do Cliente
📋 Visão Geral
A seção de Senha agrupa as operações relacionadas à criação, alteração e recuperação de senha do cliente na loja.
Há dois fluxos distintos: a alteração autenticada, em que o cliente já está logado e deseja trocar a senha conhecendo a atual; e a recuperação de senha, destinada ao cliente que perdeu o acesso e precisa redefinir a senha por meio de um código enviado ao e-mail cadastrado.
🔄 Fluxos Disponíveis
Alteração autenticada
O cliente autenticado informa a senha atual, a nova senha e a confirmação via PUT /customer/password. A operação exige token JWT válido e valida que a senha atual confere antes de persistir a alteração.
Recuperação de senha
O fluxo é composto por duas etapas:
POST /customer/password-recovery — solicita o envio de um código de recuperação para o e-mail cadastrado do cliente.
PUT /customer/password-recovery — utiliza o código recebido para redefinir a senha sem necessidade de autenticação prévia.
O código de recuperação possui validade limitada. Se expirar antes do uso, é necessário solicitar um novo código repetindo a primeira etapa.
📌 Notas e Considerações
- A alteração autenticada (
PUT /customer/password) exige o headerAuthorization: Bearer {token}— o cliente deve estar logado. - Os endpoints de recuperação (
POSTePUT /customer/password-recovery) são públicos — não exigem autenticação. - A senha deve ter entre 8 e 64 caracteres. Valores fora desse intervalo são rejeitados.
- O campo
confirmPassworddeve ser idêntico ao campopassword— qualquer divergência retorna erro.
🔑 Atualizar Senha do Cliente
/customer/password
Atualiza a senha do cliente autenticado
📋 Descrição
Endpoint utilizado para alterar a senha do cliente autenticado.
Para realizar a alteração, o cliente deve informar a senha atual, a nova senha e a confirmação da nova senha. A senha atual é validada antes de qualquer alteração ser persistida.
A senha deve ter entre 8 e 64 caracteres.
🔐 Permissão
CustomerAuth— autenticação do cliente via token JWT
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do cliente |
Content-Type | application/json | Tipo de conteúdo |
📦 Parâmetros do Corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
currentPassword | string | ✅ Sim | Senha atual do cliente |
password | string | ✅ Sim | Nova senha (8–64 caracteres) |
confirmPassword | string | ✅ Sim | Confirmação da nova senha — deve ser idêntica a password |
💡 Exemplo de Requisição
1curl --request PUT \2 --url '{{MAIN_URL}}/customer/password' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "currentPassword": "senhaAtual123",7 "password": "novaSenha456",8 "confirmPassword": "novaSenha456"9 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código do Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_INVALID_CURRENT_PASSWORD | 400 | Senha atual inválida |
UAPPI_STORE_DIFFERENT_PASSWORD | 400 | Senhas não coincidem — password e confirmPassword são diferentes |
UAPPI_STORE_INVALID_PASSWORD_LENGTH | 400 | Comprimento de senha inválido — deve ter entre 8 e 64 caracteres |
UAPPI_STORE_PASSWORD_NOT_UPDATED | 400 | Senha não foi atualizada |
UAPPI_STORE_CUSTOMER_NOT_FOUND | 404 | Cliente não encontrado |
📧 Solicitar Recuperação de Senha
/customer/password-recovery
Envia código de recuperação de senha por e-mail
📋 Descrição
Endpoint utilizado para solicitar o envio de um código de recuperação de senha ao e-mail cadastrado do cliente.
O código gerado deve ser utilizado no endpoint PUT /customer/password-recovery para concluir a redefinição da senha. O código possui validade limitada — se expirar antes do uso, é necessário acionar este endpoint novamente para gerar um novo.
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
📦 Parâmetros do Corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email | string | ✅ Sim | E-mail cadastrado do cliente |
💡 Exemplo de Requisição
1curl --request POST \2 --url '{{MAIN_URL}}/customer/password-recovery' \3 --header 'Content-Type: application/json' \4 --data '{5 "email": "cliente@exemplo.com"6 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código do Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_CUSTOMER_NOT_FOUND | 404 | Cliente não encontrado com o e-mail informado |
🔓 Alterar Senha por Código de Recuperação
/customer/password-recovery
Altera a senha do cliente utilizando código de recuperação
📋 Descrição
Endpoint utilizado para redefinir a senha do cliente a partir de um código de recuperação recebido por e-mail.
O código é gerado pelo endpoint POST /customer/password-recovery e enviado para o e-mail cadastrado do cliente. Ele possui validade limitada — se expirar antes do uso, é necessário solicitar um novo código.
A senha deve ter entre 8 e 64 caracteres e o campo confirmPassword deve ser idêntico ao campo password.
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
📦 Parâmetros do Corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
code | string | ✅ Sim | Código de recuperação recebido por e-mail (6–32 caracteres) |
password | string | ✅ Sim | Nova senha (8–64 caracteres) |
confirmPassword | string | ✅ Sim | Confirmação da nova senha — deve ser idêntica a password |
💡 Exemplo de Requisição
1curl --request PUT \2 --url '{{MAIN_URL}}/customer/password-recovery' \3 --header 'Content-Type: application/json' \4 --data '{5 "code": "abc123456787654321",6 "password": "novaSenha456",7 "confirmPassword": "novaSenha456"8 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}⚠️ Possíveis Erros
> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.
| Código do Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_DIFFERENT_PASSWORD | 400 | Senhas não coincidem — password e confirmPassword são diferentes |
UAPPI_STORE_INVALID_PASSWORD_LENGTH | 400 | Comprimento de senha inválido — deve ter entre 8 e 64 caracteres |
UAPPI_STORE_PASSWORD_NOT_UPDATED | 400 | Senha não foi atualizada |
UAPPI_STORE_CUSTOMER_NOT_FOUND | 404 | Cliente não encontrado |