Agendas
Os endpoints de agendas permitem consultar os registros de avisos e comunicados criados pelas escolas, incluindo assunto, descrição e imagem associada.
O modelo agenda
O modelo agenda representa um comunicado ou aviso criado por uma escola para seus alunos e responsáveis.
id
string (uuid)
Identificador único da agenda.
subject
string
Assunto da agenda.
description
string
Conteúdo descritivo da agenda.
img_path
string | null
Caminho da imagem associada à agenda, se houver.
school_cnpj
string
CNPJ da escola que criou a agenda.
created_at
datetime
Data e hora de criação no formato Y-m-d H:i:s.
{ "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "subject": "Reunião de pais e mestres", "description": "A reunião será realizada na próxima sexta-feira às 19h.", "img_path": null, "school_cnpj": "26019466000122", "created_at": "2025-04-15 08:30:00" }
/v1/partners/school/{cnpj}/agenda/all
Listar agendas por escola
Retorna a lista paginada de agendas vinculadas a uma escola. Os resultados vêm dentro do campo
data, com metadados de
paginação nos campos links
e meta.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos).
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
use GuzzleHttp\Client; $client = new Client(); $response = $client->get('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/all', [ 'headers' => [ 'X-Authorization' => '{api_token}', 'X-Partner' => '{partner_token}', 'X-Client' => '{client_slug}', ], ]);
const response = await fetch('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/all', { headers: { 'X-Authorization': '{api_token}', 'X-Partner': '{partner_token}', 'X-Client': '{client_slug}', }, });
{ "data": [ { "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "subject": "Reunião de pais e mestres", "description": "A reunião será na próxima sexta às 19h.", "img_path": null, "school_cnpj": "26019466000122", "created_at": "2025-04-15 08:30:00" } ], "links": { ... }, "meta": { ... } }
{ "message": "Autenticação inválida." }
{ "message": "Recurso não encontrado." }
/v1/partners/school/{cnpj}/agenda/{id}
Obter uma agenda
Retorna os dados de uma agenda específica vinculada à escola informada.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos).
id
string (uuid)
obrigatório
Identificador único da agenda.
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
404
Recurso não encontrado.
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
use GuzzleHttp\Client; $client = new Client(); $response = $client->get('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/9faea287-2f03-4b26-b234-3d3c1a2bc4e1', [ 'headers' => [ 'X-Authorization' => '{api_token}', 'X-Partner' => '{partner_token}', 'X-Client' => '{client_slug}', ], ]);
const response = await fetch('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/9faea287-2f03-4b26-b234-3d3c1a2bc4e1', { headers: { 'X-Authorization': '{api_token}', 'X-Partner': '{partner_token}', 'X-Client': '{client_slug}', }, });
{ "data": { "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "subject": "Reunião de pais e mestres", "description": "A reunião será na próxima sexta às 19h.", "img_path": null, "school_cnpj": "26019466000122", "created_at": "2025-04-15 08:30:00" } }
{ "message": "Autenticação inválida." }
{ "message": "Recurso não encontrado." }
{ "success": false, "message": "Agenda não encontrada." }
{ "message": "Autenticação inválida." }
{ "message": "Recurso não encontrado." }
/v1/partners/school/{cnpj}/agenda/{id}
Excluir uma agenda
Exclui uma agenda específica vinculada à escola informada. A operação é irreversível.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos).
id
string (uuid)
obrigatório
Identificador único da agenda.
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
404
Recurso não encontrado.
-X DELETE \
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
use GuzzleHttp\Client; $client = new Client(); $response = $client->delete('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/9faea287-2f03-4b26-b234-3d3c1a2bc4e1', [ 'headers' => [ 'X-Authorization' => '{api_token}', 'X-Partner' => '{partner_token}', 'X-Client' => '{client_slug}', ], ]);
const response = await fetch('https://toakiescola.com.br/api/v1/partners/school/26019466000122/agenda/9faea287-2f03-4b26-b234-3d3c1a2bc4e1', { method: 'DELETE', headers: { 'X-Authorization': '{api_token}', 'X-Partner': '{partner_token}', 'X-Client': '{client_slug}', }, });
{ "success": true }
{ "message": "Autenticação inválida." }
{ "message": "Recurso não encontrado." }
{ "success": false, "message": "Agenda não encontrada." }
{ "message": "Autenticação inválida." }
{ "message": "Recurso não encontrado." }
/v1/partners/school/{cnpj}/agenda
Criar agenda
Cria uma nova agenda para uma escola.
Parâmetros do corpo
subject
string
obrigatório
Assunto da agenda (até 200 caracteres).
description
string
obrigatório
Conteúdo descritivo da agenda.
img_path
string | null
opcional
Caminho da imagem associada à agenda (opcional).
Códigos de resposta
200
Agenda criada com sucesso.
400
Erros de validação.
404
Escola não encontrada.
-X POST \
-H "X-Authorization: {api_token}" \
-H "Content-Type: application/json" \
-d '{"subject":"Reunião de pais","description":"Será realizada na sexta às 19h."}'
$client->post('.../agenda', [ 'json' => [ 'subject' => 'Reunião de pais', 'description' => 'Será realizada na sexta às 19h.', ], ]);
await fetch('.../agenda', { method: 'POST', body: JSON.stringify({ subject: 'Reunião de pais', description: 'Será realizada na sexta às 19h.', }), });
{ "data": { "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "subject": "Reunião de pais", "description": "Será realizada na sexta às 19h.", "img_path": null, "school_cnpj": "26019466000122", "created_at": "2025-04-15 08:30:00" } }
{ "success": false, "errors": [ /* mensagens de validação */ ] }
{ "message": "Escola não encontrada." }
/v1/partners/school/{cnpj}/agenda/{id}
Editar agenda
Atualiza os dados de uma agenda. Todos os campos são opcionais; envie apenas os que deseja alterar.
Parâmetros do corpo
subject
string
opcional
Novo assunto da agenda (até 200 caracteres).
description
string
opcional
Novo conteúdo descritivo da agenda.
img_path
string | null
opcional
Novo caminho da imagem. Envie null para remover.
Códigos de resposta
200
Sucesso.
400
Erros de validação.
404
Agenda não encontrada.
-X PUT \
-H "X-Authorization: {api_token}" \
-H "Content-Type: application/json" \
-d '{"subject":"Reunião de pais atualizada"}'
$client->put('.../agenda/{id}', [ 'json' => ['subject' => 'Reunião de pais atualizada'], ]);
await fetch('.../agenda/{id}', { method: 'PUT', body: JSON.stringify({ subject: 'Reunião de pais atualizada' }) });
{ "data": { "id": "9faea287-2f03-4b26-b234-3d3c1a2bc4e1", "subject": "Reunião de pais atualizada", "description": "Será realizada na sexta às 19h.", "img_path": null, "school_cnpj": "26019466000122", "created_at": "2025-04-15 08:30:00" } }
{ "success": false, "errors": [ /* mensagens de validação */ ] }
{ "message": "Agenda não encontrada." }