Eventos

Eventos escolares — festas, feiras, reuniões — com RSVP e taxa opcional. A API de parceiro cobre o ciclo de vida completo do evento (criar, editar, publicar, excluir) e a leitura de quem confirmou presença. Confirmar presença (RSVP) continua uma ação do responsável/aluno no portal — não é exposta aqui.

Plano Gestão Escolar (ERP): os endpoints desta página respondem somente para clientes do plano Gestão Escolar (ERP), como no sistema web. Para clientes do plano simplificado, a resposta é 403 com "code": "ERP_REQUIRED".

O modelo evento

Os campos payment_* descrevem a taxa anunciada do evento (se há cobrança, valor, formas aceitas) — não uma cobrança real; pagamentos individuais ficam no domínio financeiro do responsável, fora desta API.

id uuid

Identificador único do evento.

name string

Nome do evento.

description string|null

Descrição.

location string|null

Local.

starts_at datetime

Início.

ends_at datetime|null

Fim.

max_guests_per_responsible integer

Máximo de acompanhantes por responsável.

capacity integer|null

Capacidade total, quando limitada.

rsvp_enabled boolean

Se a confirmação de presença está habilitada.

rsvp_deadline datetime|null

Prazo para confirmar presença.

status string

DRAFT, PUBLISHED, ONGOING, CLOSED ou CANCELLED.

payment_enabled boolean

Se o evento tem taxa.

payment_amount decimal|null

Valor da taxa.

payment_methods array

Formas de pagamento aceitas.

payment_max_installments integer|null

Máximo de parcelas no cartão, quando aplicável.

registrations_count integer

Total de confirmações de presença.

attendees_count integer

Total de participantes (responsável + acompanhantes).

created_at datetime

Data de criação.

Modelo evento
{
  "id": "e1v2e3n4-0000-0000-0000-000000000001",
  "name": "Festa Junina",
  "starts_at": "2026-06-20T18:00:00-03:00",
  "status": "PUBLISHED",
  "rsvp_enabled": true,
  "payment_enabled": true,
  "payment_amount": "25.00",
  "registrations_count": 42,
  "attendees_count": 98
}
GET /v1/partners/school/{cnpj}/events/all

Listar eventos

Eventos da escola, paginados, mais recentes primeiro.

Códigos de resposta

200

Sucesso.

404

Não encontrado.

Requisição GET
GET /api/v1/partners/school/{cnpj}/events/all
GET /v1/partners/school/{cnpj}/event/{id}

Obter um evento

Retorna um evento específico.

Códigos de resposta

200

Sucesso.

404

Não encontrado.

Requisição GET
GET /api/v1/partners/school/{cnpj}/event/{id}
POST /v1/partners/school/{cnpj}/event

Criar evento

Cria um evento vinculado ao ano letivo corrente. Corpo: name, starts_at, max_guests_per_responsible, status (obrigatórios); description, location, ends_at, capacity, rsvp_enabled, rsvp_deadline, payment_enabled/amount/methods/max_installments (opcionais).

Códigos de resposta

201

Sucesso.

409

Escola sem ano letivo atual configurado.

404

Não encontrado.

Requisição POST
POST /api/v1/partners/school/{cnpj}/event
PUT /v1/partners/school/{cnpj}/event/{id}

Editar evento

Atualiza os campos enviados do evento.

Códigos de resposta

200

Sucesso.

404

Não encontrado.

Requisição PUT
PUT /api/v1/partners/school/{cnpj}/event/{id}
DELETE /v1/partners/school/{cnpj}/event/{id}

Excluir evento

Remove o evento (soft delete).

Códigos de resposta

200

Sucesso.

404

Não encontrado.

Requisição DELETE
DELETE /api/v1/partners/school/{cnpj}/event/{id}
GET /v1/partners/school/{cnpj}/event/{id}/registrations

Listar confirmações

Quem confirmou presença, com acompanhantes e check-in — somente leitura.

Códigos de resposta

200

Sucesso.

404

Não encontrado.

Requisição GET
GET /api/v1/partners/school/{cnpj}/event/{id}/registrations