Webhooks
Os webhooks permitem que a plataforma To Aqui Escola 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 no seu cliente.
Configuração
Para receber eventos, configure o campo webhook_url no registro
client_apis do seu cliente.
Quando preenchida, todos os eventos suportados serão entregues a essa URL via HTTP POST.
A entrega é feita de forma assíncrona por uma fila de jobs. Em caso de falha, a plataforma tenta novamente até 3 vezes antes de registrar o erro no log.
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.
{ "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 são reenviadas até 5 vezes ao longo de cerca de 50 minutos.
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 realiza check-in biométrico na escola. |
attendance.check_out |
Disparado quando um aluno realiza check-out biométrico 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 pela direção. |
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 pela direção e a ação correspondente é executada. |
authorization.rejected |
Disparado quando uma autorização administrativa é rejeitada pela direção. |
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. |
classroom_schedule.saved |
Disparado quando a grade de períodos de uma turma é salva via API. |
receivable.paid |
ERP Disparado quando uma conta a receber é quitada, por qualquer canal. |
receivable.status_changed |
ERP Disparado em qualquer outra mudança de status de uma conta a receber. |
supplier.created |
ERP Disparado quando um fornecedor é cadastrado. |
supplier.updated |
ERP Disparado quando um fornecedor é alterado. |
crm_lead.created |
ERP Disparado quando um lead entra no funil do CRM. |
crm_lead.stage_changed |
ERP Disparado quando um lead muda de etapa no funil. |
library_loan.created |
ERP Disparado quando um exemplar é emprestado. |
library_loan.returned |
ERP Disparado quando um empréstimo é devolvido. |
library_loan.renewed |
ERP Disparado quando um empréstimo é renovado. |
visitor.created |
ERP Disparado quando um visitante é cadastrado. |
visitor.updated |
ERP Disparado quando um visitante é alterado. |
visit.created |
ERP Disparado quando uma visita é agendada. |
visit.checked_in |
ERP Disparado na entrada do visitante. |
visit.checked_out |
ERP Disparado na saída do visitante. |
visit.cancelled |
ERP Disparado quando uma visita é cancelada. |
event.created |
ERP Disparado quando um evento é criado. |
event.updated |
ERP Disparado quando os dados de um evento mudam. |
event.status_changed |
ERP Disparado quando um evento é publicado, iniciado, encerrado ou cancelado. |
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 biométrica de um aluno via.
URL que dispara o webhook
POST /v1/attendance/student/biometric/check/in
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.
{ "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 biométrica de um aluno.
URL que dispara o webhook
POST /v1/attendance/student/biometric/check/out
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.
{ "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.
URL que dispara o webhook
POST /v1/tssv/responsible/check/in
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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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 pela direção, 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.
{ "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).
{ "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.
{ "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 após a atualização bem-sucedida do status da foto de um aluno (aprovado ou rejeitado).
URL que dispara o webhook
PATCH /v1/partners/school/{cnpj}/student/{enrollment_number}/photo/status
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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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. 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.
{ "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 após a atualização bem-sucedida do status da foto de um responsável (aprovado ou rejeitado).
URL que dispara o webhook
PATCH /v1/partners/school/{cnpj}/responsible/{cpf}/photo/status
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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
URL que dispara o webhook
POST /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}/link
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.
{ "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.
URL que dispara o webhook
DELETE /v1/partners/school/{cnpj}/responsible/{cpf}/student/{enrollment_number}/link
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.
{ "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}/student/{enrollment_number}/additional/link
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.
{ "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}/student/{enrollment_number}/additional/link
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.
{ "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.
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.
{ "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.
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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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).
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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).
{ "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).
{ "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).
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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.
{ "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" } }
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.
{ "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.
{ "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.
{ "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.
{ "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_cnpjstringCNPJ 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.
{ "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_cnpjstringCNPJ da escola onde a ocorrência está registrada.
student_idstring (UUID)Identificador do aluno envolvido na ocorrência.
{ "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_cnpjstringCNPJ da escola onde a ocorrência estava registrada.
{ "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_cnpjstringCNPJ da escola do conselho.
classroom_idstring (UUID)Identificador da turma referente ao conselho.
periodointeger (1–4)Período letivo do conselho (bimestre ou trimestre).
statusstringStatus do conselho. Ao ser criado, sempre rascunho.
{ "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_cnpjstringCNPJ da escola do conselho.
classroom_idstring (UUID)Identificador da turma referente ao conselho.
{ "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_cnpjstringCNPJ da escola onde o conselho estava registrado.
{ "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_cnpjstringCNPJ da escola do conselho.
classroom_idstring (UUID)Identificador da turma referente ao conselho.
statusstringNovo status do conselho: encerrado.
encerrado_emstring (ISO 8601)Data e hora em que o conselho foi encerrado.
{ "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_cnpjstringCNPJ da escola do conselho.
classroom_idstring (UUID)Identificador da turma referente ao conselho.
statusstringNovo status do conselho: homologado.
homologado_emstring (ISO 8601)Data e hora em que o conselho foi homologado.
{ "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" } }
classroom_schedule.saved
Grade de períodos salva
Disparado quando a grade de períodos (horários de início e fim de cada aula) de uma turma é salva via API.
Quando é disparado
PUT /v1/partners/school/{cnpj}/classroom/{classroom_id}/schedule
Campos do objeto data
school_cnpj
string
CNPJ da escola.
classroom_id
string (UUID)
Turma.
classroom_name
string
Nome da turma.
{ "event": "classroom_schedule.saved", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "classroom_id": "550e8400-e29b-41d4-a716-446655440000", "classroom_name": "3º Ano A" } }
Eventos dos módulos ERP
Eventos dos módulos de gestão, visitantes e eventos. Diferente dos eventos acima, que acompanham as escritas feitas pela API, estes disparam qualquer que seja a origem da mudança: telas da escola, confirmações de pagamento do banco ou a própria API. Veja os Módulos ERP.
receivable.paid
Conta a receber paga
Uma cobrança foi quitada. É o evento para liberar acessos, emitir recibos no seu sistema ou dar baixa em uma conciliação.
Quando é disparado
Pagamento confirmado pelo banco (boleto, PIX, cartão, débito automático).
Baixa manual no caixa ou registro de pagamento pela secretaria.
Pagamento em maquininha integrada.
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Conta a receber.
status
string
Sempre PAID.
previous_status
string
Status anterior.
net_amount / paid_amount
number
Valor devido e pago.
due_date
string (date)
Vencimento.
paid_at
string (ISO 8601)
Data do pagamento.
payment_method
string|null
Forma de pagamento.
contract_id / student_id
string|null
Contrato e aluno da cobrança.
{ "event": "receivable.paid", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019f2b45-764c-73b9-9805-3c888ba6dd09", "status": "PAID", "previous_status": "PENDING", "net_amount": 950, "paid_amount": 950, "due_date": "2026-10-10", "paid_at": "2026-10-02T09:14:51-03:00", "payment_method": "PIX", "contract_id": "01a0aabb-5fd3-73ae-abd9-e27a886aadea", "student_id": "01a0aab3-550d-7077-aad1-a6d67b1452d8" } }
receivable.status_changed
Status de conta a receber alterado
Qualquer mudança de status que não seja a quitação — essa dispara receivable.paid.
Quando é disparado
Cobrança vencida (OVERDUE), paga parcialmente (PARTIAL), cancelada, renegociada em acordo ou estornada.
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Conta a receber.
status / previous_status
string
Status novo e anterior.
net_amount / paid_amount
number
Valor devido e pago.
due_date
string (date)
Vencimento.
contract_id / student_id
string|null
Contrato e aluno.
{ "event": "receivable.status_changed", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019f2b45-764c-73b9-9805-3c888ba6dd09", "status": "OVERDUE", "previous_status": "PENDING", "net_amount": 950, "paid_amount": 0, "due_date": "2026-10-10", "paid_at": null, "payment_method": null, "contract_id": "01a0aabb-5fd3-73ae-abd9-e27a886aadea", "student_id": "01a0aab3-550d-7077-aad1-a6d67b1452d8" } }
supplier.created
Fornecedor criado
Um fornecedor foi cadastrado.
Quando é disparado
Cadastro pela escola (Estoque ou Financeiro).
POST /v1/partners/school/{cnpj}/supplier
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Fornecedor.
company_name
string
Razão social.
document_number
string
CNPJ/CPF.
active
boolean
Ativo.
{ "event": "supplier.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a0a9a0-52f8-73d2-9003-85196c24ae97", "company_name": "Papelaria Central LTDA", "document_number": "12345678000199", "active": true } }
supplier.updated
Fornecedor atualizado
Os dados de um fornecedor mudaram.
Quando é disparado
Edição pela escola.
PUT /v1/partners/school/{cnpj}/supplier/{id}
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Fornecedor.
company_name
string
Razão social.
document_number
string
CNPJ/CPF.
active
boolean
Ativo.
{ "event": "supplier.updated", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a0a9a0-52f8-73d2-9003-85196c24ae97", "company_name": "Papelaria Central LTDA", "document_number": "12345678000199", "active": false } }
crm_lead.created
Lead criado
Um lead entrou no funil de prospecção.
Quando é disparado
Cadastro no quadro do CRM ou pelo formulário público da escola.
Geração de rematrículas no fechamento do ano letivo.
POST /v1/partners/school/{cnpj}/crm/lead
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Lead.
student_name / guardian_name
string
Aluno e responsável.
status
string
open, won ou lost.
stage_id
string (UUID)
Etapa atual.
source
string
Origem.
{ "event": "crm_lead.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019ff604-2f05-701b-b3b9-dc9426f2d342", "student_name": "Lucas Pereira", "guardian_name": "Aline Pereira", "status": "open", "stage_id": "019f91d7-47b5-71dd-84d1-1450de044b26", "previous_stage_id": null, "source": "website" } }
crm_lead.stage_changed
Lead mudou de etapa
O lead foi movido no funil — inclusive quando vira pré-matrícula, quando a matrícula é efetivada ou quando é marcado como perdido.
Quando é disparado
Movimentação no quadro do CRM.
Conversão em pré-matrícula e efetivação da matrícula.
PATCH …/crm/lead/{id}/stage e PATCH …/crm/lead/{id}/lost
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Lead.
stage_id / previous_stage_id
string (UUID)
Etapa nova e anterior.
status
string
Status após a mudança.
student_name / guardian_name / source
string
Dados do lead.
{ "event": "crm_lead.stage_changed", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019ff604-2f05-701b-b3b9-dc9426f2d342", "student_name": "Lucas Pereira", "guardian_name": "Aline Pereira", "status": "open", "stage_id": "019f91d7-47b9-7037-aec8-c7a63dc485ef", "previous_stage_id": "019f91d7-47b5-71dd-84d1-1450de044b26", "source": "website" } }
library_loan.created
Empréstimo realizado
Um exemplar foi emprestado.
Quando é disparado
Balcão de circulação da biblioteca.
POST /v1/partners/library/loans
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Empréstimo.
copy_id / member_id
string (UUID)
Exemplar e leitor.
status
string
Status do empréstimo.
loan_date / due_date
string (date)
Empréstimo e prazo de devolução.
returned_at
string|null
Devolução.
renewals_count
integer
Renovações.
{ "event": "library_loan.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": null, "id": "01a1d000-0000-7000-8000-000000000201", "copy_id": "01a1d000-0000-7000-8000-000000000105", "member_id": "01a1d000-0000-7000-8000-000000000301", "status": "active", "loan_date": "2026-10-02", "due_date": "2026-10-16", "returned_at": null, "renewals_count": 0 } }
library_loan.returned
Empréstimo devolvido
O exemplar voltou para a biblioteca.
Quando é disparado
Devolução no balcão.
POST /v1/partners/library/loan/{id}/return
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Empréstimo.
status
string
Sempre returned.
returned_at
string (ISO 8601)
Data da devolução.
copy_id / member_id / loan_date / due_date / renewals_count
mixed
Mesmos campos de library_loan.created.
{ "event": "library_loan.returned", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": null, "id": "01a1d000-0000-7000-8000-000000000201", "copy_id": "01a1d000-0000-7000-8000-000000000105", "member_id": "01a1d000-0000-7000-8000-000000000301", "status": "returned", "loan_date": "2026-10-02", "due_date": "2026-10-16", "returned_at": "2026-10-14T10:12:00-03:00", "renewals_count": 0 } }
library_loan.renewed
Empréstimo renovado
O prazo de devolução foi estendido.
Quando é disparado
Renovação no balcão ou pelo leitor.
POST /v1/partners/library/loan/{id}/renew
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Empréstimo.
due_date
string (date)
Novo prazo.
renewals_count
integer
Renovações até agora.
copy_id / member_id / status / loan_date
mixed
Mesmos campos de library_loan.created.
{ "event": "library_loan.renewed", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": null, "id": "01a1d000-0000-7000-8000-000000000201", "copy_id": "01a1d000-0000-7000-8000-000000000105", "member_id": "01a1d000-0000-7000-8000-000000000301", "status": "active", "loan_date": "2026-10-02", "due_date": "2026-10-30", "returned_at": null, "renewals_count": 1 } }
visitor.created
Visitante cadastrado
Um visitante foi cadastrado na escola.
Quando é disparado
Cadastro na recepção.
POST /v1/partners/school/{cnpj}/visitor
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visitante.
name
string
Nome.
cpf
string|null
CPF.
{ "event": "visitor.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "name": "Carlos Técnico", "cpf": "52998224725" } }
visitor.updated
Visitante atualizado
Os dados de um visitante mudaram.
Quando é disparado
Edição na recepção.
PUT /v1/partners/school/{cnpj}/visitor/{id}
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visitante.
name
string
Nome.
cpf
string|null
CPF.
{ "event": "visitor.updated", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "name": "Carlos Técnico Souza", "cpf": "52998224725" } }
visit.created
Visita registrada
Uma visita foi agendada (status PENDING).
Quando é disparado
Agendamento na recepção.
POST /v1/partners/school/{cnpj}/visit
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visita.
visitor_id / visit_type_id
string (UUID)
Visitante e tipo de visita.
status
string
Status da visita.
scheduled_date
string|null
Data agendada.
check_in_at / check_out_at
string|null
Entrada e saída.
{ "event": "visit.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a2b3c4-0000-7000-8000-000000000501", "visitor_id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "visit_type_id": "01a2b3c4-0000-7000-8000-000000000502", "status": "PENDING", "scheduled_date": "2026-10-02", "check_in_at": null, "check_out_at": null } }
visit.checked_in
Entrada do visitante
A visita passou para ONGOING.
Quando é disparado
Check-in na recepção.
PATCH …/visit/{id}/check-in
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visita.
status
string
Sempre ONGOING.
check_in_at
string (ISO 8601)
Horário da entrada.
visitor_id / visit_type_id / scheduled_date
mixed
Mesmos campos de visit.created.
{ "event": "visit.checked_in", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a2b3c4-0000-7000-8000-000000000501", "visitor_id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "visit_type_id": "01a2b3c4-0000-7000-8000-000000000502", "status": "ONGOING", "scheduled_date": "2026-10-02", "check_in_at": "2026-10-02T09:03:11-03:00", "check_out_at": null } }
visit.checked_out
Saída do visitante
A visita foi concluída (COMPLETED).
Quando é disparado
Check-out na recepção.
PATCH …/visit/{id}/check-out
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visita.
status
string
Sempre COMPLETED.
check_out_at
string (ISO 8601)
Horário da saída.
visitor_id / visit_type_id / check_in_at
mixed
Mesmos campos de visit.created.
{ "event": "visit.checked_out", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a2b3c4-0000-7000-8000-000000000501", "visitor_id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "visit_type_id": "01a2b3c4-0000-7000-8000-000000000502", "status": "COMPLETED", "scheduled_date": "2026-10-02", "check_in_at": "2026-10-02T09:03:11-03:00", "check_out_at": "2026-10-02T10:41:52-03:00" } }
visit.cancelled
Visita cancelada
A visita foi cancelada (CANCELLED).
Quando é disparado
Cancelamento na recepção.
PATCH …/visit/{id}/cancel
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Visita.
status
string
Sempre CANCELLED.
visitor_id / visit_type_id / scheduled_date
mixed
Mesmos campos de visit.created.
{ "event": "visit.cancelled", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a2b3c4-0000-7000-8000-000000000501", "visitor_id": "019ffe09-f3e7-721e-98c2-c0d31da711df", "visit_type_id": "01a2b3c4-0000-7000-8000-000000000502", "status": "CANCELLED", "scheduled_date": "2026-10-02", "check_in_at": null, "check_out_at": null } }
event.created
Evento criado
Um evento foi criado.
Quando é disparado
Cadastro pela escola.
POST /v1/partners/school/{cnpj}/event
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Evento.
name
string
Nome.
status
string
Status.
starts_at
string (ISO 8601)
Início.
{ "event": "event.created", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a02d07-1702-7155-a2a3-09064f1cd32d", "name": "Feira de Ciências", "status": "DRAFT", "previous_status": null, "starts_at": "2026-11-20T09:00:00-03:00" } }
event.updated
Evento atualizado
Dados do evento mudaram sem mudança de status.
Quando é disparado
Edição pela escola.
PUT /v1/partners/school/{cnpj}/event/{id}
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Evento.
name / status / starts_at
mixed
Dados atuais do evento.
{ "event": "event.updated", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a02d07-1702-7155-a2a3-09064f1cd32d", "name": "Feira de Ciências", "status": "DRAFT", "previous_status": null, "starts_at": "2026-11-21T09:00:00-03:00" } }
event.status_changed
Status do evento alterado
O evento foi publicado, iniciado, encerrado ou cancelado.
Quando é disparado
Mudança de status pela escola.
PATCH /v1/partners/school/{cnpj}/event/{id}/status
Campos do objeto data
school_cnpj
string|null
CNPJ da escola (null na Biblioteca, que é do cliente).
id
string (UUID)
Evento.
status / previous_status
string
Status novo e anterior.
name / starts_at
mixed
Dados do evento.
{ "event": "event.status_changed", "timestamp": "2026-10-02T09:15:00-03:00", "data": { "school_cnpj": "26019466000122", "id": "01a02d07-1702-7155-a2a3-09064f1cd32d", "name": "Feira de Ciências", "status": "PUBLISHED", "previous_status": "DRAFT", "starts_at": "2026-11-20T09:00:00-03:00" } }