A API web de suporte do UFPI Mobile permite a busca de informações sobre o cardápio do restaurante universitário, os eventos do calendário acadêmico e as últimas notícias no website da UFPI.
Todas as URLs mencionadas nesse documento usam a seguinte base:
https://ufpi-mobile-cm.herokuapp.com
As requisições HTTP para adicionar informações no servidor são protegidas por uma autenticação básica. As informações sobre o cardápio e o calendário não são consideradas únicas para a instituição e, por isso, elas devem estar associadas a um usuário da API. De forma resumida, você vai precisar de um e-mail e senha para cadastrar novos cardápios ou calendários.
Para criar um novo usuário, envie uma requisição com o método POST para o endpoint /api/users. Este endpoint aguarda um objeto JSON, que representa o novo usuário, no corpo da mensagem. Tal objeto tem três propriedades do tipo string, a propriedade email, a propriedade password e a propriedade kind, como apresentado no exemplo abaixo:
{
"email": "exemplo@email.com",
"password": "exemplo senha",
"kind": "CAL"
}A propriedade kind só pode assumir 3 valores, CAL,RU,EVEN.
Com o envio da requisição, a API confirma a adição do novo usuário com a identificação (id) desse usuário por meio de outro objeto JSON, por exemplo:
{
"id": "aaa111bbb222ccc333ddd444",
"email": "exemplo@email.com",
"kind": "CAL"
}Essa id será utilizada para pesquisar os cardápios e os calendários postados por esse usuário.
A seguir, são apresentados os endpoints para cada uma das informações armazenadas pela API.
Um modelo do JSON que representa o cardápio semanal pode ser visualizado em cardapio.json.
| URL | Método | Autenticação | Descrição |
|---|---|---|---|
/api/menus |
POST |
Sim | Adiciona um novo cardápio para o usuário autenticado |
/api/menus/{id} |
GET |
Não | Retorna uma coleção de cardápios associados ao usuário identificado pela id |
/api/menus/{id}/latest |
GET |
Não | Retorna o cardápio mais recente do usuário id |
Um modelo do JSON que representa o calendário acadêmico pode ser visualizado em calendario.json.
| URL | Método | Autenticação | Descrição |
|---|---|---|---|
/api/calendars |
POST |
Sim | Adiciona um novo calendário para o usuário autenticado |
/api/calendars/{id} |
GET |
Não | Retorna uma coleção de calendários associados ao usuário identificado pela id |
/api/calendars/{id}/latest |
GET |
Não | Retorna o calendário mais recente do usuário id |
Um modelo do JSON que representa uma notícia pode ser visualizado em noticia.json.
| URL | Método | Autenticação | Descrição |
|---|---|---|---|
/api/articles |
GET |
Não | Retorna uma lista de notícias obtidas no website da UFPI. Os resultados dessa rota não apresentam as propriedades text, links e images |
/api/articles/{code} |
GET |
Não | Retorna todos as informações de uma notícia específica identificada pelo valor numérico code |
/api/articles/update |
GET |
Não | Requisita que novas notícias sejam adicionadas ao servidor |