Pular para o conteúdo principal

Feature: OTP Confirmation

Introdução ao documento

Este documento descreve a feature de confirmação por OTP em /{slug}/inscricao/codigo, incluindo guarda por sessão, validação do código, reenvio e transição para a etapa final via WhatsApp.

Evidências:

Versionamento

Atualizar este documento quando mudarem:

  • a guarda de sessão/telefone;
  • o schema do código OTP;
  • o contrato de /v1/otp/confirm, /v1/otp/send ou /v1/flow/resend;
  • a navegação para a etapa turma.

Evidências:

Referencial teórico

O mapeamento desta feature foi derivado da página protegida, do componente OTP, do formulário, do diálogo de reenvio e dos handlers server-side de OTP/template.

Evidências:

Visão geral

Atores

Pré-condições

Fluxo principal

  1. A página protegida renderiza OTPConfirmation (codigo/page.tsx#L12-L15).
  2. O componente verifica cpf e phone na sessão (OTPConfirmation.component.tsx#L11-L20).
  3. O participante digita o código; ao completar 6 dígitos, o formulário submete automaticamente (Form.component.tsx#L57-L60, Form.component.tsx#L72-L79).
  4. A feature envia POST /v1/otp/confirm (confirmOtpCode.api.ts#L3-L20).
  5. Em sucesso, o usuário é redirecionado para /{slug}/inscricao/turma (Form.component.tsx#L33-L35).

Fluxos alternativos

Regras de negócio

Estados possíveis

Endpoints envolvidos

Dados impactados

Pendências

  • O fluxo de alteração de telefone no diálogo de reenvio está comentado e não existe como jornada ativa.
  • O estado submitStatus = success não é explorado visualmente no formulário atual.

Evidências: