API de Alunos
Objetivo
Os endpoints de alunos atendem o fluxo de cadastro e consulta de dados auxiliares usados nos formulários.
Eles permitem registrar um aluno, validar disponibilidade de email e nickname e carregar opções usadas na interface de cadastro.
POST /autenticacao/cadastro
Descrição: cadastra um novo aluno.
Este endpoint cria a conta de um aluno com os dados pessoais, acadêmicos e credenciais de acesso. Ele é usado no formulário de cadastro da aplicação.
Autenticação: pública.
Body
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
nome |
string | Sim | 1 a 120 caracteres |
nickname |
string | Sim | Começa com letra, usa letras minúsculas, números e _ |
email |
string | Sim | E-mail válido |
senha |
string | Sim | Mínimo 8 caracteres |
confirmacaoSenha |
string | Sim | Deve ser igual a senha |
instituicao |
string | Sim | 1 a 160 caracteres |
curso |
string | Sim | 1 a 120 caracteres |
periodo |
string | Sim | 1 a 40 caracteres |
dataNascimento |
string | Sim | Formato yyyy-mm-dd |
nacionalidade |
string | Sim | 1 a 80 caracteres |
estado |
string | Sim | UF brasileira válida |
cidade |
string | Sim | 1 a 100 caracteres |
escolaridade |
string | Sim | Valor aceito pelo backend |
Resposta de sucesso — 201
{
"mensagem": "Usuário cadastrado com sucesso.",
"dados": {
"id": "aluno-id",
"nome": "Nome do Aluno",
"nickname": "aluno_1",
"email": "aluno@email.com",
"papel": "ALUNO",
"status": "ATIVO"
}
}
GET /autenticacao/alunos/nickname-disponivel
Descrição: verifica se um nickname pode ser usado.
Este endpoint consulta se já existe usuário usando o nickname informado. Ele é usado no cadastro para evitar submissão com nickname duplicado.
Autenticação: pública.
Query params
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
nickname |
string | Sim | Mesmo formato do cadastro |
Resposta de sucesso — 200
{
"mensagem": "Nickname disponível.",
"dados": {
"nickname": "aluno_1",
"disponivel": true
}
}
GET /autenticacao/alunos/email-disponivel
Descrição: verifica se um email pode ser usado.
Este endpoint consulta se já existe usuário cadastrado com o email informado. Ele é usado no cadastro para orientar o usuário antes de enviar o formulário completo.
Autenticação: pública.
Query params
| Campo | Tipo | Obrigatório | Regra |
|---|---|---|---|
email |
string | Sim | E-mail válido |
Resposta de sucesso — 200
{
"mensagem": "Email disponível.",
"dados": {
"email": "aluno@email.com",
"disponivel": true
}
}
GET /autenticacao/alunos/nacionalidades
Descrição: lista nacionalidades disponíveis para cadastro.
Este endpoint retorna uma lista de nacionalidades usadas para preencher o campo de nacionalidade no formulário de cadastro.
Autenticação: pública.
Resposta de sucesso — 200
{
"mensagem": "Nacionalidades listadas com sucesso.",
"dados": ["Brasileira"]
}
GET /autenticacao/alunos/opcoes-academicas
Descrição: lista opções acadêmicas usadas no cadastro.
Este endpoint retorna listas de escolaridades, instituições, cursos e períodos. Ele centraliza as opções aceitas pelo backend para reduzir divergência entre frontend e API.
Autenticação: pública.
Resposta de sucesso — 200
{
"mensagem": "Opções acadêmicas listadas com sucesso.",
"dados": {
"escolaridades": [],
"instituicoes": [],
"cursos": [],
"periodos": [],
"naoSeAplica": "Não se aplica"
}
}
Histórico de Versão
| Data | Versão | Descrição | Autor(es) |
|---|---|---|---|
| 04/05/2026 | 1.0 | Criação da documentação dos endpoints da API | Arthur Carneiro |