Escolas

As escolas representam as unidades escolares vinculadas à rede do cliente autenticado. Utilize estes endpoints para consultar todas as escolas disponíveis e seus dados cadastrais.

O modelo escola

O modelo escola contém os dados cadastrais das unidades vinculadas ao seu cliente. Utilize o cnpj como identificador para filtrar outros recursos por escola.

id string (uuid)

Identificador único da escola no sistema.

social_name string

Razão social da escola.

name string

Nome fantasia da escola.

cnpj string

CNPJ da escola (14 dígitos, sem formatação). Usado como chave nos demais endpoints.

director object|null

Dados do(a) diretor(a) da escola. Null se não houver diretor(a) cadastrado(a).

director.id string (uuid)

Identificador único do(a) diretor(a).

director.name string

Nome completo do(a) diretor(a).

director.email string

E-mail do(a) diretor(a).

director.birthdate string|null

Data de nascimento do(a) diretor(a) (formato Y-m-d).

Modelo escola
{
  "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1",
  "social_name": "Colégio Exemplo LTDA",
  "name": "Colégio Exemplo",
  "cnpj": "26019466000122",
  "director": {
    "id": "9faea287-0000-0000-0000-000000000099",
    "name": "Ana Oliveira",
    "email": "diretora@colegio.com.br",
    "birthdate": "1980-03-15"
  }
}
GET /v1/partners/schools/all

Listar todas as escolas

Retorna a lista paginada de escolas vinculadas ao cliente autenticado. Os dados incluem o CNPJ de cada escola, que é necessário para consultar alunos, responsáveis e registros de frequência. Os resultados vem dentro do campo data, com metadados de paginação nos campos links e meta.

Cabeçalhos obrigatórios

X-Authorization obrigatório
X-Partner obrigatório
X-Client obrigatório

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /v1/partners/schools/all
curl https://toakiescola.com.br/api/v1/partners/schools/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1",
      "social_name": "Colégio Exemplo LTDA",
      "name": "Colégio Exemplo",
      "cnpj": "26019466000122",
      "director": {
        "id": "9faea287-0000-0000-0000-000000000099",
        "name": "Ana Oliveira",
        "email": "diretora@colegio.com.br",
        "birthdate": "1980-03-15"
      }
    },
    {
      // ...
    }
  ],
  "links": {
    "first": "https://api.toaquiescola.com.br/v1/partners/schools/all?page=1",
    "last": null,
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "from": 1,
    "to": 25
  }
}

O modelo espaço físico

Os espaços físicos representam os ambientes disponíveis na escola para uso pelos alunos (por exemplo: quadra poliesportiva, auditório, laboratório de informática, etc.).

id uuid

Identificador único.

name string

Nome do espaço físico (até 100 caracteres).

maximum_capacity integer

Capacidade máxima de pessoas no espaço.

description string|null

Descrição opcional do espaço físico.

school_cnpj string

CNPJ da escola.

Modelo espaço físico
{
  "id": "a1b2c3d4-...",
  "name": "Quadra Poliesportiva",
  "maximum_capacity": 200,
  "description": "Quadra coberta para atividades esportivas.",
  "school_cnpj": "26019466000122"
}
GET /v1/partners/school/{cnpj}/physical-spaces/all

Listar espaços físicos

Retorna todos os espaços físicos cadastrados na escola. Resposta paginada.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Escola não encontrada.

Requisição GET
GET /v1/partners/school/{cnpj}/physical-spaces/all
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/physical-spaces/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "id": "a1b2c3d4-...",
      "name": "Quadra Poliesportiva",
      "maximum_capacity": 200,
      "description": "Quadra coberta para atividades esportivas.",
      "school_cnpj": "26019466000122"
    }
  ],
  "meta": { /* metadados de paginação */ }
}
GET /v1/partners/school/{cnpj}/physical-space/{id}

Obter espaço físico

Retorna um espaço físico pelo UUID.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

id uuid obrigatório

UUID do espaço físico.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Escola ou espaço físico não encontrado.

Requisição GET
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/physical-space/a1b2c3d4-... \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": {
    "id": "a1b2c3d4-...",
    "name": "Quadra Poliesportiva",
    "maximum_capacity": 200,
    "description": "Quadra coberta para atividades esportivas.",
    "school_cnpj": "26019466000122"
  }
}

Portões de Entrada

Cadastre os portões físicos da escola usados nos registros de entrada e saída de alunos.

O modelo portão

id uuid

Identificador do portão.

name string

Nome (até 50 caracteres).

school_cnpj string

CNPJ da escola.

Modelo portão
{
  "id": "...",
  "name": "Portão Principal",
  "school_cnpj": "26019466000122"
}
GET /v1/partners/school/{cnpj}/entrances/all

Listar Portões

Lista todos os portões da escola.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Escola ou recurso não encontrado.

Requisição GET
GET /v1/partners/school/{cnpj}/entrances/all
curl https://toakiescola.com.br/api/v1/partners/school/{cnpj}/entrances/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
      "name": "Portão Principal",
      "school_cnpj": "26019466000122"
    }
  ],
  "links": { /* paginação */ },
  "meta": { /* paginação */ }
}
GET /v1/partners/school/{cnpj}/entrance/{id}

Obter Portão

Retorna um portão pelo UUID.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

id uuid obrigatório

UUID do portão.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Escola ou recurso não encontrado.

Requisição GET
GET /v1/partners/school/{cnpj}/entrance/{id}
curl https://toakiescola.com.br/api/v1/partners/school/{cnpj}/entrance/{id} \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "name": "Portão Principal",
    "school_cnpj": "26019466000122"
  }
}
POST /v1/partners/school/{cnpj}/entrance

Criar Portão

Cria um portão.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

Parâmetros do corpo

name string obrigatório

Nome do portão (até 50 caracteres).

Códigos de resposta

201

Recurso criado com sucesso.

400

Dados inválidos.

401

Autenticação inválida.

404

Escola ou recurso não encontrado.

Requisição POST
POST /v1/partners/school/{cnpj}/entrance
curl https://toakiescola.com.br/api/v1/partners/school/{cnpj}/entrance \
  -X POST \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}" \
  -H "Content-Type: application/json" \
  -d '{ "name"*: "..." }'
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "name": "Portão Principal",
    "school_cnpj": "26019466000122"
  }
}
PUT /v1/partners/school/{cnpj}/entrance/{id}

Editar Portão

Atualiza um portão.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

id uuid obrigatório

UUID do portão.

Parâmetros do corpo

name string opcional

Novo nome do portão.

Códigos de resposta

200

Sucesso.

400

Dados inválidos.

401

Autenticação inválida.

404

Escola ou recurso não encontrado.

Requisição PUT
PUT /v1/partners/school/{cnpj}/entrance/{id}
curl https://toakiescola.com.br/api/v1/partners/school/{cnpj}/entrance/{id} \
  -X PUT \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}" \
  -H "Content-Type: application/json" \
  -d '{ "name": "..." }'
Resposta
{
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "name": "Portão Principal",
    "school_cnpj": "26019466000122"
  }
}
DELETE /v1/partners/school/{cnpj}/entrance/{id}

Excluir Portão

Remove um portão.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

id uuid obrigatório

UUID do portão.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Escola ou recurso não encontrado.

Requisição DELETE
DELETE /v1/partners/school/{cnpj}/entrance/{id}
curl https://toakiescola.com.br/api/v1/partners/school/{cnpj}/entrance/{id} \
  -X DELETE \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "message": "Recurso removido com sucesso."
}