Jornada de Alteração de PIN
Diagrama do Fluxo
Representação documental do fluxo de alteração de PIN com dupla validação (e-mail + SMS), conforme os passos descritos nesta jornada.
Esta página detalha o processo completo para alterar seu PIN de acesso usando a API de Segurança da Finway, garantindo que você possa fazer essa mudança de forma segura e eficiente.
Headers Obrigatórios
Todos os endpoints requerem os seguintes headers:
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Passo 1: Gerar Challenge Email para Alteração de PIN
Endpoint: POST /security/me/pin/mail/otp/challenge
Gera um código OTP via email para iniciar o processo de alteração de PIN.
Request
POST /security/me/pin/mail/otp/challenge
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Response (200 OK)
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 300,
"attempts": 3
}
Funcionalidades
- Geração de código de 6 dígitos enviado por email
- Token temporário para próximas etapas do processo
- Tempo de expiração configurado (300 segundos)
- Controle de tentativas (máximo 3 tentativas)
Dica: O token retornado será necessário para validar o OTP no próximo passo.
Passo 2: Validar OTP Email para Alteração de PIN
Endpoint: POST /security/me/pin/mail/otp/validate
Valida o código OTP recebido via email para alteração de PIN.
Request
POST /security/me/pin/mail/otp/validate
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Request Body
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"code": "123456",
"document": "12345678900"
}
Response (200 OK)
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 300,
"attempts": 2
}
Validações
- Código deve ter 6 dígitos numéricos
- Token deve ser válido e não expirado
- Máximo de 3 tentativas de validação
- CPF deve corresponder ao usuário autenticado
Importante: Após 3 tentativas incorretas, será necessário gerar um novo challenge.
Passo 3: Gerar Challenge SMS para Alteração de PIN
Endpoint: POST /security/me/pin/sms/otp/challenge
Gera um código OTP via SMS para dupla validação do processo de alteração de PIN.
Request
POST /security/me/pin/sms/otp/challenge
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Request Body
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"code": "123456",
"document": "12345678900"
}
Response (200 OK)
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 300,
"attempts": 3
}
Funcionalidades
- Código de 6 dígitos enviado via SMS
- Token temporário atualizado para próxima etapa
- Rate limiting para prevenção de spam
- Integração com provedores de SMS confiáveis
Nota: O SMS pode levar até 3 minutos para chegar, dependendo da operadora.
Passo 4: Validar OTP SMS para Alteração de PIN
Endpoint: POST /security/me/pin/sms/otp/validate
Valida o código OTP recebido via SMS para confirmação final da alteração.
Request
POST /security/me/pin/sms/otp/validate
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Request Body
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"code": "123456",
"document": "12345678900"
}
Response (200 OK)
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiresIn": 300,
"attempts": 2
}
Validações de Segurança
- Dupla confirmação (Email + SMS)
- Tokens sequenciais validados
- Logs de segurança atualizados
- Notificação de tentativas suspeitas
Segurança: Este passo confirma que você tem acesso tanto ao email quanto ao telefone cadastrado.
Passo 5: Alterar PIN
Endpoint: POST /security/me/pin/validate
Finaliza o processo alterando o PIN após validação completa dos OTPs.
Request
POST /security/me/pin/validate
X-BuildersBank-Authorization: {jwt_token}
Content-Type: application/json
Request Body
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"credential": "1234",
"oldCredential": "4321"
}
Response (200 OK)
HTTP/1.1 200 OK
Content-Type: application/json
Critérios do Novo PIN
- 4 dígitos numéricos
- Não pode ser sequencial (1234, 4321)
- Não pode ser repetitivo (1111, 2222)
- Diferente do PIN anterior
Processo de Alteração
- Validação final do token
- Criptografia do novo PIN
- Atualização no banco de dados
- Invalidação de tokens temporários
- Notificações de segurança enviadas
Sucesso: PIN alterado com sucesso. Faça logout e login novamente para testar.
Códigos de Erro e Troubleshooting
Códigos de Erro Comuns
400 - Bad Request
{
"error": "VALIDATION_ERROR",
"message": "Erro de validação nos campos",
"violations": [
{
"field": "code",
"message": "Código deve conter 6 dígitos"
}
]
}
401 - Unauthorized
{
"error": "UNAUTHORIZED",
"message": "Token de acesso inválido ou expirado"
}
403 - Forbidden
{
"error": "FORBIDDEN",
"message": "Token válido, mas não possui o escopo 'accounts-consumer'"
}
Troubleshooting
Token Expirado
- Problema: Token inválido ou expirado
- Solução: Reiniciar o processo do Passo 1
Código SMS não Recebido
- Problema: SMS não chegou
- Solução: Aguardar 3 minutos ou tentar novamente
Tentativas Esgotadas
- Problema: Máximo de tentativas atingido
- Solução: Gerar um novo challenge
Dica: Todos os tokens têm TTL (Time To Live) configurado para segurança. Se um processo demorar muito, será necessário recomeçar.
Segurança e Boas Práticas
- Sempre use HTTPS para todas as requisições
- Não compartilhe tokens entre sessões ou dispositivos
- Implemente retry logic com backoff exponencial
- Log todas as operações para auditoria
- Monitore rate limits para evitar bloqueios