Exercícios

Listas de exercícios (grupos) atribuídas a turmas, com questões de múltipla escolha, discursivas ou interativas. Esta API é somente leitura — um grupo aninha questões tipadas com opções, gabarito e tags BNCC, um formato de autoria rica que não é seguro aceitar às cegas via POST de parceiro. A criação e edição continuam no editor da plataforma; a aprovação pela Coordenação é um fluxo do app mobile.

Plano Gestão Escolar (ERP): os endpoints desta página respondem somente para clientes do plano Gestão Escolar (ERP), como no sistema web. Para clientes do plano simplificado, a resposta é 403 com "code": "ERP_REQUIRED".

O modelo grupo de exercícios

A listagem só traz grupos com status=approved por padrão — rascunhos (draft) e pendentes de aprovação (submitted) são internos ao fluxo de autoria. Use ?status= para consultar outro status explicitamente.

id uuid

Identificador único do grupo.

title string

Título da lista de exercícios.

description string|null

Descrição.

introduction string|null

Texto introdutório exibido antes das questões.

grade object|null

id e name da série.

subject object|null

id e name da disciplina.

due_date date|null

Prazo de entrega.

has_points boolean

Se as questões valem pontos (vs. correção qualitativa).

status string

draft, submitted, approved ou denied.

creator_name string|null

Nome de quem criou o grupo.

exercises_count integer

Total de questões no grupo (na listagem).

classrooms array

id e name das turmas atribuídas (no detalhe).

exercises array

As questões do grupo, no formato abaixo (apenas no detalhe).

created_at datetime

Data de criação.

O modelo questão (em exercises)

type string

introduction, discursive, multiple_choice ou interactive.

statement string

Enunciado da questão.

model_answer string|null

Gabarito/resposta modelo.

points number|null

Valor em pontos, quando has_points do grupo é true.

options array

Alternativas, para questões de múltipla escolha.

bncc_items array

Habilidades/objetivos BNCC associados.

Modelo grupo de exercícios
{
  "id": "ex1g2r3p4-0000-0000-0000-000000000001",
  "title": "Frações — Lista 1",
  "grade": { "id": "...", "name": "6º Ano" },
  "subject": { "id": "...", "name": "Matemática" },
  "has_points": true,
  "status": "approved",
  "exercises": [
    {
      "type": "discursive",
      "statement": "Explique o que é uma fração.",
      "points": 2
    }
  ]
}
GET /v1/partners/school/{cnpj}/exercise-groups/all

Listar grupos de exercícios

Retorna os grupos aprovados da escola, paginados. Filtro opcional status (query string) para outro status.

Códigos de resposta

200

Sucesso.

404

Escola não encontrada.

Requisição GET
GET /api/v1/partners/school/{cnpj}/exercise-groups/all
Resposta
{
  "message": "Escola não encontrada."
}
GET /v1/partners/school/{cnpj}/exercise-group/{id}

Obter um grupo de exercícios

Retorna o grupo com as questões completas (enunciado, gabarito, opções, tags BNCC) e as turmas atribuídas.

Códigos de resposta

200

Sucesso.

404

Grupo não encontrado.

Requisição GET
GET /api/v1/partners/school/{cnpj}/exercise-group/{id}
Resposta
{
  "message": "Grupo de exercícios não encontrado."
}