Módulos ERP
Além do pedagógico e da secretaria, a API dá acesso aos módulos de gestão da escola: financeiro, estoque e merenda, patrimônio, biblioteca, CRM, RH, visitantes, saúde, eventos, exercícios e suporte. As rotas seguem as mesmas convenções do restante da API — mesmos cabeçalhos de autenticação, mesmo formato de erro e de paginação.
Módulos disponíveis
Tudo o que o plano Gestão Escolar oferece pela API. Cada módulo tem a sua página com o modelo de dados, os filtros e exemplos de requisição e resposta.
Gestão
Exigem o plano Gestão Escolar também na API — clientes sem o ERP recebem 403 com ERP_REQUIRED.
Pedagógico
Módulos pedagógicos do plano Gestão Escolar, documentados junto aos demais recursos da API.
Disponíveis em todos os planos
Documentados com os módulos ERP, mas liberados também para clientes sem o plano Gestão Escolar — como no sistema.
Sem API pública por enquanto
Também fazem parte do plano Gestão Escolar, mas são usados apenas pelas telas do sistema e pelos aplicativos da To Aqui:
- Alertas e Painéis personalizados
- Relatórios pedagógicos e administrativos
- Portal do Responsável e Portal do Aluno
- Matrícula online, contratos e assinatura digital
- Mapa da Escola
Requisitos e convenções
- Plano Gestão Escolar. Os módulos de gestão só respondem para clientes com o ERP contratado; os demais recebem
403comERP_REQUIRED. - Escolas privadas. Financeiro, CRM e RH existem apenas para redes privadas — clientes públicos recebem
PRIVATE_CLIENT_REQUIRED. - Escopo por escola. As rotas recebem o CNPJ da escola e só enxergam os dados daquela escola dentro do cliente autenticado. A Biblioteca é a exceção: é única para o cliente e as suas rotas não levam CNPJ.
- Listas paginadas. Listas grandes trazem 25 itens por página no formato de paginação simples (
data,links,meta); listas curtas (categorias, depósitos, etapas) vêm inteiras emdata. - Filtros. Vão na query string. Booleanos aceitam
1/0; datas usamAAAA-MM-DD. Um filtro inválido responde422com o detalhe emerrors. - Edições parciais. Nos
PUTdos módulos ERP, só os campos enviados são alterados. - Datas e valores. Datas e horas em ISO 8601 com o fuso de Brasília; valores monetários como número em reais, com duas casas.
O que a API não altera
As operações de escrita cobrem cadastros e rotinas operacionais. O que mexe com dinheiro ou exige um funcionário identificado continua exclusivo da equipe da escola:
- Cobranças, pagamentos, estornos, contratos e acordos — o Financeiro é somente leitura.
- Dados bancários e chave PIX de fornecedores — ignorados nas escritas e nunca expostos.
- Cobrança de ingressos de eventos — eventos criados pela API são sempre gratuitos.
- Entradas, saídas e ajustes de estoque — sempre lançados por um funcionário.
- Salário, dados bancários e documentos de funcionários — nunca expostos.
- Gabaritos de exercícios — alternativas corretas e respostas-modelo nunca são expostas.
Códigos de erro dos módulos ERP
Além do formato de erros padrão, as respostas de regra de negócio trazem um code estável para você tratar no código:
403
ERP_REQUIRED
O cliente não está no plano Gestão Escolar (ERP).
403
PRIVATE_CLIENT_REQUIRED
Módulo exclusivo de escolas privadas (Financeiro, CRM, RH).
422
BUSINESS_RULE
Uma regra da escola impediu a operação — ex.: limite de empréstimos na biblioteca. A mensagem diz qual.
422
SYSTEM_DRIVEN_STAGE
Etapa do CRM controlada pelo fluxo de matrícula; não aceita movimentação manual.
422
INVALID_STAGE
Etapa inicial de lead não permitida (automática, ganha ou perdida).
422
INVALID_STATUS
Transição de status não permitida (ex.: check-out de visita que não está em andamento).
422
INVALID_DATES
Datas do evento incoerentes depois da edição.
422
DUPLICATE_CPF
Já existe um visitante com o CPF nesta escola.
422
ALREADY_RETURNED
O empréstimo já foi devolvido.
{ "success": false, "code": "BUSINESS_RULE", "message": "Limite de 3 empréstimo(s) simultâneo(s) atingido para esta categoria.", "errors": { "circulation": [ "Limite de 3 empréstimo(s) simultâneo(s) atingido para esta categoria." ] } }
Webhooks
Os módulos ERP também avisam o seu sistema. Os eventos disparam qualquer que seja a origem da mudança — telas da escola, pagamento confirmado pelo banco ou chamada da própria API — e chegam no mesmo formato e com a mesma assinatura dos demais webhooks. Assine-os no Portal do Parceiro.
receivable.paid
Uma conta a receber foi quitada — por boleto, PIX, cartão, maquininha ou no caixa.
receivable.status_changed
Qualquer outra mudança de status de uma conta a receber (vencida, parcial, cancelada, renegociada, estornada…).
supplier.created / supplier.updated
Fornecedor cadastrado ou alterado.
crm_lead.created / crm_lead.stage_changed
Lead criado ou movido de etapa (inclusive pela conversão em matrícula).
library_loan.created / .returned / .renewed
Empréstimo, devolução ou renovação na biblioteca.
visitor.created / visitor.updated
Visitante cadastrado ou alterado.
visit.created / .checked_in / .checked_out / .cancelled
Visita agendada, entrada, saída ou cancelamento.
event.created / event.updated / event.status_changed
Evento criado, editado ou com status alterado.
Teste no sandbox
O cliente de demonstração do sandbox está no plano Gestão Escolar e já vem com dados de todos os módulos: um contrato com
parcelas pagas, em aberto e vencidas, uma conta a pagar, produtos com lotes, um cardápio, um bem patrimonial, um empréstimo
na biblioteca, leads no funil, uma visita agendada, um evento, um atendimento na enfermaria, um funcionário, uma lista de
exercícios e um chamado. Use uma chave toaqui_test_ — veja
Sandbox e produção.