/APIPortalCEFET

API em Python para interação web com o portal do aluno CEFET.

Primary LanguagePython



API desenvolvida em linguagem Python para interação web com o portal online da instituição federal Centro Federal de Educação Tecnológica Celso Suckow da Fonseca (CEFET/RJ).

Sobre

Application Programming Interface (API) é um conjunto de padrões de programação que permite acesso a um serviço em expecífico. Em resumo, é uma camada intermediária que promove a interação de uma aplicação com o serviço desejado, neste caso o portal do aluno CEFET/RJ.

Objetivo

Este projeto tem por objetivo fomentar o desenvolvimento de aplicações que visam facilitar o acesso a informações referentes ao portal online de docentes e dicentes da instituição.

Desenvolvimento

Este projeto ainda está em desenvolvimento, novas funcionalidades estão sendo adicionadas constantemente. Abaixo segue o andamento das implementações:

  • Autenticação

    ✔️ autenticacao [Atualizada 🚩 ]

  • Relatórios

    ✔️ listaRelatorios

    ✔️ geraRelatorio

  • Perfil

    ⚠️ perfilDados [BETA]

    ✔️ perfilDadosGerais

    ✔️ perfilFoto

Utilização

Atualmente a API está hospedada no site Heroku e pode ser acessada através da URL: https://api-portal-cefet.herokuapp.com/.

Funções

  1. Autenticação

    • autenticacao (usuario , senha) [POST]

      Esta função é responsável por autenticar uma nova sessão no portal. Deve seguir o padrão abaixo para sua execução:

      URL:

      https://api-portal-cefet.herokuapp.com/autenticacao

      Json:

      {
          "usuario" : "SUA_MATRICULA_AQUI",
          "senha" : "SUA_SENHA_AQUI"
      }

      Se o login occorer corretamente o retorno será um json contendo um Cookie e uma Matrícula interna do site (Atenção: a matrícula retornada não está ligada a matrícula acadêmica, se trata de um novo dado usado internamente pelo portal).

      Exemplo de json de retorno:

      {
          "code": 200,
          "data":{
              "cookie":"B60E98A57D71D7BBEB80457A125436478",
              "matricula":"123456"
          }
      }
  2. Relatórios

    • listaRelatorios (cookie , matricula)

      Esta função é responsável por listar os relatórios disponíveis para o seu perfil. Deve seguir o padrão abaixo para sua execução:

      https://api-portal-cefet.herokuapp.com/relatorios?cookie=COOKIE_AUTENTICADO_AQUI&matricula=MATRICULA_INTERNA_AQUI

      Se o cookie e a matrícula forem válidos o retorno será um json contendo o código 200 e uma lista de relatórios contendo ID, Nome e Link.

      Exemplo de json de retorno:

      {
         "codigo": 200,
         "data":[
              {
                  "id":0,
                  "link":"atestadoTrancamento.action?matricula=123456",
                  "nome":"Atestado Trancamento"
              },
              {
                  "id":1,
                  "link":"boletimEscolar.action?matricula=123456",
                  "nome":"Boletim Escolar"
              }
         ]
      }
    • geraRelatorio (cookie , link)

      Esta função é responsável por gerar um relatório expecificado pelo link (item passado pela função listaRelatorios). Deve seguir o padrão abaixo para sua execução:

      https://api-portal-cefet.herokuapp.com/relatorios/pdf?cookie=COOKIE_AUTENTICADO_AQUI&link=LINK_RELATORIO_AQUI

      Se o cookie e o link forem válidos o retorno será um arquivo relatorio.pdf.

  3. Perfil

    • perfilDados (cookie , matricula)

      Esta função é responsável por listar os dados principais (Nome, Curso, Matrícula Acadêmica e Período). Deve seguir o padrão abaixo para sua execução:

      https://api-portal-cefet.herokuapp.com/perfil?cookie=COOKIE_AUTENTICADO_AQUI&matricula=MATRICULA_INTERNA_AQUI

      Se o cookie e a matrícula forem válidos o retorno será um json contendo o código 200 e uma lista de dados.

      Exemplo de json de retorno:

      {
          "codigo": 200,
          "data":{
              "Curso":"PET - CURSO DE ENGENHARIA DE COMPUTACAO",
              "Matricula":"1234567GCOM",
              "Periodo Atual":"5",
              "Nome":"Luke Skywalker"
          }
      }
    • perfilDadosGerais (cookie , matricula) [BETA]

      Esta função é responsável por listar os dados cadastrados, tais como endereço, número de telefone, E-mail e etc. Deve seguir o padrão abaixo para sua execução:

      https://api-portal-cefet.herokuapp.com/perfil/geral?cookie=COOKIE_AUTENTICADO_AQUI&matricula=MATRICULA_INTERNA_AQUI

      Se o cookie e a matrícula forem válidos o retorno será um json contendo o código 200 e uma lista de dados divididos em quadro tipos: academico, informacoes, endereco e documentos.

      Exemplo de json de retorno:

      {
          "codigo": 200,
          "data": {
              "academico":{
                  "Curso":"PET - CURSO DE ENGENHARIA DE COMPUTACAO",
                  "Matricula":"1234567GCOM",
                  "Periodo Atual":"5"
              },
              "endereco":{
                  "Bairro":"CENTRO",
                  "CEP":"00000-000",
                  "Cidade":"Tatooine"
              },
              "informacoes":{
                  "Nascimento":"18/11/1977",
                  "Nome":"Luke Skywalker",
                  "Nome da Mae":"Padmé Amidala",
                  "Nome do Pai":"Anakin Skywalker"
              }
          }
      }
    • perfilFoto (cookie)

      Esta função é responsável por obter a foto de perfil cadastrada no portal. Deve seguir o padrão abaixo para sua execução:

      https://api-portal-cefet.herokuapp.com/perfil/foto?cookie=COOKIE_AUTENTICADO_AQUI

      Se o cookie for válido o retorno será um arquivo imagemPerfil.jpeg.