Alunos

Os alunos são o recurso central da plataforma To Aqui Escola. Use estes endpoints para consultar, obter dados detalhados e gerenciar fotos de alunos vinculados às escolas do seu cliente.

O modelo aluno

O modelo aluno contém os dados de matrícula, identificação, controle de acesso e foto do aluno. Use o enrollment_number junto com o CNPJ da escola para identificar unicamente um aluno.

enrollment_number string

Número de matrícula do aluno na escola.

name string

Nome completo do aluno.

birthdate date

Data de nascimento do aluno.

sex string|null

Sexo do aluno. Ex: "Masculino", "Feminino".

race string|null

Raça/cor do aluno. Ex: "Branca", "Parda", "Negra", "Indígena", "Amarela", "Não Declarada".

nationality string|null

Nacionalidade do aluno. Ex: "Brasileiro(a)", "Estrangeiro(a)", "Naturalizado(a)".

cpf string|null

CPF do aluno (somente dígitos).

rg string|null

RG do aluno.

rg_issuer string|null

Órgão emissor do RG. Ex: "SSP/SP".

rg_issue_date date|null

Data de emissão do RG.

filiation_1 string|null

Nome do pai, mãe ou primeiro responsável.

filiation_2 string|null

Nome do segundo responsável.

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, city, state_id, state.

responsible_cpf string

CPF do responsável principal.

additional_responsibles array

Lista de CPFs de responsáveis adicionais.

free_from_school_access boolean

Indica se o aluno pode sair sem necessidade de verificação dupla.

school_management_can_release boolean

Permite que a gestão da escola libere a saída do aluno.

photo string (base64)

Foto do aluno em base64. Retornado quando with_photo=true.

client_cnpj string

CNPJ do cliente ao qual o aluno pertence.

school_cnpj string

CNPJ da escola do aluno.

qrcode string

Valor do QR Code para identificação do aluno ({id}-{enrollment_number}).

Modelo aluno
{
  "enrollment_number": "7.553",
  "name": "João da Silva",
  "birthdate": "2015-03-14",
  "sex": "Masculino",
  "race": "Parda",
  "nationality": "Brasileiro(a)",
  "cpf": "12345678900",
  "rg": "123456789",
  "rg_issuer": "SSP/RJ",
  "rg_issue_date": "2020-06-10",
  "filiation_1": "Maria da Silva",
  "filiation_2": null,
  "additional_info": null,
  "address": {
    "address_type": "Residencial",
    "cep": "20040020",
    "address": "Rua da Assembléia",
    "number": "10",
    "complement": null,
    "district": "Centro",
    "city": "Rio de Janeiro",
    "state": "RJ"
  },
  "responsible_cpf": "123.456.789-00",
  "additional_responsibles": [],
  "free_from_school_access": false,
  "school_management_can_release": true,
  "photo": "iVBORw0KGgoAAAANS...",
  "client_cnpj": "12345678000199",
  "school_cnpj": "26019466000122",
  "qrcode": "9faea287-2f03-4b26-b234-7.553"
}
GET /v1/partners/students/all

Listar todos os alunos

Retorna todos os alunos vinculados ao cliente autenticado, independente da escola. A resposta é paginada, com os registros em data.

Atributos opcionais (query string)

with_photo boolean

Inclui o campo photo em base64 na resposta. Padrão: true.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /v1/partners/students/all
curl https://toakiescola.com.br/api/v1/partners/students/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "enrollment_number": "7.553",
      "name": "João da Silva",
      "school_cnpj": "26019466000122",
      // ...
    }
  ],
  "links": { /* URLs de paginação */ },
  "meta": { "current_page": 1, "per_page": 25, // ... }
}
GET /v1/partners/school/{cnpj}/students/all

Alunos por escola

Retorna todos os alunos de uma escola específica, identificada pelo CNPJ.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

Atributos opcionais (query string)

with_photo boolean

Inclui o campo photo em base64 na resposta. Padrão: true.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /v1/partners/school/:cnpj/students/all
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/students/all \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "enrollment_number": "7.553",
      "name": "João da Silva",
      // ...
    }
  ],
  "links": { /* URLs de paginação */ },
  "meta": { "current_page": 1, "per_page": 25, // ... }
}
GET /v1/partners/school/{cnpj}/student/{enrollment}

Obter um aluno

Retorna os dados completos de um aluno específico, identificado pelo número de matrícula e pelo CNPJ da escola.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

enrollment_number string obrigatório

Número de matrícula do aluno.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição GET
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553 \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": {
    "enrollment_number": "7.553",
    "name": "João da Silva",
    "birthdate": "2015-03-14",
    "sex": "Masculino",
    "race": "Parda",
    "nationality": "Brasileiro(a)",
    "cpf": "12345678900",
    "rg": "123456789",
    "rg_issuer": "SSP/RJ",
    "rg_issue_date": "2020-06-10",
    "filiation_1": "Maria da Silva",
    "filiation_2": null,
    "additional_info": null,
    "address": {
      "address_type": "Residencial",
      "cep": "20040020",
      "address": "Rua da Assembléia",
      "number": "10",
      "complement": null,
      "district": "Centro",
      "city": "Rio de Janeiro",
      "state": "RJ"
    },
    "responsible_cpf": "123.456.789-00",
    "free_from_school_access": false,
    "school_cnpj": "26019466000122"
  }
}
GET /v1/partners/school/{cnpj}/student/{enrollment}/photo

Foto do aluno

Retorna a foto do aluno como stream de imagem (content-type image/*). Se a foto não estiver cadastrada, retorna 404.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição GET
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/photo \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
// Binary image data (image/jpeg, image/png, etc.)
PUT /v1/partners/school/{cnpj}/student/{enrollment}/photo

Enviar foto do aluno

Envia ou substitui a foto de um aluno. A imagem deve ser enviada como string base64 no corpo da requisição.

Atributos obrigatórios (body)

photo string obrigatório

Imagem do aluno em formato base64. Apenas formatos de imagem válidos são aceitos.

Códigos de resposta

200

Sucesso.

400

Dados inválidos.

401

Autenticação inválida.

404

Recurso de referência não encontrado.

Requisição PUT
curl -X PUT https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/photo \
  -H "Content-Type: application/json" \
  -H "X-Authorization: {api_token}" \
  -d '{"photo": "iVBORw0KGgoAAAANS..."}'
Resposta
{
  "success": true
}
PATCH /v1/partners/school/{cnpj}/student/{enrollment}/photo/status

Atualizar status da foto

Atualiza o status de aprovação da foto de um aluno no sistema, sem substituir a imagem.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

enrollment_number string obrigatório

Número de matrícula do aluno.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição PATCH
curl -X PATCH https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/photo/status \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "success": true
}
DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}

Excluir um aluno

Exclui permanentemente um aluno identificado pelo número de matrícula e pelo CNPJ da escola. A operação é irreversível.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos).

enrollment_number string obrigatório

Número de matrícula do aluno.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição DELETE
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553 \
  -X DELETE \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "success": true
}
Resposta
{
  "message": "Autenticação inválida."
}
GET /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsibles

Listar responsáveis adicionais

Retorna todos os responsáveis adicionais vinculados a um aluno específico. O aluno é identificado pelo CNPJ da escola e pelo número de matrícula.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

enrollment_number string obrigatório

Número de matrícula do aluno.

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

Requisição GET
GET /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsibles
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/additional-responsibles \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "data": [
    {
      "name": "Maria da Silva",
      "birthdate": "1985-06-20",
      "cpf": "12345678900",
      "email": "maria@exemplo.com",
      "school_cnpj": "26019466000122"
    }
  ]
}
POST /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}

Vincular responsável adicional

Vincula um responsável já cadastrado como responsável adicional de um aluno. O responsável é identificado pelo CPF e deve estar cadastrado no sistema.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

enrollment_number string obrigatório

Número de matrícula do aluno.

cpf string obrigatório

CPF do responsável a ser vinculado (11 dígitos, sem formatação).

Códigos de resposta

200

Sucesso.

400

Dados inválidos.

401

Autenticação inválida.

404

Recurso de referência não encontrado.

Requisição POST
POST /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/additional-responsible/12345678900 \
  -X POST \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "success": true
}
Resposta
{
  "message": "Autenticação inválida."
}
DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}

Desvincular responsável adicional

Remove o vínculo de um responsável adicional com o aluno. O responsável não é excluído do sistema, apenas desvinculado deste aluno em específico.

Parâmetros de rota

cnpj string obrigatório

CNPJ da escola (14 dígitos, sem formatação).

enrollment_number string obrigatório

Número de matrícula do aluno.

cpf string obrigatório

CPF do responsável a ser desvinculado (11 dígitos, sem formatação).

Códigos de resposta

200

Sucesso.

401

Autenticação inválida.

404

Recurso não encontrado.

Requisição DELETE
DELETE /v1/partners/school/{cnpj}/student/{enrollment_number}/additional-responsible/{cpf}
curl https://toakiescola.com.br/api/v1/partners/school/26019466000122/student/7.553/additional-responsible/12345678900 \
  -X DELETE \
  -H "X-Authorization: {api_token}" \
  -H "X-Partner: {partner_token}" \
  -H "X-Client: {client_slug}"
Resposta
{
  "success": true
}
Resposta
{
  "message": "Autenticação inválida."
}