Webhooks

Os webhooks permitem que a plataforma Lumen ERP notifique sua aplicação em tempo real sobre eventos como registros de frequência, verificações de acesso e envios de foto. Quando um evento ocorre, a plataforma envia uma requisição POST com um payload JSON para a URL configurada: a do cliente, nas integrações anteriores ao Portal do Parceiro, ou os endpoints do seu app no portal.

Configuração

Integrações anteriores ao Portal do Parceiro recebem eventos numa URL única por cliente, cadastrada pela gestão do cliente nas configurações de API da escola no Lumen. Cada evento é entregue a essa URL via HTTP POST com corpo JSON. Apps do Portal do Parceiro configuram os próprios endpoints; veja a seção seguinte.

  • Filtro de eventos: a configuração pode limitar a entrega a uma lista de eventos. Sem lista, todos os eventos abaixo são entregues.
  • Token de acesso: se configurado, cada entrega leva o cabeçalho lumen-access-token com esse valor. Compare-o no seu endpoint para recusar chamadas de outra origem.
  • Novas tentativas: a entrega é assíncrona, por fila. Qualquer resposta fora de 2xx é uma falha: a plataforma repete na hora até 3 vezes e, se ainda falhar, agenda novas tentativas após 1, 5, 15 e 30 minutos (até 5 rodadas, cerca de 50 minutos) antes de desistir.
  • Idempotência: uma mesma entrega pode chegar mais de uma vez. O envelope não tem identificador; use event, timestamp e os identificadores em data para descartar repetições.

Estrutura do envelope

event string

Nome do evento disparado, ex: attendance.check_in.

timestamp string (ISO 8601)

Data e hora em que o evento foi gerado, no formato ISO 8601.

data object

Objeto com os dados específicos do evento. Varia conforme o tipo de evento.

Envelope padrão
{
  "event": "<event_name>",
  "timestamp": "2026-04-30T08:30:00-03:00",
  "data": {
    // dados específicos do evento
  }
}

Webhooks de apps do Portal do Parceiro

Apps criados no Portal do Parceiro configuram os endpoints no próprio portal: um de teste (eventos do sandbox) e um de produção (eventos dos clientes conectados ao app). É possível escolher quais eventos receber, enviar eventos de teste e reenviar entregas.

Cada entrega segue o padrão Standard Webhooks: os cabeçalhos webhook-id, webhook-timestamp e webhook-signature permitem validar a origem. A assinatura é v1, seguido do HMAC-SHA256 em base64 de {id}.{timestamp}.{corpo}, usando o segredo whsec_… do app decodificado em base64. Rejeite timestamps com mais de 5 minutos e use o webhook-id para descartar reenvios repetidos.

Além de event, timestamp e data, o envelope traz id, environment (test/live) e client (slug do cliente). Entregas que falham (resposta fora de 2xx ou sem resposta em 10 segundos) são tentadas até 5 vezes ao longo de cerca de 50 minutos (após 1, 5, 15 e 30 minutos), e o portal mostra o resultado de cada tentativa. Redirecionamentos não são seguidos, e o endpoint precisa resolver para um IP público da internet: endereços locais ou de rede privada são recusados.

Entrega a um app
POST /seu-endpoint
webhook-id: 0199…-uuid
webhook-timestamp: 1790000000
webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=

{
  "id": "0199…-uuid",
  "event": "student.created",
  "environment": "live",
  "client": "colegio-exemplo",
  "timestamp": "2026-09-28T08:30:00-03:00",
  "data": { … }
}

Eventos suportados

A plataforma dispara os seguintes eventos para a URL configurada:

Evento Descrição
attendance.check_in Disparado quando um aluno tem a entrada registrada pelo equipamento facial da escola.
attendance.check_out Disparado quando um aluno tem a saída registrada pelo equipamento facial da escola.
tssv.responsible_check_in Disparado quando um responsável realiza a verificação dupla para retirada de aluno.
student.created Disparado quando um novo aluno é cadastrado na plataforma.
student.updated Disparado quando os dados de um aluno são atualizados.
student.deleted Disparado quando um aluno é removido da plataforma.
student.photo_uploaded Disparado quando uma nova foto de aluno é enviada com sucesso via API.
student.photo_status_updated Disparado quando o status da foto de um aluno é atualizado (aprovado ou rejeitado).
student.photo_deleted Disparado quando a foto de um aluno é removida da plataforma.
student.enrolled Disparado quando um aluno é matriculado em uma turma.
student.enrollment_number_updated Disparado quando o número de matrícula de um aluno é atualizado.
student.classroom_transferred Disparado quando um aluno é transferido internamente para outra turma da mesma escola.
student.transferred_external Disparado quando um aluno é transferido para outra escola (transferência externa).
student.enrollment_status_changed Disparado quando o status de uma matrícula é alterado após aprovação de autorização administrativa.
student.enrollment_force_deleted Disparado quando uma matrícula é excluída de forma definitiva, após aprovação administrativa.
student.enrollment_reactivated Disparado quando uma matrícula inativa é reativada após aprovação de autorização administrativa.
student.responsible_linked Disparado quando um responsável primário é vinculado a um aluno.
student.responsible_unlinked Disparado quando um responsável primário é desvinculado de um aluno.
student.additional_responsible_linked Disparado quando um responsável adicional é vinculado a um aluno.
student.additional_responsible_unlinked Disparado quando um responsável adicional é desvinculado de um aluno.
responsible.created Disparado quando um novo responsável é cadastrado na plataforma.
responsible.updated Disparado quando os dados de um responsável são atualizados.
responsible.deleted Disparado quando um responsável é removido da plataforma.
responsible.photo_uploaded Disparado quando uma nova foto de responsável é enviada com sucesso.
responsible.photo_status_updated Disparado quando o status da foto de um responsável é atualizado (aprovado ou rejeitado).
responsible.photo_deleted Disparado quando a foto de um responsável é removida da plataforma.
responsible.student_linked Disparado quando um aluno é vinculado como responsável primário de um responsável.
responsible.student_unlinked Disparado quando um aluno é desvinculado do responsável primário.
responsible.additional_student_linked Disparado quando um aluno é vinculado como aluno adicional de um responsável.
responsible.additional_student_unlinked Disparado quando um aluno adicional é desvinculado de um responsável.
classroom.created Disparado quando uma nova turma é criada na plataforma.
classroom.updated Disparado quando os dados de uma turma são atualizados.
classroom.deleted Disparado quando uma turma é removida da plataforma.
preenrollment.applied Disparado quando uma solicitação de pré-matrícula é realizada.
preenrollment.allowed Disparado quando uma pré-matrícula é aprovada e o aluno é matriculado.
preenrollment.denied Disparado quando uma pré-matrícula é recusada.
preenrollment.denial_reverted Disparado quando a recusa de uma pré-matrícula é revertida.
school_year.created Disparado quando um novo ano letivo é criado.
school_year.updated Disparado quando os dados de um ano letivo são atualizados.
school_year.deleted Disparado quando um ano letivo é removido.
school_year.opened Disparado quando um ano letivo é aberto.
school_year.closed Disparado quando um ano letivo é encerrado.
school_year.preenrollment_toggled Disparado quando o status de pré-matrícula de um ano letivo é alternado.
subject.created Disparado quando uma nova disciplina é criada.
subject.updated Disparado quando os dados de uma disciplina são atualizados.
subject.deleted Disparado quando uma disciplina é removida.
grade_subject.attached Disparado quando uma disciplina é vinculada a uma série/ano.
grade_subject.detached Disparado quando uma disciplina é desvinculada de uma série/ano.
workload.created Disparado quando uma carga horária é criada.
workload.updated Disparado quando uma carga horária é atualizada.
workload.deleted Disparado quando uma carga horária é removida.
curriculum_plan.created Disparado quando um plano de curso (BNCC) é criado.
curriculum_plan.updated Disparado quando um plano de curso (BNCC) é atualizado.
global_schedule.updated Disparado quando o horário global (entrada/saída/tolerância) é atualizado.
weekly_schedule.updated Disparado quando o horário semanal é atualizado.
coordinator.created Disparado quando um coordenador é cadastrado.
coordinator.updated Disparado quando os dados de um coordenador são atualizados.
coordinator.deleted Disparado quando um coordenador é removido.
secretary.created Disparado quando um(a) secretário(a) é cadastrado(a).
secretary.updated Disparado quando os dados de um(a) secretário(a) são atualizados.
secretary.deleted Disparado quando um(a) secretário(a) é removido(a).
teacher.created Disparado quando um professor é cadastrado.
teacher.updated Disparado quando os dados de um professor são atualizados.
teacher.deleted Disparado quando um professor é removido.
agenda.created Disparado quando uma agenda é criada.
agenda.updated Disparado quando uma agenda é atualizada.
agenda.deleted Disparado quando uma agenda é removida.
lesson.created Disparado quando uma aula é criada.
lesson.updated Disparado quando uma aula é atualizada.
lesson.deleted Disparado quando uma aula é removida.
form_of_evaluation.created Disparado quando uma forma de avaliação é criada.
form_of_evaluation.updated Disparado quando os dados de uma forma de avaliação são atualizados.
form_of_evaluation.deleted Disparado quando uma forma de avaliação é removida.
entrance.created Disparado quando uma portaria/entrada é criada.
entrance.updated Disparado quando os dados de uma portaria/entrada são atualizados.
entrance.deleted Disparado quando uma portaria/entrada é removida.
assessment.saved Disparado quando uma nota de avaliação é criada ou atualizada.
assessment.deleted Disparado quando uma nota de avaliação é removida.
authorization.requested Disparado quando uma solicitação de autorização administrativa é criada (ex: alteração de status ou reativação de matrícula).
authorization.approved Disparado quando uma autorização administrativa é aprovada e a ação correspondente é executada.
authorization.rejected Disparado quando uma autorização administrativa é rejeitada.
classroom_schedule.saved Disparado quando a grade de períodos (horários de cada aula na semana) de uma turma é salva via API.
classroom_timetable.saved Disparado quando o quadro de horários de uma turma é salvo via API.
classroom_timetable.cleared Disparado quando o quadro de horários de uma turma é limpo/removido via API.
lesson_plan.saved Disparado quando um plano pedagógico é criado ou atualizado via API.
diary_entry.updated Disparado quando uma entrada do diário de classe é atualizada via API.
disciplinary_occurrence.created Disparado quando uma ocorrência disciplinar é registrada.
disciplinary_occurrence.updated Disparado quando uma ocorrência disciplinar é atualizada.
disciplinary_occurrence.deleted Disparado quando uma ocorrência disciplinar é removida.
class_council.created Disparado quando um conselho de classe é criado.
class_council.updated Disparado quando os dados de um conselho de classe são atualizados.
class_council.deleted Disparado quando um conselho de classe é removido.
class_council.closed Disparado quando um conselho de classe é encerrado.
class_council.homologated Disparado quando um conselho de classe é homologado.

Origem dos eventos

Todo evento é disparado quando a ação vem da API de parceiros. Alguns também são disparados quando a ação acontece fora da API; os demais vêm somente de chamadas à API.

Entrega assíncrona

Os webhooks são disparados via fila de jobs após a conclusão do evento. Sua URL deve responder com um status 2xx para confirmar o recebimento. Falhas consecutivas são registradas no log da plataforma.

attendance.check_in

Entrada de aluno

Disparado após o registro bem-sucedido de entrada de um aluno pelo equipamento facial (Control iD ou Topdata) da portaria, conectado diretamente ao Lumen — não há endpoint de API envolvido.

Campos do objeto data

school_cnpj string

CNPJ da escola onde o check-in foi registrado.

enrollment_number string

Número de matrícula do aluno.

checked_in_at datetime

Data e hora da entrada no formato Y-m-d H:i:s.

Payload — attendance.check_in
{
  "event": "attendance.check_in",
  "timestamp": "2026-04-30T08:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "checked_in_at": "2026-04-30 08:29:55"
  }
}
attendance.check_out

Saída de aluno

Disparado após o registro bem-sucedido de saída de um aluno pelo equipamento facial (Control iD ou Topdata) da portaria, conectado diretamente ao Lumen — não há endpoint de API envolvido.

Campos do objeto data

school_cnpj string

CNPJ da escola onde o check-out foi registrado.

enrollment_number string

Número de matrícula do aluno.

checked_out_at datetime

Data e hora da saída no formato Y-m-d H:i:s.

Payload — attendance.check_out
{
  "event": "attendance.check_out",
  "timestamp": "2026-04-30T17:45:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "checked_out_at": "2026-04-30 17:44:42"
  }
}
tssv.responsible_check_in

Verificação dupla — entrada do responsável

Disparado quando um responsável realiza a verificação dupla para retirada de aluno e há alunos aguardando custódia, seja pelo equipamento facial da escola, seja pelo app móvel.

Campos do objeto data

school_cnpj string

CNPJ da escola onde a verificação ocorreu.

responsible_cpf string

CPF do responsável que realizou a verificação.

checked_in_at datetime

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

Payload — tssv.responsible_check_in
{
  "event": "tssv.responsible_check_in",
  "timestamp": "2026-04-30T17:40:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "responsible_cpf": "123.456.789-00",
    "checked_in_at": "2026-04-30 17:39:48"
  }
}
student.created

Aluno criado

Disparado após o cadastro bem-sucedido de um novo aluno na plataforma.

Campos do objeto data

id string (uuid)

ID único do aluno criado.

school_cnpj string

CNPJ da escola onde o aluno foi cadastrado.

name string

Nome completo do aluno cadastrado.

birthdate date | null

Data de nascimento do aluno.

sex string | null

Sexo do aluno.

race string | null

Raça/cor do aluno.

nationality string | null

Nacionalidade do aluno.

cpf string | null

CPF do aluno (somente dígitos).

rg string | null

RG do aluno.

rg_issuer string | null

Órgão emissor do RG.

rg_issue_date date | null

Data de emissão do RG.

filiation_1 string | null

Nome do primeiro responsável/filiação.

filiation_2 string | null

Nome do segundo responsável/filiação.

additional_info string | null

Considerações adicionais sobre o aluno.

address object | null

Endereço residencial do aluno. Contém: address_type, cep, address, number, complement, district, city_id, state_id.

Payload — student.created
{
  "event": "student.created",
  "timestamp": "2026-04-30T09:00:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "name": "João da Silva",
    "birthdate": "2015-03-14",
    "sex": "Masculino",
    "race": null,
    "nationality": "Brasileiro(a)",
    "cpf": null,
    "rg": null,
    "rg_issuer": null,
    "rg_issue_date": null,
    "filiation_1": "Maria da Silva",
    "filiation_2": null,
    "additional_info": null,
    "address": {
      "address_type": "Residencial",
      "cep": "20040020",
      "address": "Rua da Assembleia",
      "number": "10",
      "complement": null,
      "district": "Centro",
      "city_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "state_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
    }
  }
}
student.updated

Aluno editado

Disparado após a atualização bem-sucedida dos dados de um aluno na plataforma.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string | null

Número de matrícula do aluno, ou null se não houver matrícula ativa.

name string

Nome completo atualizado do aluno.

birthdate date | null

Data de nascimento do aluno.

sex string | null

Sexo do aluno.

race string | null

Raça/cor do aluno.

nationality string | null

Nacionalidade do aluno.

cpf string | null

CPF do aluno (somente dígitos).

rg string | null

RG do aluno.

rg_issuer string | null

Órgão emissor do RG.

rg_issue_date date | null

Data de emissão do RG.

filiation_1 string | null

Nome do primeiro responsável/filiação.

filiation_2 string | null

Nome do segundo responsável/filiação.

additional_info string | null

Considerações adicionais sobre o aluno.

address object | null

Endereço residencial do aluno. Contém: address_type, cep, address, number, complement, district, city_id, state_id.

Payload — student.updated
{
  "event": "student.updated",
  "timestamp": "2026-04-30T11:00:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "name": "João da Silva",
    "birthdate": "2015-03-14",
    "sex": "Masculino",
    "race": null,
    "nationality": "Brasileiro(a)",
    "cpf": null,
    "rg": null,
    "rg_issuer": null,
    "rg_issue_date": null,
    "filiation_1": "Maria da Silva",
    "filiation_2": null,
    "additional_info": null,
    "address": {
      "address_type": "Residencial",
      "cep": "20040020",
      "address": "Rua da Assembleia",
      "number": "10",
      "complement": null,
      "district": "Centro",
      "city_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "state_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901"
    }
  }
}
student.deleted

Aluno removido

Disparado após a remoção bem-sucedida de um aluno da plataforma. Só é disparado quando o aluno não possui matrículas ativas.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}

Campos do objeto data

id string (uuid)

ID único do aluno removido.

school_cnpj string

CNPJ da escola do aluno removido.

name string

Nome completo do aluno removido.

Payload — student.deleted
{
  "event": "student.deleted",
  "timestamp": "2026-04-30T14:00:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "name": "João da Silva"
  }
}
student.enrolled

Aluno matriculado

Disparado após a matrícula bem-sucedida de um aluno em uma turma.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/student/{enrollment_number}/enroll

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno matriculado.

enrollment_number string|null

Número de matrícula do aluno.

name string

Nome completo do aluno.

Payload — student.enrolled
{
  "event": "student.enrolled",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "name": "Maria da Silva"
  }
}
student.enrollment_number_updated

Número de matrícula atualizado

Disparado após a atualização bem-sucedida do número de matrícula de um aluno.

URLs que disparam o webhook

PATCH /v1/partners/school/{cnpj}/enrollment/{enrollment_id}/number

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

old_enrollment_number string

Número de matrícula anterior.

new_enrollment_number string

Novo número de matrícula do aluno.

Payload — student.enrollment_number_updated
{
  "event": "student.enrollment_number_updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "old_enrollment_number": "2024001",
    "new_enrollment_number": "2025001"
  }
}
student.classroom_transferred

Aluno transferido de turma

Disparado quando um aluno é transferido internamente para outra turma da mesma escola.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string|null

Número de matrícula do aluno (mantido na nova turma).

from_classroom_id string (uuid)

ID da turma de origem.

to_classroom_id string (uuid)

ID da turma de destino.

reason string|null

Motivo da transferência, se informado.

Payload — student.classroom_transferred
{
  "event": "student.classroom_transferred",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "from_classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "to_classroom_id": "7ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "reason": "Mudança de período"
  }
}
student.transferred_external

Aluno transferido para outra escola

Disparado quando um aluno é transferido para outra escola (transferência externa), encerrando sua matrícula na escola atual.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola de origem.

enrollment_number string|null

Número de matrícula do aluno.

destination string|null

Nome da escola de destino, se informado.

partial_transcript boolean

Indica se foi emitido histórico parcial.

reason string|null

Motivo da transferência, se informado.

Payload — student.transferred_external
{
  "event": "student.transferred_external",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "destination": "Escola Estadual Nova Esperança",
    "partial_transcript": false,
    "reason": "Mudança de endereço da família"
  }
}
student.enrollment_status_changed

Status da matrícula alterado

Disparado quando o status de uma matrícula é alterado após aprovação de autorização administrativa.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string|null

Número de matrícula do aluno.

from_status string

Status anterior da matrícula.

to_status string

Novo status da matrícula.

reason string|null

Motivo da alteração de status, se informado.

Payload — student.enrollment_status_changed
{
  "event": "student.enrollment_status_changed",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "from_status": "MATRICULADO",
    "to_status": "TRANCADO",
    "reason": "Pedido da família"
  }
}
student.enrollment_force_deleted

Matrícula excluída definitivamente

Disparado quando uma matrícula é excluída de forma definitiva após aprovação administrativa, geralmente para desfazer uma transferência ou atualização de status incorreta.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string|null

Número de matrícula que foi excluída.

previous_status string

Status da matrícula antes da exclusão.

reason string|null

Motivo da exclusão, se informado.

Payload — student.enrollment_force_deleted
{
  "event": "student.enrollment_force_deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "previous_status": "TRANSFERIDO",
    "reason": "Transferência registrada incorretamente"
  }
}
student.enrollment_reactivated

Matrícula reativada

Disparado quando uma matrícula inativa é reativada após aprovação de autorização administrativa.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string|null

Número de matrícula reativada.

from_status string

Status anterior da matrícula antes da reativação.

to_status string

Novo status da matrícula (sempre MATRICULADO).

Payload — student.enrollment_reactivated
{
  "event": "student.enrollment_reactivated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "2025001",
    "from_status": "TRANCADO",
    "to_status": "MATRICULADO"
  }
}
student.photo_uploaded

Foto de aluno enviada

Disparado após o envio bem-sucedido de uma foto de aluno. Só é disparado quando o upload é processado com sucesso.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/student/{enrollment_number}/photo

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string

Número de matrícula do aluno cuja foto foi enviada.

Payload — student.photo_uploaded
{
  "event": "student.photo_uploaded",
  "timestamp": "2026-04-30T10:15:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553"
  }
}
student.photo_status_updated

Status da foto de aluno atualizado

Disparado quando o equipamento facial da escola aceita (aprovado) ou recusa (rejeitado) a foto do aluno ao cadastrar a face, e o status da foto muda.

Campos do objeto data

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string

Número de matrícula do aluno.

status string

Novo status da foto: approved ou rejected.

Payload — student.photo_status_updated
{
  "event": "student.photo_status_updated",
  "timestamp": "2026-04-30T11:25:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "status": "approved"
  }
}
student.photo_deleted

Foto de aluno removida

Disparado após a remoção bem-sucedida da foto de um aluno da plataforma.

Campos do objeto data

id string (uuid)

ID único do aluno.

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string

Número de matrícula do aluno cuja foto foi removida.

Payload — student.photo_deleted
{
  "event": "student.photo_deleted",
  "timestamp": "2026-04-30T10:20:00-03:00",
  "data": {
    "id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553"
  }
}
responsible.created

Responsável criado

Disparado após o cadastro bem-sucedido de um novo responsável na plataforma.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/responsible

Campos do objeto data

school_cnpj string

CNPJ da escola associada ao responsável.

cpf string

CPF do responsável cadastrado.

Payload — responsible.created
{
  "event": "responsible.created",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00"
  }
}
responsible.updated

Responsável editado

Disparado após a atualização bem-sucedida dos dados de um responsável na plataforma.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola associada ao responsável.

cpf string

CPF do responsável atualizado.

Payload — responsible.updated
{
  "event": "responsible.updated",
  "timestamp": "2026-04-30T11:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00"
  }
}
responsible.deleted

Responsável removido

Disparado após a remoção bem-sucedida de um responsável da plataforma. Só é disparado quando o responsável não possui alunos vinculados.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola associada ao responsável removido.

cpf string

CPF do responsável removido.

Payload — responsible.deleted
{
  "event": "responsible.deleted",
  "timestamp": "2026-04-30T15:00:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00"
  }
}
responsible.photo_uploaded

Foto de responsável enviada

Disparado após o envio bem-sucedido de uma foto de responsável: pela API, pelo cadastro ou edição do responsável no sistema web ou pelo app móvel. Só é disparado quando o upload é processado com sucesso.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/responsible/{cpf}/photo

Campos do objeto data

school_cnpj string

CNPJ da escola associada ao responsável.

cpf string

CPF do responsável cuja foto foi enviada.

Payload — responsible.photo_uploaded
{
  "event": "responsible.photo_uploaded",
  "timestamp": "2026-04-30T10:45:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00"
  }
}
responsible.photo_status_updated

Status da foto de responsável atualizado

Disparado quando o equipamento facial da escola aceita (aprovado) ou recusa (rejeitado) a foto do responsável ao cadastrar a face, e o status da foto muda.

Campos do objeto data

school_cnpj string

CNPJ da escola do responsável.

cpf string

CPF do responsável.

status string

Novo status da foto: approved ou rejected.

Payload — responsible.photo_status_updated
{
  "event": "responsible.photo_status_updated",
  "timestamp": "2026-04-30T11:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "status": "rejected"
  }
}
responsible.photo_deleted

Foto de responsável removida

Disparado após a remoção bem-sucedida da foto de um responsável da plataforma.

Campos do objeto data

school_cnpj string

CNPJ da escola associada ao responsável.

cpf string

CPF do responsável cuja foto foi removida.

Payload — responsible.photo_deleted
{
  "event": "responsible.photo_deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00"
  }
}
classroom.created

Turma criada

Disparado após a criação bem-sucedida de uma nova turma na plataforma.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/classroom

Campos do objeto data

school_cnpj string

CNPJ da escola à qual a turma pertence.

classroom_name string

Nome da turma criada.

Payload — classroom.created
{
  "event": "classroom.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_name": "3º Ano A"
  }
}
classroom.updated

Turma atualizada

Disparado após a atualização bem-sucedida dos dados de uma turma.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/classroom/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola à qual a turma pertence.

classroom_name string

Nome atualizado da turma.

Payload — classroom.updated
{
  "event": "classroom.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_name": "3º Ano A"
  }
}
classroom.deleted

Turma removida

Disparado após a remoção bem-sucedida de uma turma da plataforma.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/classroom/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola à qual a turma pertencia.

classroom_name string

Nome da turma removida.

Payload — classroom.deleted
{
  "event": "classroom.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_name": "3º Ano A"
  }
}
preenrollment.applied

Pré-matrícula solicitada

Disparado após o envio bem-sucedido de uma solicitação de pré-matrícula.

Campos do objeto data

school_cnpj string

CNPJ da escola onde a pré-matrícula foi solicitada.

preenrollment_number string

Número único gerado para a pré-matrícula.

student_name string

Nome do aluno para o qual a pré-matrícula foi solicitada.

responsible_cpf string

CPF do responsável que realizou a solicitação.

Payload — preenrollment.applied
{
  "event": "preenrollment.applied",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "preenrollment_number": "PRE-78901748900000",
    "student_name": "Maria da Silva",
    "responsible_cpf": "123.456.789-00"
  }
}
preenrollment.allowed

Pré-matrícula aprovada

Disparado após a aprovação de uma pré-matrícula e a consequente matrícula do aluno na turma.

Campos do objeto data

school_cnpj string

CNPJ da escola onde a pré-matrícula foi aprovada.

preenrollment_number string

Número da pré-matrícula aprovada.

student_name string

Nome do aluno matriculado.

Payload — preenrollment.allowed
{
  "event": "preenrollment.allowed",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "preenrollment_number": "PRE-78901748900000",
    "student_name": "Maria da Silva"
  }
}
preenrollment.denied

Pré-matrícula recusada

Disparado após a recusa de uma pré-matrícula pela escola.

Campos do objeto data

school_cnpj string

CNPJ da escola onde a pré-matrícula foi recusada.

preenrollment_number string

Número da pré-matrícula recusada.

Payload — preenrollment.denied
{
  "event": "preenrollment.denied",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "preenrollment_number": "PRE-78901748900000"
  }
}
preenrollment.denial_reverted

Recusa de pré-matrícula revertida

Disparado após a reversão de uma recusa de pré-matrícula, retornando-a ao status pendente.

Campos do objeto data

school_cnpj string

CNPJ da escola onde a recusa foi revertida.

preenrollment_number string

Número da pré-matrícula cuja recusa foi revertida.

Payload — preenrollment.denial_reverted
{
  "event": "preenrollment.denial_reverted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "preenrollment_number": "PRE-78901748900000"
  }
}
responsible.student_linked

Aluno vinculado ao responsável

Disparado após o vínculo bem-sucedido de um aluno como responsável primário de um responsável. Disparado em conjunto com o evento student.responsible_linked.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}
POST /v1/partners/school/{cnpj}/student/{enrollment_number}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do responsável.

cpf string

CPF do responsável ao qual o aluno foi vinculado.

enrollment_number string

Número de matrícula do aluno vinculado.

Payload — responsible.student_linked
{
  "event": "responsible.student_linked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
responsible.student_unlinked

Aluno desvinculado do responsável

Disparado após o desvínculo bem-sucedido de um aluno do responsável primário. Disparado em conjunto com o evento student.responsible_unlinked.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}
DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do responsável.

cpf string

CPF do responsável do qual o aluno foi desvinculado.

enrollment_number string

Número de matrícula do aluno desvinculado.

Payload — responsible.student_unlinked
{
  "event": "responsible.student_unlinked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
responsible.additional_student_linked

Aluno adicional vinculado ao responsável

Disparado após o vínculo bem-sucedido de um aluno como aluno adicional de um responsável.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/responsible/{cpf}/additional-student/{enrollment_number}

Campos do objeto data

school_cnpj string

CNPJ da escola do responsável.

cpf string

CPF do responsável ao qual o aluno adicional foi vinculado.

enrollment_number string

Número de matrícula do aluno adicional vinculado.

Payload — responsible.additional_student_linked
{
  "event": "responsible.additional_student_linked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
responsible.additional_student_unlinked

Aluno adicional desvinculado do responsável

Disparado após o desvínculo bem-sucedido de um aluno adicional de um responsável.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/responsible/{cpf}/additional-student/{enrollment_number}

Campos do objeto data

school_cnpj string

CNPJ da escola do responsável.

cpf string

CPF do responsável do qual o aluno adicional foi desvinculado.

enrollment_number string

Número de matrícula do aluno adicional desvinculado.

Payload — responsible.additional_student_unlinked
{
  "event": "responsible.additional_student_unlinked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
student.responsible_linked

Responsável primário vinculado ao aluno

Disparado junto ao evento responsible.student_linked quando um responsável primário é vinculado a um aluno. Representa a mesma operação da perspectiva do aluno.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}
POST /v1/partners/school/{cnpj}/student/{enrollment_number}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do aluno.

cpf string

CPF do responsável primário vinculado.

enrollment_number string

Número de matrícula do aluno ao qual o responsável foi vinculado.

Payload — student.responsible_linked
{
  "event": "student.responsible_linked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
student.responsible_unlinked

Responsável primário desvinculado do aluno

Disparado junto ao evento responsible.student_unlinked quando um responsável primário é desvinculado de um aluno. Representa a mesma operação da perspectiva do aluno.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}
DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}/responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do aluno.

cpf string

CPF do responsável primário desvinculado.

enrollment_number string

Número de matrícula do aluno do qual o responsável foi desvinculado.

Payload — student.responsible_unlinked
{
  "event": "student.responsible_unlinked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "cpf": "123.456.789-00",
    "enrollment_number": "7.553"
  }
}
student.additional_responsible_linked

Responsável adicional vinculado ao aluno

Disparado após o vínculo bem-sucedido de um responsável adicional a um aluno.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string

Número de matrícula do aluno ao qual o responsável foi vinculado.

cpf string

CPF do responsável adicional vinculado.

Payload — student.additional_responsible_linked
{
  "event": "student.additional_responsible_linked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "cpf": "123.456.789-00"
  }
}
student.additional_responsible_unlinked

Responsável adicional desvinculado do aluno

Disparado após o desvínculo bem-sucedido de um responsável adicional de um aluno.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}

Campos do objeto data

school_cnpj string

CNPJ da escola do aluno.

enrollment_number string

Número de matrícula do aluno do qual o responsável foi desvinculado.

cpf string

CPF do responsável adicional desvinculado.

Payload — student.additional_responsible_unlinked
{
  "event": "student.additional_responsible_unlinked",
  "timestamp": "2026-04-30T09:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "enrollment_number": "7.553",
    "cpf": "123.456.789-00"
  }
}
school_year.created

Ano letivo criado

Disparado após a criação bem-sucedida de um novo ano letivo.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/school-year

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome do ano letivo.

year integer

Ano do ano letivo.

Payload — school_year.created
{
  "event": "school_year.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026
  }
}
school_year.updated

Ano letivo atualizado

Disparado após a atualização dos dados de um ano letivo.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/school-year/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome atualizado do ano letivo.

year integer

Ano do ano letivo.

Payload — school_year.updated
{
  "event": "school_year.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026
  }
}
school_year.deleted

Ano letivo removido

Disparado após a remoção bem-sucedida de um ano letivo.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/school-year/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome do ano letivo removido.

year integer

Ano do ano letivo removido.

Payload — school_year.deleted
{
  "event": "school_year.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026
  }
}
school_year.opened

Ano letivo aberto

Disparado quando um ano letivo é aberto.

URLs que disparam o webhook

PATCH /v1/partners/school/{cnpj}/school-year/{id}/open

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome do ano letivo.

year integer

Ano do ano letivo.

Payload — school_year.opened
{
  "event": "school_year.opened",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026
  }
}
school_year.closed

Ano letivo encerrado

Disparado quando um ano letivo é encerrado.

URLs que disparam o webhook

PATCH /v1/partners/school/{cnpj}/school-year/{id}/close

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome do ano letivo.

year integer

Ano do ano letivo.

Payload — school_year.closed
{
  "event": "school_year.closed",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026
  }
}
school_year.preenrollment_toggled

Pré-matrícula do ano letivo alternada

Disparado quando o status de pré-matrícula de um ano letivo é alternado.

URLs que disparam o webhook

PATCH /v1/partners/school/{cnpj}/school-year/{id}/preenrollment/toggle

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome do ano letivo.

year integer

Ano do ano letivo.

status boolean

Novo status de pré-matrícula (true = habilitada, false = desabilitada).

Payload — school_year.preenrollment_toggled
{
  "event": "school_year.preenrollment_toggled",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Ano Letivo 2026",
    "year": 2026,
    "status": true
  }
}
subject.created

Disciplina criada

Disparado após a criação de uma nova disciplina.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/subject

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome da disciplina.

abbreviation string

Abreviação da disciplina.

Payload — subject.created
{
  "event": "subject.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Matemática",
    "abbreviation": "MAT"
  }
}
subject.updated

Disciplina atualizada

Disparado após a atualização dos dados de uma disciplina.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/subject/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome atualizado da disciplina.

abbreviation string

Abreviação atualizada da disciplina.

Payload — subject.updated
{
  "event": "subject.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Matemática",
    "abbreviation": "MAT"
  }
}
subject.deleted

Disciplina removida

Disparado após a remoção de uma disciplina.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/subject/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

name string

Nome da disciplina removida.

Payload — subject.deleted
{
  "event": "subject.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "name": "Matemática"
  }
}
grade_subject.attached

Disciplina vinculada à série/ano

Disparado quando uma disciplina é vinculada a uma série/ano.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/grade/{gradeId}/subject

Campos do objeto data

school_cnpj string

CNPJ da escola.

grade_id integer

ID da série/ano.

subject_id integer

ID da disciplina vinculada.

Payload — grade_subject.attached
{
  "event": "grade_subject.attached",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "grade_id": 12,
    "subject_id": 45
  }
}
grade_subject.detached

Disciplina desvinculada da série/ano

Disparado quando uma disciplina é desvinculada de uma série/ano.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/grade/{gradeId}/subject/{subjectId}

Campos do objeto data

school_cnpj string

CNPJ da escola.

grade_id integer

ID da série/ano.

subject_id integer

ID da disciplina desvinculada.

Payload — grade_subject.detached
{
  "event": "grade_subject.detached",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "grade_id": 12,
    "subject_id": 45
  }
}
workload.created

Carga horária criada

Disparado após a criação de uma carga horária.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/workload

Campos do objeto data

school_cnpj string

CNPJ da escola.

grade_id integer

ID da série/ano.

subject_id integer

ID da disciplina.

Payload — workload.created
{
  "event": "workload.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "grade_id": 12,
    "subject_id": 45
  }
}
workload.updated

Carga horária atualizada

Disparado após a atualização de uma carga horária.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/workload/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

grade_id integer

ID da série/ano.

subject_id integer

ID da disciplina.

Payload — workload.updated
{
  "event": "workload.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "grade_id": 12,
    "subject_id": 45
  }
}
workload.deleted

Carga horária removida

Disparado após a remoção de uma carga horária.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/workload/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

grade_id integer

ID da série/ano.

subject_id integer

ID da disciplina.

Payload — workload.deleted
{
  "event": "workload.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "grade_id": 12,
    "subject_id": 45
  }
}
curriculum_plan.created

Plano de curso (BNCC) criado

Disparado após a criação de um plano de curso baseado na BNCC.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/curriculum-plan

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID do plano de curso criado.

school_year_id integer

ID do ano letivo associado.

grade_id integer

ID da série/ano associada.

Payload — curriculum_plan.created
{
  "event": "curriculum_plan.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 101,
    "school_year_id": 7,
    "grade_id": 12
  }
}
curriculum_plan.updated

Plano de curso (BNCC) atualizado

Disparado após a atualização de um plano de curso baseado na BNCC.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/curriculum-plan/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID do plano de curso.

school_year_id integer

ID do ano letivo associado.

grade_id integer

ID da série/ano associada.

Payload — curriculum_plan.updated
{
  "event": "curriculum_plan.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 101,
    "school_year_id": 7,
    "grade_id": 12
  }
}
global_schedule.updated

Horário global atualizado

Disparado após a atualização do horário global da escola (entrada, saída e tolerância).

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/global-schedule

Campos do objeto data

school_cnpj string

CNPJ da escola.

Payload — global_schedule.updated
{
  "event": "global_schedule.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122"
  }
}
weekly_schedule.updated

Horário semanal atualizado

Disparado após a atualização do horário semanal da escola.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/weekly-schedule

Campos do objeto data

school_cnpj string

CNPJ da escola.

Payload — weekly_schedule.updated
{
  "event": "weekly_schedule.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122"
  }
}
coordinator.created

Coordenador cadastrado

Disparado após o cadastro de um novo coordenador.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/coordinator

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do coordenador.

Payload — coordinator.created
{
  "event": "coordinator.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "coordenador@escola.com"
  }
}
coordinator.updated

Coordenador atualizado

Disparado após a atualização dos dados de um coordenador.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/coordinator/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail atual do coordenador.

Payload — coordinator.updated
{
  "event": "coordinator.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "coordenador@escola.com"
  }
}
coordinator.deleted

Coordenador removido

Disparado após a remoção de um coordenador.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/coordinator/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do coordenador removido.

Payload — coordinator.deleted
{
  "event": "coordinator.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "coordenador@escola.com"
  }
}
secretary.created

Secretário(a) cadastrado(a)

Disparado após o cadastro de um(a) novo(a) secretário(a).

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/secretary

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do(a) secretário(a).

Payload — secretary.created
{
  "event": "secretary.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "secretaria@escola.com"
  }
}
secretary.updated

Secretário(a) atualizado(a)

Disparado após a atualização dos dados de um(a) secretário(a).

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/secretary/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail atual do(a) secretário(a).

Payload — secretary.updated
{
  "event": "secretary.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "secretaria@escola.com"
  }
}
secretary.deleted

Secretário(a) removido(a)

Disparado após a remoção de um(a) secretário(a).

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/secretary/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do(a) secretário(a) removido(a).

Payload — secretary.deleted
{
  "event": "secretary.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "secretaria@escola.com"
  }
}
teacher.created

Professor cadastrado

Disparado após o cadastro de um novo professor.

URLs que disparam o webhook

POST /v1/partners/school/{cnpj}/teacher

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do professor.

Payload — teacher.created
{
  "event": "teacher.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "professor@escola.com"
  }
}
teacher.updated

Professor atualizado

Disparado após a atualização dos dados de um professor.

URLs que disparam o webhook

PUT /v1/partners/school/{cnpj}/teacher/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail atual do professor.

Payload — teacher.updated
{
  "event": "teacher.updated",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "professor@escola.com"
  }
}
teacher.deleted

Professor removido

Disparado após a remoção de um professor.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/teacher/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

email string

E-mail do professor removido.

Payload — teacher.deleted
{
  "event": "teacher.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "email": "professor@escola.com"
  }
}
agenda.created

Agenda criada

Disparado após a criação de uma nova agenda no sistema.

Origem do evento

Este evento é disparado quando uma agenda é criada pelo painel administrativo da escola.

Campos do objeto data

id string (uuid)

ID da agenda criada.

school_cnpj string

CNPJ da escola.

subject string

Assunto da agenda.

description string|null

Descrição da agenda.

Payload — agenda.created
{
  "event": "agenda.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "school_cnpj": "26019466000122",
    "subject": "Reunião de pais e mestres",
    "description": "Informações sobre o calendário escolar."
  }
}
agenda.updated

Agenda atualizada

Disparado após a atualização de uma agenda existente.

Origem do evento

Este evento é disparado quando uma agenda é editada pelo painel administrativo da escola.

Campos do objeto data

id string (uuid)

ID da agenda atualizada.

school_cnpj string

CNPJ da escola.

subject string

Assunto atualizado da agenda.

description string|null

Descrição atualizada da agenda.

Payload — agenda.updated
{
  "event": "agenda.updated",
  "timestamp": "2026-04-30T11:00:00-03:00",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "school_cnpj": "26019466000122",
    "subject": "Reunião de pais e mestres — atualizado",
    "description": "Detalhes atualizados do evento."
  }
}
agenda.deleted

Agenda removida

Disparado após a remoção de uma agenda.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/agenda/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID da agenda removida.

Payload — agenda.deleted
{
  "event": "agenda.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 321
  }
}
lesson.created

Aula criada

Disparado após a criação de uma nova aula no sistema.

Origem do evento

Este evento é disparado quando uma aula é criada pelo painel administrativo da escola.

Campos do objeto data

id string (uuid)

ID da aula criada.

school_cnpj string

CNPJ da escola.

title string

Título da aula.

description string|null

Descrição da aula.

Payload — lesson.created
{
  "event": "lesson.created",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "school_cnpj": "26019466000122",
    "title": "Introdução à Matemática",
    "description": "Conceitos básicos de aritmética."
  }
}
lesson.updated

Aula atualizada

Disparado após a atualização de uma aula existente.

Origem do evento

Este evento é disparado quando uma aula é editada pelo painel administrativo da escola.

Campos do objeto data

id string (uuid)

ID da aula atualizada.

school_cnpj string

CNPJ da escola.

title string

Título atualizado da aula.

description string|null

Descrição atualizada da aula.

Payload — lesson.updated
{
  "event": "lesson.updated",
  "timestamp": "2026-04-30T11:00:00-03:00",
  "data": {
    "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "school_cnpj": "26019466000122",
    "title": "Introdução à Matemática — revisado",
    "description": "Conceitos básicos revisados."
  }
}
lesson.deleted

Aula removida

Disparado após a remoção de uma aula.

URLs que disparam o webhook

DELETE /v1/partners/school/{cnpj}/lesson/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID da aula removida.

Payload — lesson.deleted
{
  "event": "lesson.deleted",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 987
  }
}
form_of_evaluation.created

Forma de avaliação criada

Disparado após a criação bem-sucedida de uma forma de avaliação.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/school-year/{school_year_id}/form-of-evaluation

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID único da forma de avaliação criada.

school_year_id integer

ID do ano letivo ao qual pertence a forma de avaliação.

name string

Nome da forma de avaliação.

Payload — form_of_evaluation.created
{
  "event": "form_of_evaluation.created",
  "timestamp": "2026-04-30T10:55:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 12,
    "school_year_id": 3,
    "name": "Bimestral"
  }
}
form_of_evaluation.updated

Forma de avaliação atualizada

Disparado após a atualização bem-sucedida dos dados de uma forma de avaliação.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/form-of-evaluation/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID único da forma de avaliação atualizada.

school_year_id integer

ID do ano letivo ao qual pertence a forma de avaliação.

name string

Nome atualizado da forma de avaliação.

Payload — form_of_evaluation.updated
{
  "event": "form_of_evaluation.updated",
  "timestamp": "2026-04-30T11:00:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 12,
    "school_year_id": 3,
    "name": "Trimestral"
  }
}
form_of_evaluation.deleted

Forma de avaliação removida

Disparado após a remoção bem-sucedida de uma forma de avaliação.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/form-of-evaluation/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID da forma de avaliação removida.

name string

Nome da forma de avaliação removida.

Payload — form_of_evaluation.deleted
{
  "event": "form_of_evaluation.deleted",
  "timestamp": "2026-04-30T11:05:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 12,
    "name": "Bimestral"
  }
}
entrance.created

Portaria/entrada criada

Disparado após a criação bem-sucedida de uma portaria/entrada da escola.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/entrance

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID único da portaria/entrada criada.

name string

Nome da portaria/entrada.

Payload — entrance.created
{
  "event": "entrance.created",
  "timestamp": "2026-04-30T11:10:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 5,
    "name": "Portaria Principal"
  }
}
entrance.updated

Portaria/entrada atualizada

Disparado após a atualização bem-sucedida dos dados de uma portaria/entrada.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/entrance/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID único da portaria/entrada atualizada.

name string

Nome atualizado da portaria/entrada.

Payload — entrance.updated
{
  "event": "entrance.updated",
  "timestamp": "2026-04-30T11:15:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 5,
    "name": "Portaria Secundária"
  }
}
entrance.deleted

Portaria/entrada removida

Disparado após a remoção bem-sucedida de uma portaria/entrada da escola.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/entrance/{id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

id integer

ID da portaria/entrada removida.

name string

Nome da portaria/entrada removida.

Payload — entrance.deleted
{
  "event": "entrance.deleted",
  "timestamp": "2026-04-30T11:20:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "id": 5,
    "name": "Portaria Principal"
  }
}
assessment.saved

Nota salva

Disparado após a criação ou atualização bem-sucedida de uma nota de avaliação.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/classroom/{classroom_id}/score

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_id string (UUID)

ID da turma à qual a nota pertence.

subject_id string (UUID)

ID da disciplina avaliada.

enrollment_number string

Número de matrícula do aluno.

period integer

Período (bimestre/trimestre) da avaliação.

evaluation_assessment_id string|null (UUID)

ID da avaliação específica, quando aplicável.

is_recovery boolean

Indica se a nota é de recuperação paralela.

score number|null

Valor da nota. Pode ser null quando ainda não lançada.

Payload — assessment.saved
{
  "event": "assessment.saved",
  "timestamp": "2026-04-30T11:25:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "subject_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "enrollment_number": "2024001",
    "period": 1,
    "evaluation_assessment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "is_recovery": false,
    "score": 8.5
  }
}
assessment.deleted

Nota removida

Disparado após a remoção bem-sucedida de uma nota de avaliação.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/classroom/{classroom_id}/score/{score_id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

score_id string (UUID)

ID da nota removida.

classroom_id string (UUID)

ID da turma à qual a nota pertencia.

subject_id string (UUID)

ID da disciplina à qual a nota pertencia.

Payload — assessment.deleted
{
  "event": "assessment.deleted",
  "timestamp": "2026-04-30T11:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "score_id": "550e8400-e29b-41d4-a716-446655440001",
    "classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "subject_id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
  }
}
authorization.requested

Autorização solicitada

Disparado quando um usuário solicita uma ação que requer aprovação administrativa (concedida, por padrão, aos perfis Direção, Gestão e Rede).

Campos do objeto data

id string (uuid)

ID único da autorização.

type string

Tipo da autorização solicitada (ex: ENROLLMENT_STATUS_UPDATE, ENROLLMENT_REACTIVATION).

status string

Status atual da autorização (sempre PENDING neste evento).

target_type string|null

Tipo do recurso alvo da autorização (ex: enrollment).

target_id string (uuid)|null

ID do recurso alvo da autorização.

payload object|null

Dados adicionais específicos do tipo de autorização.

request_reason string|null

Motivo informado pelo solicitante.

Payload — authorization.requested
{
  "event": "authorization.requested",
  "timestamp": "2026-04-30T10:50:00-03:00",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ENROLLMENT_STATUS_UPDATE",
    "status": "PENDING",
    "target_type": "enrollment",
    "target_id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "payload": { "new_status": "TRANCADO" },
    "request_reason": "Pedido da família"
  }
}
authorization.approved

Autorização aprovada

Disparado quando a direção aprova uma autorização administrativa, executando a ação solicitada.

Campos do objeto data

id string (uuid)

ID único da autorização.

type string

Tipo da autorização.

status string

Status da autorização (sempre APPROVED neste evento).

target_type string|null

Tipo do recurso alvo da autorização.

target_id string (uuid)|null

ID do recurso alvo da autorização.

payload object|null

Dados adicionais específicos do tipo de autorização.

decision_reason string|null

Justificativa registrada por quem aprovou.

decided_at string (ISO 8601)

Data e hora em que a decisão foi tomada.

Payload — authorization.approved
{
  "event": "authorization.approved",
  "timestamp": "2026-04-30T11:00:00-03:00",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ENROLLMENT_STATUS_UPDATE",
    "status": "APPROVED",
    "target_type": "enrollment",
    "target_id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "payload": { "new_status": "TRANCADO" },
    "decision_reason": "Aprovado conforme solicitação",
    "decided_at": "2026-04-30T11:00:00-03:00"
  }
}
authorization.rejected

Autorização recusada

Disparado quando a direção recusa uma autorização administrativa, cancelando a ação solicitada.

Campos do objeto data

id string (uuid)

ID único da autorização.

type string

Tipo da autorização.

status string

Status da autorização (sempre REJECTED neste evento).

target_type string|null

Tipo do recurso alvo da autorização.

target_id string (uuid)|null

ID do recurso alvo da autorização.

payload object|null

Dados adicionais específicos do tipo de autorização.

decision_reason string

Justificativa registrada por quem recusou.

decided_at string (ISO 8601)

Data e hora em que a decisão foi tomada.

Payload — authorization.rejected
{
  "event": "authorization.rejected",
  "timestamp": "2026-04-30T11:05:00-03:00",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ENROLLMENT_STATUS_UPDATE",
    "status": "REJECTED",
    "target_type": "enrollment",
    "target_id": "9faea287-2f03-4b26-b234-c9e65a4e3f01",
    "payload": { "new_status": "TRANCADO" },
    "decision_reason": "Documentação insuficiente",
    "decided_at": "2026-04-30T11:05:00-03:00"
  }
}
classroom_schedule.saved

Grade de períodos da turma salva

Disparado após o salvamento da grade de períodos de uma turma (dia da semana, ordem, tipo e horário de início de cada período) via API. A grade é a base do quadro de horários.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/classroom/{classroom_id}/schedule

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_id string (UUID)

ID da turma cuja grade foi salva.

classroom_name string

Nome da turma.

Payload — classroom_schedule.saved
{
  "event": "classroom_schedule.saved",
  "timestamp": "2026-05-22T08:55:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "classroom_name": "3º Ano A"
  }
}
classroom_timetable.saved

Quadro de horários salvo

Disparado após o salvamento bem-sucedido do quadro de horários de uma turma via API.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/classroom/{classroom_id}/timetable

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_id string (UUID)

ID da turma cujo quadro foi salvo.

classroom_name string

Nome da turma.

entries_count integer

Número de entradas salvas no quadro de horários.

Payload — classroom_timetable.saved
{
  "event": "classroom_timetable.saved",
  "timestamp": "2026-05-22T09:00:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "classroom_name": "3º Ano A",
    "entries_count": 25
  }
}
classroom_timetable.cleared

Quadro de horários limpo

Disparado após a remoção bem-sucedida de todas as entradas do quadro de horários de uma turma via API.

URL que dispara o webhook

DELETE /v1/partners/school/{cnpj}/classroom/{classroom_id}/timetable

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_id string (UUID)

ID da turma cujo quadro foi limpo.

classroom_name string

Nome da turma.

Payload — classroom_timetable.cleared
{
  "event": "classroom_timetable.cleared",
  "timestamp": "2026-05-22T09:10:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_id": "550e8400-e29b-41d4-a716-446655440000",
    "classroom_name": "3º Ano A"
  }
}
lesson_plan.saved

Plano pedagógico salvo

Disparado após a criação ou atualização bem-sucedida de um plano pedagógico associado a uma aula via API.

URL que dispara o webhook

POST /v1/partners/school/{cnpj}/lesson/{lesson_id}/lesson-plan

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_lesson_id string (UUID)

ID da aula à qual o plano pedagógico está vinculado.

lesson_plan_id string (UUID)

ID do plano pedagógico criado ou atualizado.

Payload — lesson_plan.saved
{
  "event": "lesson_plan.saved",
  "timestamp": "2026-05-22T10:00:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_lesson_id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "lesson_plan_id": "d4e5f6a7-b8c9-0123-de45-fa67bc890123"
  }
}
diary_entry.updated

Entrada do diário de classe atualizada

Disparado após a atualização bem-sucedida de uma entrada no diário de classe via API. Entradas bloqueadas não disparam este evento.

URL que dispara o webhook

PUT /v1/partners/school/{cnpj}/classroom/{classroom_id}/diary/{entry_id}

Campos do objeto data

school_cnpj string

CNPJ da escola.

classroom_id string (UUID)

ID da turma à qual a entrada pertence.

entry_id string (UUID)

ID da entrada do diário que foi atualizada.

Payload — diary_entry.updated
{
  "event": "diary_entry.updated",
  "timestamp": "2026-05-22T10:30:00-03:00",
  "data": {
    "school_cnpj": "26019466000122",
    "classroom_id": "b2c3d4e5-f6a7-8901-bc23-de45fa678901",
    "entry_id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890"
  }
}
disciplinary_occurrence.created

Disparado quando uma nova ocorrência disciplinar é registrada para um aluno via API de parceiros.

Campos do data

idstring (UUID)

Identificador único da ocorrência disciplinar.

school_cnpjstring

CNPJ da escola onde a ocorrência foi registrada.

student_idstring (UUID)

Identificador do aluno envolvido na ocorrência.

occurred_atstring (Y-m-d)

Data em que a ocorrência aconteceu.

gravidadeinteger (1–5)

Nível de gravidade: 1 = Leve, 2 = Moderada, 3 = Grave, 4 = Muito Grave, 5 = Crítica.

Payload — disciplinary_occurrence.created
{
  "event": "disciplinary_occurrence.created",
  "timestamp": "2026-05-24T09:00:00-03:00",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "school_cnpj": "26019466000122",
    "student_id": "b2c3d4e5-f6a7-8901-bc23-de45fa678901",
    "occurred_at": "2026-05-23",
    "gravidade": 2
  }
}
disciplinary_occurrence.updated

Disparado quando uma ocorrência disciplinar existente é atualizada via API de parceiros.

Campos do data

idstring (UUID)

Identificador único da ocorrência disciplinar.

school_cnpjstring

CNPJ da escola onde a ocorrência está registrada.

student_idstring (UUID)

Identificador do aluno envolvido na ocorrência.

Payload — disciplinary_occurrence.updated
{
  "event": "disciplinary_occurrence.updated",
  "timestamp": "2026-05-24T09:15:00-03:00",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "school_cnpj": "26019466000122",
    "student_id": "b2c3d4e5-f6a7-8901-bc23-de45fa678901"
  }
}
disciplinary_occurrence.deleted

Disparado quando uma ocorrência disciplinar é removida via API de parceiros.

Campos do data

idstring (UUID)

Identificador único da ocorrência disciplinar removida.

school_cnpjstring

CNPJ da escola onde a ocorrência estava registrada.

Payload — disciplinary_occurrence.deleted
{
  "event": "disciplinary_occurrence.deleted",
  "timestamp": "2026-05-24T09:20:00-03:00",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890",
    "school_cnpj": "26019466000122"
  }
}
class_council.created

Disparado quando um novo conselho de classe é criado via API de parceiros.

Campos do data

idstring (UUID)

Identificador único do conselho de classe.

school_cnpjstring

CNPJ da escola do conselho.

classroom_idstring (UUID)

Identificador da turma referente ao conselho.

periodointeger (1–4)

Período letivo do conselho (bimestre ou trimestre).

statusstring

Status do conselho. Ao ser criado, sempre rascunho.

Payload — class_council.created
{
  "event": "class_council.created",
  "timestamp": "2026-05-24T10:00:00-03:00",
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "school_cnpj": "26019466000122",
    "classroom_id": "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
    "periodo": 2,
    "status": "rascunho"
  }
}
class_council.updated

Disparado quando os dados de um conselho de classe são atualizados via API de parceiros.

Campos do data

idstring (UUID)

Identificador único do conselho de classe.

school_cnpjstring

CNPJ da escola do conselho.

classroom_idstring (UUID)

Identificador da turma referente ao conselho.

Payload — class_council.updated
{
  "event": "class_council.updated",
  "timestamp": "2026-05-24T10:30:00-03:00",
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "school_cnpj": "26019466000122",
    "classroom_id": "d4e5f6a7-b8c9-0123-de45-fa67bc890123"
  }
}
class_council.deleted

Disparado quando um conselho de classe é removido via API de parceiros.

Campos do data

idstring (UUID)

Identificador único do conselho de classe removido.

school_cnpjstring

CNPJ da escola onde o conselho estava registrado.

Payload — class_council.deleted
{
  "event": "class_council.deleted",
  "timestamp": "2026-05-24T10:45:00-03:00",
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "school_cnpj": "26019466000122"
  }
}
class_council.closed

Disparado quando um conselho de classe é encerrado (transição de rascunho para encerrado) via API de parceiros.

Campos do data

idstring (UUID)

Identificador único do conselho de classe.

school_cnpjstring

CNPJ da escola do conselho.

classroom_idstring (UUID)

Identificador da turma referente ao conselho.

statusstring

Novo status do conselho: encerrado.

encerrado_emstring (ISO 8601)

Data e hora em que o conselho foi encerrado.

Payload — class_council.closed
{
  "event": "class_council.closed",
  "timestamp": "2026-05-24T11:00:00-03:00",
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "school_cnpj": "26019466000122",
    "classroom_id": "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
    "status": "encerrado",
    "encerrado_em": "2026-05-24T11:00:00-03:00"
  }
}
class_council.homologated

Disparado quando um conselho de classe é homologado (transição de encerrado para homologado) via API de parceiros.

Campos do data

idstring (UUID)

Identificador único do conselho de classe.

school_cnpjstring

CNPJ da escola do conselho.

classroom_idstring (UUID)

Identificador da turma referente ao conselho.

statusstring

Novo status do conselho: homologado.

homologado_emstring (ISO 8601)

Data e hora em que o conselho foi homologado.

Payload — class_council.homologated
{
  "event": "class_council.homologated",
  "timestamp": "2026-05-24T11:30:00-03:00",
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cd34-ef56ab789012",
    "school_cnpj": "26019466000122",
    "classroom_id": "d4e5f6a7-b8c9-0123-de45-fa67bc890123",
    "status": "homologado",
    "homologado_em": "2026-05-24T11:30:00-03:00"
  }
}
Eventos suportados