Utilizando a API
Exibir quais são os serviços disponíveis e o funcionamento da API
Entendendo o processo de login
Para realizar login no SISAC é necessário informar quatro campos básicos:
- Matrícula
- Senha
- Tipo de usuário
- Valor para o captcha
O tipo de usuário nesse caso é fixo pois apenas trataremos de alunos nessa API.
O valor para o captcha atualmente é informado de forma manual, onde o usuário que irá realizar o login na aplicação deverá informar qual o valor presente na imagem a ser exibida (assim como acontece no login tradicional via site oficial).
Iniciando um processo de login
Primeiramente, deverá ser necessário realizar uma solicitação GET para o endpoint /login, que será responsável por gerar um identificador de sessão e a imagem do captcha associada a esta sessão no formato base64
Exemplo de requisição
GET http://host-da-api/login
Exemplo de retorno
{
"session_id": "ABCDE12345",
"captcha_image": "data:image/png;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAg[...] Texto muito longo"
}
- session_id: Identificador da sessão iniciada com a aplicação SISAC, no qual será necessário para realizar o login assim como acessar as informações do aluno
- captcha_image: Imagem do captcha associado a sessão no formato base64, que pode ser utilizado facilmente no html de uma aplicação front end, possibilitando a visualização da imagem.
Após estar com estas informações em mãos, o usuário deverá realizar uma requisição POST para o mesmo endpoint, fornecendo como parâmetro as informações necessárias para realizar o login na aplicação, além do identificador da sessão gerado anteriormente.
Exemplo de requisição
POST http://host-da-api/login
Exemplo de requisição
{
"session_id": "ABCDE12345",
"login": " 0333333",
"senha": " 0333333",
"captcha": " i3ae"
}
- session_id: O mesmo identificador gerado anteriormente
- login: Matrículo do aluno começando com o número 0
- senha: Senha do aluno do sistema
- captcha: Valor do captcha após visualização da imagem em uma aplicação frontend
Caso o login seja realizado com sucesso, a API irá retornar as seguintes informações:
{
"message": "Login realizado com sucesso",
"session_id": "ABCDE12345",
}
Caso o login tenha falhado, a API irá retornar um erro 403 com o seguinte valor:
{
"authentication_error": "Erro ao realizar autenticação",
}
Obtendo atividades complementares do aluno
Somente será possível obter as atividades complementares do aluno após a realização do login, tendo em mãos o identificador da sessão
Exemplo de requisição
GET http://host-da-api/atividades-complementares?session_id=ABCDE12345
Exemplo de retorno de sucesso
{
"student_name": "Fulando de Tal da Silva",
"total_hours": "104",
"categories": [
{
"name": "Bolsa de Extensão e Iniciação Acadêmica",
"activities": {
"name": "Bolsa de Monitoria",
"status": "REALIZADA",
"professor": "Snape",
"hours": "96"
}
},
{
"name": "Eventos",
"activities": {
"name": "Flisol",
"status": "REALIZADA",
"professor": "Snape",
"hours": "8"
}
}
]
}
Caso o identificador da sessão seja inválido ou tenha expirado, um erro 403 será lançado com a seguinte mensagem:
Exemplo de retorno de sucesso
{
"login_required": "Esta seção de usuário não está logada",
}