username
stringrequired
- email/username do usuário como consta no banco.password
stringrequired
- senha do usuário como consta no banco.
let headersList = {
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"username": "admin",
"password": "admin"
});
let response = await fetch(baseURL + "login/", {
method: "POST",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.token
string - token de autenticação que será usado em todas as requisições seguintes. Guarde-o no sessionStorage do navegador ou nos cookies.
{
"status": "200 OK",
"message": "Login realizado com sucesso",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJI..."
}
username
stringrequired
- email do usuário que será admin do sistema.password
stringrequired
- senha do usuário que será admin do sistema.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"username": "admin@example.com",
"password": "s7ven_ate_nin9"
});
let response = await fetch(baseURL + "login/register-user/", {
method: "PUT",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
❗ ATENÇÃO:
O token que é enviado no cabeçalho
Authorization
deste endpoint deve ser o ticket recebido no endpoint de login ao fazer login com o usuário e senha padrão.
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.
{
"status": "200 OK",
"message": "Usuário salvo"
}
Por enquanto, este endpoint não recebe parâmetros, assim como não espera um cabeçalho de autorização. Ele simplesmente manda um email de recuperação de senha para o email cadastrado pelo admin do portal. Esta regra de negócio ainda será aprimorada no futuro.
let headersList = {
"Content-Type": "application/json"
}
let response = await fetch(baseURL + "login/forgot-password/", {
method: "POST",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.
{
"status": "200 OK",
"message": "E-mail de recuperação de senha enviado com sucesso"
}
new-password
stringrequired
- nova senha.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"new-password": "KGLW2024"
});
let response = await fetch(baseURL + "login/reset-password/", {
method: "PUT",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
❗ ATENÇÃO:
O token que é enviado no cabeçalho
Authorization
deste endpoint deve ser o mesmo que veio no URL do link recebido por e-mail.
tatus
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.
{
"status": "200 OK",
"message": "Senha atualizada com sucesso"
}
nome
stringrequired
- nome que deseja atribuir a nova sala.numero
stringrequired
- número que deseja atribuir a nova sala. Para criar uma sala sem número, passe uma string vazia (””) como valor.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"nome": "Depósito de TI",
"numero": "" // número é uma string vazia, indicando que a sala não terá número
});
let response = await fetch(baseURL + "salas/create/", {
method: "POST",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - objeto contendo os dados da nova sala criada.
{
"status": "201 Created",
"message": "Sala adicionada com sucesso",
"data": {
"id": "8",
"nome": "Depósito de TI",
"numero": null,
"arduino": null,
"status": null
}
}
Para obter todas as salas é preciso fazer uma requisição sem query string na URL.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI..."
}
let response = await fetch(baseURL + "salas/", {
method: "GET",
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - objeto retornado quando a requisição é bem sucedida.total
intrequired
- número de salas cadastradas no banco de dados.salas
arrayrequired
- array contendo as salas e suas informações, separadas como objetos JSON.
{
"status": "200 OK",
"message": "Todas as salas registradas",
"data": {
"total": "5",
"salas": [
{
"id": "1",
"nome": "Laboratório de Informática",
"numero": "1",
"arduino": "00 11 22 33 44 55 66 77 88",
"status": "Ativo"
},
{
"id": "2",
"nome": "Laboratório de Informática",
"numero": "2",
"arduino": "FF EE DD CC BB AA 00 11 22",
"status": "Ativo"
},
{
"id": "3",
"nome": "Laboratório de Informática",
"numero": "3",
"arduino": null,
"status": null
},
{
"id": "4",
"nome": "Laboratório de Informática",
"numero": "4",
"arduino": null,
"status": null
},
{
"id": "5",
"nome": "Biblioteca",
"numero": null,
"arduino": null,
"status": null
}
]
}
}
id
intrequired
- ID da sala que se deseja obter os dados.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI..."
}
// A query string na URL define o parâmetro ID
let response = await fetch(baseURL + "salas/?id=" + idSala, {
method: "GET",
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - objeto contendo as informações da sala.
{
"status": "200 OK",
"message": "Sala encontrada",
"data": {
"id": 2,
"nome": "Laboratório de Informática",
"numero": "2",
"arduino": "FF EE DD CC BB AA 00 11 22",
"status": "Ativo"
}
}
id
intrequired
- ID da sala que se deseja atualizar.
Além do id, é obrigatório enviar pelo menos um dos seguintes parâmetros:
nome
string - novo nome que se deseja atribuir a sala.numero
string - novo número que se deseja atribuir a sala. Se quiser retirar o número da sala, passe uma string vazia (””) como argumento.arduino
string - uniqueID do arduino que se deseja atribuir à sala. Se quiser retirar o arduino da sala, passe uma string vazia (””) como argumento.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"id": 5,
"nome": "Library",
"numero": "420"
});
let response = await fetch(baseURL + "salas/update/", {
method: "PUT",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - objeto contendo os novos dados da sala editada.
{
"status": "200 OK",
"message": "Sala atualizada com sucesso",
"data": {
"id": "5",
"nome": "Library",
"numero": "420",
"arduino": null,
"status": null
}
}
id
intrequired
- ID da sala que deseja deletar.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI...",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"id": 6
});
let response = await fetch(baseURL + "salas/delete/", {
method: "DELETE",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.
{
"status": "200 OK",
"message": "Sala deletada com sucesso"
}
Para obter todos os DoorSenses é preciso fazer uma requisição sem query string na URL.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI..."
}
let response = await fetch(baseURL + "doorsenses/", {
method: "GET",
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - objeto retornado quando a requisição é bem sucedida.total
intrequired
- número de DoorSenses cadastradas no banco de dados.doorsenses
arrayrequired
- array contendo os DoorSenses suas informações, separados como objetos JSON.
{
"status": "200 OK",
"message": "Todos os DoorSenses registrados",
"data": {
"total": "3",
"doorsenses": [
{
"id": "1",
"uniqueId": "00 11 22 33 44 55 66 77 88",
"status": "Ativo",
"lastUpdate": "2023-08-28 16:49:02"
},
{
"id": "2",
"uniqueId": "FF EE DD CC BB AA 00 11 22",
"status": "Ativo",
"lastUpdate": "2023-08-28 16:49:02"
},
{
"id": "3",
"uniqueId": "1F 2E 3D 4C 5B 6A 79 88 97",
"status": "Inativo",
"lastUpdate": "2023-09-28 14:41:11"
}
]
}
}
id
intrequired
- ID (como consta no banco de dados) do DoorSense que deseja obter os dados.
let headersList = {
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJI..."
}
let response = await fetch(baseURL + "doorsenses/?id=" + idDoorsense, {
method: "GET",
headers: headersList
});
let data = await response.text();
console.log(data);
status
stringrequired
- status da requisição.message
stringrequired
- mensagem descrevendo o status ou informando o que está sendo retornado.data
JSON object - array contendo as informações do DoorSense.
{
"status": "200 OK",
"message": "DoorSense encontrado",
"data": {
"id": 1,
"uniqueId": "00 11 22 33 44 55 66 77 88",
"status": "Ativo",
"lastUpdate": "2023-08-28 16:49:02"
}
}