Repositório FrontEnd Finanças+
Esta documentação descreve os endpoints disponíveis na API Finanças+, incluindo os dados necessários, possíveis erros e exemplos de código.
Descrição: Realiza a autenticação do usuário.
Método: POST
Endpoint: /login
Parâmetros:
- Nenhum parâmetro é necessário na URL.
Corpo da Solicitação (Body):
email
(string, obrigatório): O email do usuário.senha
deve ser passado no cabeçalhoX-Password
.
Possíveis Saídas de Erro:
- Status 401 - Email não encontrado: Quando o email fornecido não corresponde a nenhum usuário.
- Status 401 - Senha incorreta: Quando a senha fornecida não corresponde à senha do usuário.
Saída em Caso de Sucesso:
- Status 200: A autenticação foi bem-sucedida.
- Corpo da resposta:
data
(objeto): Contém informações do usuário autenticado.success
(boolean): Indica o sucesso da operação.
Exemplo de Chamada:
axios
.post(
"/login",
{
email: "usuario@example.com",
},
{
headers: {
"X-Password": "senha_secreta",
},
}
)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Cadastra um novo usuário.
Método: POST
Endpoint: /usuarios
Parâmetros:
- Nenhum parâmetro é necessário na URL.
Corpo da Solicitação (Body):
email
(string, obrigatório): O email do novo usuário.nome
(string, obrigatório): O nome do novo usuário.sobrenome
(string, obrigatório): O sobrenome do novo usuário.senha
deve ser passado no cabeçalhoX-Password
.
Possíveis Saídas de Erro:
- Status 400 - Email já cadastrado: Quando o email já está em uso por outro usuário.
- Status 400 - Todos os campos são obrigatórios: Quando algum dos campos obrigatórios está ausente no corpo da solicitação.
Saída em Caso de Sucesso:
- Status 201: O usuário foi criado com sucesso.
- Corpo da resposta:
data
(objeto): Contém informações do novo usuário.success
(boolean): Indica o sucesso da operação.message
(string): Mensagem de sucesso.
Exemplo de Chamada:
axios
.post(
"/usuarios",
{
email: "novo_usuario@example.com",
nome: "Novo",
sobrenome: "Usuário",
},
{
headers: {
"X-Password": "senha_secreta",
},
}
)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Obtém a lista de todas as transações de um usuário específico.
Método: GET
Endpoint: /usuario/:id/transacoes/
Parâmetros:
id
(string, obrigatório): O ID do usuário para o qual deseja listar as transações.
Possíveis Saídas de Erro:
- Status 404 - Usuário não encontrado: Quando o usuário com o ID especificado não existe.
Saída em Caso de Sucesso:
- Status 200: As transações foram obtidas com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.data
(array): Contém a lista de todas as transações do usuário.
Exemplo de Chamada:
axios
.get("/usuario/123/transacoes", {
headers: {
"X-Password": "senha_secreta",
},
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Obtém os detalhes de uma transação específica de um usuário.
Método: GET
Endpoint: /usuario/:id/transacao/:idTransacao
Parâmetros:
id
(string, obrigatório): O ID do usuário para o qual deseja obter os detalhes da transação.idTransacao
(string, obrigatório): O ID da transação que deseja detalhar.
Possíveis Saídas de Erro:
- Status 404 - Usuário não encontrado: Quando o usuário com o ID especificado não existe.
- Status 404 - Transação não encontrada: Quando a transação com o ID especificado não existe.
Saída em Caso de Sucesso:
- Status 200: Os detalhes da transação foram obtidos com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.data
(objeto): Contém os detalhes da transação específica.
Exemplo de Chamada:
axios
.get("/usuario/123/transacao/456")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Obtém a lista de transações de um usuário específico com base no tipo de transação (entrada ou saída).
Método: GET
Endpoint: /usuario/:id/transacoes/:tipo
Parâmetros:
id
(string, obrigatório): O ID do usuário para o qual deseja listar as transações.tipo
(string, obrigatório): O tipo de transação desejado, que deve ser "entrada" ou "saída".
Possíveis Saídas de Erro:
- Status 404 - Usuário não encontrado: Quando o usuário com o ID especificado não existe.
- Status 400 - Tipo de transação inválido: Quando o parâmetro
tipo
não é "entrada" nem "saída".
Saída em Caso de Sucesso:
- Status 200: As transações foram obtidas com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.data
(array): Contém a lista de transações do usuário com o tipo especificado.
Exemplo de Chamada:
// Exemplo de chamada usando Axios em JavaScript
axios
.get("/usuario/123/transacoes/entrada")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Cria uma nova transação para um usuário.
Método: POST
Endpoint: /usuario/:id/novatransacao
Parâmetros:
id
(string, obrigatório): O ID do usuário para o qual deseja criar a nova transação.
Corpo da Solicitação (Body):
descricao
(string, obrigatório): A descrição da nova transação.categoria
(string, obrigatório): A categoria da nova transação.valor
(string, obrigatório): O valor da nova transação.tipo
(string, obrigatório): O tipo da nova transação (entrada ou saída).
Possíveis Saídas de Erro:
- Status 404 - Usuário não encontrado: Quando o usuário com o ID especificado não existe.
- Status 400 - Todos os campos da transação são obrigatórios: Quando algum dos campos obrigatórios está ausente no corpo da solicitação.
Saída em Caso de Sucesso:
- Status 200: A nova transação foi criada com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.data
(objeto): Contém informações da nova transação criada.
Exemplo de Chamada:
axios
.post("/usuario/123/novatransacao", {
descricao: "Nova transação",
categoria: "Alimentação",
valor: 50,
tipo: "saída",
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Atualiza uma transação específica de um usuário.
Método: PATCH
Endpoint: /usuarios/:id/editar/:idTransacao
Parâmetros:
id
(string, obrigatório): O ID do usuário.idTransacao
(string, obrigatório): O ID da transação a ser atualizada no usuário.
Corpo da Solicitação (Body):
valor
(number, opcional): O novo valor da transação.descricao
(string, opcional): A nova descrição da transação.categoria
(string, opcional): A nova categoria da transação.data
(string, opcional): A nova data da transação.tipo
(string, opcional): O novo tipo da transação (entrada ou saída).
Possíveis Saídas de Erro:
- Status 404 - Transação não encontrada: Quando a transação com o ID especificado não existe.
Saída em Caso de Sucesso:
- Status 200: A transação foi atualizada com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.message
(string): Mensagem de sucesso.
Exemplo de Chamada:
axios
.patch("/usuarios/123/editar/456", {
valor: 100,
descricao: "Nova descrição",
categoria: "Nova categoria",
data: "2023-09-19",
tipo: "entrada",
})
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Exclui uma transação específica de um usuário.
Método: DELETE
Endpoint: /usuario/:id/deletar/:idTransacao
Parâmetros:
id
(string, obrigatório): O ID do usuário.idTransacao
(string, obrigatório): O ID da transação a ser excluída no usuário.
Possíveis Saídas de Erro:
- Status 404 - Usuário não encontrado: Quando o usuário com o ID especificado não existe.
- Status 404 - Transação não encontrada: Quando a transação com o ID especificado não existe.
Saída em Caso de Sucesso:
- Status 200: A transação foi excluída com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.message
(string): Mensagem de sucesso.
Exemplo de Chamada:
axios
.delete("/usuario/123/deletar/456")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});
Descrição: Obtém a lista de todas as categorias disponíveis.
Método: GET
Endpoint: /categorias
Parâmetros:
- Nenhum parâmetro é necessário.
Saída em Caso de Sucesso:
- Status 200: As categorias foram obtidas com sucesso.
- Corpo da resposta:
success
(boolean): Indica o sucesso da operação.data
(array): Contém a lista de categorias.
Exemplo de Chamada:
axios
.get("/categorias")
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error.response.data);
});