Coordenadores
Coordenadores são usuários da escola com permissões de coordenação pedagógica. Cada coordenador possui uma conta de usuário (e-mail e senha) e um perfil com nome e data de nascimento.
O modelo coordenador
id
uuid
Identificador do usuário.
email
string
E-mail de acesso (único globalmente).
name
string
Nome completo (do perfil).
birthdate
date|null
Data de nascimento no formato YYYY-MM-DD.
role
string
Sempre "coordinator".
school_cnpj
string
CNPJ da escola.
{ "id": "...", "email": "coord@escola.com", "name": "Maria Silva", "birthdate": "1985-03-15", "role": "coordinator" }
/v1/partners/school/{cnpj}/coordinators/all
Listar Coordenadores
Lista todos os coordenadores da escola.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos, sem formatação).
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
404
Escola ou recurso não encontrado.
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
$client->get('.../v1/partners/school/{cnpj}/coordinators/all');
await fetch('.../v1/partners/school/{cnpj}/coordinators/all');
{ "data": [ { "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890", "email": "joao.silva@escola.com.br", "name": "João Silva", "birthdate": "1982-07-20", "role": "coordinator", "school_cnpj": "26019466000122" } ], "links": { /* paginação */ }, "meta": { /* paginação */ } }
{ "message": "Autenticação inválida. Verifique os cabeçalhos X-Authorization, X-Partner e X-Client." }
{ "message": "Escola ou recurso não encontrado." }
/v1/partners/school/{cnpj}/coordinator/{id}
Obter Coordenador
Retorna um coordenador pelo UUID.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos, sem formatação).
id
uuid
obrigatório
UUID do coordenador.
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
404
Escola ou recurso não encontrado.
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
$client->get('.../v1/partners/school/{cnpj}/coordinator/{id}');
await fetch('.../v1/partners/school/{cnpj}/coordinator/{id}');
{ "data": { "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890", "email": "joao.silva@escola.com.br", "name": "João Silva", "birthdate": "1982-07-20", "role": "coordinator", "school_cnpj": "26019466000122" } }
{ "message": "Autenticação inválida. Verifique os cabeçalhos X-Authorization, X-Partner e X-Client." }
{ "message": "Escola ou recurso não encontrado." }
/v1/partners/school/{cnpj}/coordinator
Criar Coordenador
Cria um coordenador.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos, sem formatação).
Parâmetros do corpo
name
string
obrigatório
Nome completo.
email
string
obrigatório
E-mail único na plataforma.
birthdate
date
opcional
Data de nascimento (YYYY-MM-DD).
Códigos de resposta
201
Recurso criado com sucesso.
400
Dados inválidos.
401
Autenticação inválida.
404
Escola ou recurso não encontrado.
-X POST \
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}" \
-H "Content-Type: application/json" \
-d '{ "name"*: "...", "email"*: "...", "birthdate": "..." }'
$client->post('.../v1/partners/school/{cnpj}/coordinator', ['json' => [/* ... */]]);
await fetch('.../v1/partners/school/{cnpj}/coordinator', {
method: 'POST',
body: JSON.stringify({/* ... */})
});
{ "data": { "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890", "email": "joao.silva@escola.com.br", "name": "João Silva", "birthdate": "1982-07-20", "role": "coordinator", "school_cnpj": "26019466000122" } }
{ "message": "Os dados fornecidos são inválidos.", "errors": { "name": ["O campo nome é obrigatório."] } }
{ "message": "Autenticação inválida. Verifique os cabeçalhos X-Authorization, X-Partner e X-Client." }
{ "message": "Escola ou recurso não encontrado." }
/v1/partners/school/{cnpj}/coordinator/{id}
Editar Coordenador
Atualiza um coordenador.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos, sem formatação).
id
uuid
obrigatório
UUID do coordenador.
Parâmetros do corpo
name
string
opcional
Nome completo.
email
string
opcional
Novo e-mail.
birthdate
date
opcional
Data de nascimento (YYYY-MM-DD).
Códigos de resposta
200
Sucesso.
400
Dados inválidos.
401
Autenticação inválida.
404
Escola ou recurso não encontrado.
-X PUT \
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}" \
-H "Content-Type: application/json" \
-d '{ "name": "...", "email": "...", "birthdate": "..." }'
$client->put('.../v1/partners/school/{cnpj}/coordinator/{id}', ['json' => [/* ... */]]);
await fetch('.../v1/partners/school/{cnpj}/coordinator/{id}', {
method: 'PUT',
body: JSON.stringify({/* ... */})
});
{ "data": { "id": "a1b2c3d4-e5f6-7890-ab12-cd34ef567890", "email": "joao.silva@escola.com.br", "name": "João Silva", "birthdate": "1982-07-20", "role": "coordinator", "school_cnpj": "26019466000122" } }
{ "message": "Os dados fornecidos são inválidos.", "errors": { "name": ["O campo nome é obrigatório."] } }
{ "message": "Autenticação inválida. Verifique os cabeçalhos X-Authorization, X-Partner e X-Client." }
{ "message": "Escola ou recurso não encontrado." }
/v1/partners/school/{cnpj}/coordinator/{id}
Excluir Coordenador
Remove um coordenador.
Parâmetros de rota
cnpj
string
obrigatório
CNPJ da escola (14 dígitos, sem formatação).
id
uuid
obrigatório
UUID do coordenador.
Códigos de resposta
200
Sucesso.
401
Autenticação inválida.
404
Escola ou recurso não encontrado.
-X DELETE \
-H "X-Authorization: {api_token}" \
-H "X-Partner: {partner_token}" \
-H "X-Client: {client_slug}"
$client->delete('.../v1/partners/school/{cnpj}/coordinator/{id}');
await fetch('.../v1/partners/school/{cnpj}/coordinator/{id}', {
method: 'DELETE'
});
{ "message": "Recurso removido com sucesso." }
{ "message": "Autenticação inválida. Verifique os cabeçalhos X-Authorization, X-Partner e X-Client." }
{ "message": "Escola ou recurso não encontrado." }