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",
  }