API Reference: Perfil do Membro

Base URL: /api/perfil. Todos requerem autenticacao.

MetodoEndpointDescricao
GET/api/perfilPerfil completo (dados, competencias, conquistas, indicados, extrato, historico)
PATCH/api/perfil/dadosAtualizar dados pessoais (nome, telefone, endereco, foto)
PATCH/api/perfil/competenciasAtualizar competencias (substitui todas)
PATCH/api/perfil/preferenciasAtualizar preferencias de notificacao
GET/api/perfil/historico/eventosHistorico de eventos participados
GET/api/perfil/historico/tarefasHistorico de tarefas concluidas

GET /api/perfil — Response

Retorna o perfil completo do usuario logado incluindo:

  • Dados pessoais (nome, email, CPF, telefone, endereco)
  • Competencias com macro/micro/nivel
  • Plano atual e data de validade
  • Codigo referral + lista de indicados
  • Conquistas desbloqueadas
  • Totais: eventos participados, tarefas concluidas
  • Extrato resumido (ultimas 10 transacoes)
  • Preferencias de notificacao

PATCH /api/perfil/dados — Body

{
  "nome": "Novo Nome",
  "telefone": "(27) 99999-0000",
  "fotoUrl": "https://supabase.co/.../avatar.jpg"
}

PATCH /api/perfil/competencias — Body

{
  "competencias": [
    { "microId": "uuid", "nivel": "AVANCADO" },
    { "microId": "uuid", "nivel": "BASICO" }
  ]
}

Substitui todas as competencias do usuario. Para remover todas, envie array vazio.

PATCH /api/perfil/preferencias — Body

{
  "preferencias": {
    "push_tarefa": true,
    "push_evento": true,
    "push_comunicado": false,
    "push_conquista": true,
    "email_tarefa": true,
    "email_evento": true,
    "email_comunicado": true,
    "email_conquista": false,
    "whatsapp": false
  }
}

Tab Notificacoes no Perfil

A pagina de perfil inclui uma aba Notificacoes com toggles individuais para cada canal:

Push Notifications

  • push_tarefa — Notificar sobre novas tarefas e validacoes
  • push_evento — Notificar sobre novos eventos e lembretes
  • push_comunicado — Notificar sobre novos comunicados
  • push_conquista — Notificar sobre conquistas desbloqueadas

Email Notifications

  • email_tarefa — Receber email sobre tarefas atribuidas e aprovadas/rejeitadas
  • email_evento — Receber email sobre novos eventos e lembretes
  • email_comunicado — Receber email sobre novos comunicados
  • email_conquista — Receber email sobre conquistas desbloqueadas

Os toggles sao salvos automaticamente ao clicar. Emails sao enviados via Resend.


Funcionalidades do Perfil

Modal de Competencias (Primeiro Login)

Quando o usuario faz login pela primeira vez (primeiro_login = true), um modal aparece pedindo para selecionar competencias. O usuario pode pular ou salvar. Ao fechar o modal, primeiro_login e marcado como false.

Upload de Foto

Fotos de perfil sao armazenadas no Supabase Storage bucket avatars. O componente FileUpload faz o upload e retorna a URL publica.

Indicacao (Referral)

Cada usuario tem um codigo unico (MBL-ES-XXXX) gerado automaticamente. O link de convite inclui o codigo como query param: ?ref=MBL-ES-XXXX. Ao aprovar o indicado, 100 CC sao creditadas ao indicador.