Aulas

Os endpoints de aulas permitem consultar os registros de aulas criados pelas escolas, incluindo título, descrição, links, professor responsável e data de publicação.

O modelo aula

O modelo aula representa um registro de aula criado por um professor em uma escola.

id string (uuid)

Identificador único da aula.

title string

Título da aula.

description string

Descrição do conteúdo da aula.

links array | null

Lista de links associados à aula (materiais, vídeos, etc.).

is_approved boolean

Indica se a aula foi aprovada pela coordenação.

published_at date | null

Data de publicação da aula no formato Y-m-d.

teacher_name string | null

Nome do professor responsável pela aula.

school_cnpj string

CNPJ da escola à qual a aula pertence.

created_at datetime

Data e hora de criação no formato Y-m-d H:i:s.

Modelo aula
{
  "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
  "title": "Introdução à Matemática",
  "description": "Revisão de operações básicas.",
  "links": ["https://exemplo.com/material.pdf"],
  "is_approved": true,
  "published_at": "2025-04-15",
  "teacher_name": "Maria Souza",
  "school_cnpj": "26019466000122",
  "created_at": "2025-04-10 14:00:00"
}
GET /v1/partners/school/{cnpj}/lesson/all

Listar aulas por escola

Retorna a lista paginada de aulas vinculadas a uma escola. Os resultados vêm dentro do campo data, com metadados de paginação nos campos links e meta.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/lesson/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
      "title": "Introdução à Matemática",
      "description": "Revisão de operações básicas.",
      "links": ["https://exemplo.com/material.pdf"],
      "is_approved": true,
      "published_at": "2025-04-15",
      "teacher_name": "Maria Souza",
      "school_cnpj": "26019466000122",
      "created_at": "2025-04-10 14:00:00"
    }
  ],
  "links": { ... },
  "meta": { ... }
}
GET /v1/partners/school/{cnpj}/lesson/{id}

Obter uma aula

Retorna os dados de uma aula específica vinculada à escola informada.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

id string (uuid) obrigatório

Identificador único da aula.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição GET
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/lesson/a1b2c3d4-e5f6-7890-ab12-cd34ef567890 \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "title": "Introdução à Matemática",
    "description": "Revisão de operações básicas.",
    "links": ["https://exemplo.com/material.pdf"],
    "is_approved": true,
    "published_at": "2025-04-15",
    "teacher_name": "Maria Souza",
    "school_cnpj": "26019466000122",
    "created_at": "2025-04-10 14:00:00"
  }
}
Resposta
{
  "message": "Autenticação inválida."
}
DELETE /v1/partners/school/{cnpj}/lesson/{id}

Excluir uma aula

Exclui uma aula específica vinculada à escola informada. A operação é irreversível.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

id string (uuid) obrigatório

Identificador único da aula.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição DELETE
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/lesson/a1b2c3d4-e5f6-7890-ab12-cd34ef567890 \
  -X DELETE \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "success": true
}
Resposta
{
  "message": "Autenticação inválida."
}
POST /v1/partners/school/{cnpj}/lesson

Criar aula

Cria uma nova aula para uma escola. O professor informado deve pertencer à escola.

Parâmetros do corpo

teacher_id string (uuid) obrigatório

UUID do professor responsável pela aula. O professor deve pertencer à escola informada.

title string obrigatório

Título da aula (até 200 caracteres).

description string obrigatório

Descrição do conteúdo da aula.

links array | null opcional

Lista de URLs associadas à aula (materiais, vídeos, etc.).

is_approved boolean | null opcional

Indica se a aula foi aprovada pela coordenação.

published_at date | null opcional

Data de publicação no formato Y-m-d.

Códigos de resposta

200

Aula criada com sucesso.

400

Erros de validação.

404

Escola ou professor não encontrado.

Requisição POST
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/lesson \
  -X POST \
  -H "X-Authorization: {api_token}" \
  -H "Content-Type: application/json" \
  -d '{"teacher_id":"...","title":"Introdução à Matemática","description":"Revisão de operações básicas."}'
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "title": "Introdução à Matemática",
    "description": "Revisão de operações básicas.",
    "links": null,
    "is_approved": null,
    "published_at": null,
    "teacher_name": "Maria Souza",
    "school_cnpj": "26019466000122",
    "created_at": "2025-04-10 14:00:00"
  }
}
PUT /v1/partners/school/{cnpj}/lesson/{id}

Editar aula

Atualiza os dados de uma aula. Todos os campos são opcionais; envie apenas os que deseja alterar.

Parâmetros do corpo

title string opcional

Novo título da aula (até 200 caracteres).

description string opcional

Nova descrição do conteúdo da aula.

links array | null opcional

Nova lista de URLs associadas. Envie null para remover todos os links.

is_approved boolean | null opcional

Atualiza o status de aprovação da aula.

published_at date | null opcional

Nova data de publicação no formato Y-m-d. Envie null para remover.

Códigos de resposta

200

Sucesso.

400

Erros de validação.

404

Aula não encontrada.

Requisição PUT
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/lesson/a1b2c3d4-e5f6-7890-ab12-cd34ef567890 \
  -X PUT \
  -H "X-Authorization: {api_token}" \
  -H "Content-Type: application/json" \
  -d '{"is_approved":true,"published_at":"2025-04-20"}'
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "title": "Introdução à Matemática",
    "is_approved": true,
    "published_at": "2025-04-20",
    "school_cnpj": "26019466000122",
    "created_at": "2025-04-10 14:00:00"
  }
}