API de Notas

Exportação de notas escolares em JSON para integração com sistemas externos.

Endpoint

GET /exportarNotas

Autenticação

Toda chamada exige um header Authorization com um token Bearer. Cada integração recebe um token exclusivo, vinculado a uma escola e a um sistema específico — o mesmo token não funciona para outra escola ou outro sistema.

Authorization: Bearer <token-da-integracao>

Tokens são emitidos manualmente pela equipe Guby. Solicite o seu informando o nome da escola e do sistema que vai consumir a API.

Parâmetros

Obrigatórios

ParâmetroTipoDescrição
escolastringNome da escola, exatamente como cadastrado no Guby.
sistemastringIdentificador do sistema consumidor (ex: SistemaTeste1). Deve bater com o token usado.
anostringAno letivo, ex: 2026.

Filtros opcionais

ParâmetroTipoDescrição
turmastringNome da turma (ex: 6º Ano A). Não é o ID interno do Guby.
disciplinastringNome da disciplina, ex: Português.
segmentostringSegmento escolar (ex: Fundamental II).
serienumberSérie/ano escolar.

Sem filtros, a resposta traz todos os alunos e disciplinas da escola no ano informado. Para escolas grandes, recomendamos paginar a coleta por turma, segmento ou serie em vez de uma única chamada.

Exemplo de requisição

curl "https://apinotas.guby.com.br/exportarNotas?escola=Escola%20modelo&sistema=lugarest&ano=2026&turma=EF9A" \
  -H "Authorization: Bearer SEU_TOKEN_AQUI"

Exemplo de resposta

200 OK

{
  "escola": "Escola modelo",
  "ano": "2026",
  "organizacaoNotas": {
    "descricao": "Cada posição do array 'notas' corresponde a uma avaliação fixa, na ordem abaixo.",
    "posicoes": [
      "bim1_av1", "bim1_av2", "bim1_av3", "bim1_media", "bim1_recuperacao",
      "bim2_av1", "bim2_av2", "bim2_av3", "bim2_media", "bim2_recuperacao",
      "bim3_av1", "bim3_av2", "bim3_av3", "bim3_media", "bim3_recuperacao",
      "bim4_av1", "bim4_av2", "bim4_av3", "bim4_media", "bim4_recuperacao",
      "media_final", "recuperacao_final"
    ]
  },
  "alunos": [
    {
      "matricula": "25001018",
      "nome": "Nome do Aluno",
      "turma": "EF9A",
      "disciplina": "Português",
      "bimestre": "1",
      "faltas": 0,
      "cargaHoraria": 1,
      "notas": ["2.0", "1.0", "1.0", "4.0", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
      "situacaoFinal": ""
    }
  ]
}

O campo organizacaoNotas é fixo e descreve a posição de cada nota dentro do array notas — use-o para mapear os índices, em vez de assumir a ordem manualmente.

Erros

StatusCausa
400Faltou escola, sistema ou ano na query string.
401Token ausente, inválido, ou não corresponde ao par escola+sistema informado.
429Limite de chamadas excedido (veja Rate Limit abaixo).
500Erro interno ao processar a exportação.

Rate limit

Cada par escola+sistema pode fazer até 10 requisições por minuto. Ao exceder, a API responde 429 Too Many Requests até a janela seguinte.

Fonte dos dados

As notas exportadas vêm do diário oficial já fechado e revisado pelos professores — a mesma fonte usada para gerar boletins e documentos. Notas em rascunho (ainda não fechadas pelo professor) não aparecem nesta API.