Pular para o conteúdo principal

Estudantes

Estudantes são os destinatários dos certificados. Ao contrário de instituições e cursos, os estudantes são registrados no nível do tenant — eles não estão vinculados a uma instituição ou curso específico ao serem criados. Um estudante pode estar matriculado em vários cursos e receber múltiplos certificados.

O objeto estudante

{
  "uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
  "name": "Maria Fernanda Silva",
  "email": "maria@email.com",
  "date_of_birth": "1998-05-20",
  "gender": "female",
  "social_name": null,
  "created_at": "2024-01-20T14:30:00.000000Z"
}
CampoTipoDescrição
uuidstringIdentificador único
namestringNome legal completo
emailstringEndereço de e-mail
date_of_birthdateData de nascimento (ISO 8601: YYYY-MM-DD)
genderstringIdentidade de gênero
social_namestring|nullNome social/preferido (usado nos certificados quando definido)

Listar estudantes

GET /students
# Buscar por e-mail para evitar registros duplicados
curl "https://api.dokstamp.eu/students?where[email]=maria@email.com" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}"
Sempre busque pelo e-mail antes de criar um novo estudante para evitar duplicatas. Use GET /students?where[email]=estudante@email.com.

Criar um estudante

POST /students
ParâmetroTipoObrigatórioDescrição
namestringSimNome legal completo
emailstringSimEndereço de e-mail (deve ser único dentro do tenant)
date_of_birthdateSimData de nascimento (YYYY-MM-DD)
genderstringNãoIdentidade de gênero
social_namestringNãoNome social/preferido
curl -X POST https://api.dokstamp.eu/students \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d '{
    "name": "Maria Fernanda Silva",
    "email": "maria@email.com",
    "date_of_birth": "1998-05-20",
    "gender": "female"
  }'
Resposta 201:
{
  "data": {
    "uuid": "f6a7b8c9-d0e1-2345-fghi-456789012345",
    "name": "Maria Fernanda Silva",
    "email": "maria@email.com",
    "date_of_birth": "1998-05-20",
    "gender": "female",
    "social_name": null
  }
}

Obter um estudante

GET /students/{uuid}
Use includes para carregar dados relacionados:
GET /students/{uuid}?includes[enrollments]=1&includes[certificates]=1

Atualizar um estudante

PATCH /students/{uuid}
Envie apenas os campos a serem alterados. Atualizar o nome de um estudante após a emissão de um certificado não altera o nome nos certificados existentes — o snapshot do sujeito da credencial capturado no momento da emissão é imutável.

Excluir um estudante

DELETE /students/{uuid}
DELETE /students/batch/destroy
Exclusão suave (soft delete). Os certificados emitidos para o estudante permanecem no sistema.

Recursos relacionados