A API do EduPay deixa outros sistemas da escola — ERP, CRM, site, plataforma de ensino, BI — ler e gravar os dados da escola no EduPay: catálogo, alunos, matrículas, contratos e cobranças. E avisa esses sistemas na hora em que algo acontece, como um pagamento confirmado.
Cada chave pertence a uma escola e só enxerga os dados dela.
O que dá para fazer
- Consultar o catálogo (ofertas, trilhas, turmas, planos de pagamento e páginas de vendas), alunos, matrículas, contratos (com o PDF) e parcelas, com os dados para pagar.
- Gravar: cadastrar e alterar alunos, criar e cancelar matrículas e gerar 2ª via de parcela. A matrícula criada pela API segue o mesmo caminho da matrícula feita no painel: gera parcelas e contrato, coloca o aluno no Moodle e emite a cobrança.
- Receber avisos (webhooks) de aluno, matrícula, contrato e parcela, assinados para conferir que vieram do EduPay.
- Abrir o portal do aluno já conectado, a partir de outro sistema, com um link que vale uma vez só.
A integração com o Moodle tem plugin próprio e rotas próprias. Ela está descrita em Integração Moodle.
Endereços
| O quê | Endereço |
|---|---|
| API | https://edupay.estudiosite.com/api/v1 |
| Especificação OpenAPI | https://edupay.estudiosite.com/api/v1/openapi.json |
| Esta documentação | https://edupay.estudiosite.com/pt/desenvolvedores |
1. Ligar a API e criar a chave
Quem faz isso é o dono da conta da escola no EduPay:
- Entre no painel e abra Integrações → Tokens de API.
- No quadro API pública (v1), clique em Ligar API. A API nasce desligada em toda escola. O Moodle funciona com ela ligada ou desligada.
- Clique em Criar token, dê um nome que diga onde a chave vai ser usada (ex.: "ERP Financeiro") e escolha as permissões. Os pacotes prontos ajudam: Somente leitura ou Leitura e escrita. Veja Permissões.
- Copie a chave. Ela começa com
edp_e aparece uma vez só. O EduPay guarda apenas uma impressão dela.
Entregue a chave a quem vai integrar como se fosse uma senha. Ela não vai em site, aplicativo de celular ou qualquer código que rode no navegador.
2. Primeira chamada
Guarde a chave numa variável e chame /me, que responde para qualquer chave e mostra de que escola ela é:
export EDUPAY_KEY="edp_..."
curl https://edupay.estudiosite.com/api/v1/me \
-H "Authorization: Bearer $EDUPAY_KEY"
{
"data": {
"school": { "name": "Colégio Modelo", "country": "BR", "currency": "BRL", "timezone": "America/Sao_Paulo" },
"token": { "name": "ERP Financeiro", "prefix": "edp_7d2e9f01...", "scopes": ["students:read", "billing:read"], "expires_at": null }
}
}
Se vier 401, a chave está errada, vencida ou revogada. Se vier 403 com code igual a api_disabled, a API ainda está desligada na escola.
3. Uma consulta de verdade
Parcelas vencidas, 50 por página:
curl "https://edupay.estudiosite.com/api/v1/installments?status=overdue&limit=50" \
-H "Authorization: Bearer $EDUPAY_KEY"
A resposta traz data (a lista) e meta.next_cursor. Para a próxima página, repita a chamada com cursor= igual a esse valor. Detalhes em Erros e limites.
Combinados que valem para toda a API
- JSON na ida e na volta. Escritas mandam
Content-Type: application/json. - Dinheiro em centavos, como número inteiro, sempre com a moeda ao lado (
"amount": 45000, "currency": "BRL"é R$ 450,00). - Data e hora em ISO 8601, em UTC (
2026-11-10T13:00:00Z). Data sem hora (vencimento, nascimento) emAAAA-MM-DD. - Erros em
application/problem+json, com umcodeque não muda entre versões. Decida pelocode, não pelo texto. - Idioma das mensagens: cabeçalho
Accept-Languagecompt-BR,enoues. Sem ele, português. - Toda resposta traz o cabeçalho
X-Request-Id. Informe esse número ao suporte quando precisar de ajuda com uma chamada.
Testar sem atrapalhar a escola
O EduPay não tem ambiente de testes separado: a chave fala com os dados reais da escola. Por isso:
- comece com uma chave só de leitura e confira tudo antes de pedir permissão de escrita;
- antes de gravar, combine com a escola um aluno e uma turma de teste. Matrícula criada pela API emite cobrança de verdade, como a do painel;
- use
external_ideIdempotency-Keydesde o primeiro dia (veja Alunos e matrículas). Assim, repetir um pedido nunca duplica nada.
Próximos passos
- Chaves de acesso: trocar a chave sem derrubar a integração.
- Alunos e matrículas: sincronizar sem duplicar.
- Avisos automáticos: saber na hora que um pagamento entrou.
- Referência: todas as rotas, com exemplos.