Esta API é organizada em torno do REST. Essa API aceita corpos de solicitação em JSON, retorna respostas codificadas por JSON e usa códigos de resposta HTTP padrão e autenticação.
- Autenticação
- Endpoints
- Operações em gerentes
- Operações em produtos
- Operações em usuários
- Operações em vendas
Esta API usa tokens JWT para autenticar solicitações.
Para utilizar a API é necessário um Gerente Autenticado. Criamos o nosso primeiro gerente a Enviando uma solicitação ´POST´ para ´/adm/init´ com o seguinte corpo em JSON
{
"nome": "João Pistoleiro",
"email": "pistolinha@dominiomaneiro.com",
"senha": "umaSenhaForte"
}
Obs: Após a criação do primeiro Gerente esta rota não estará mais disponível
Para quase todas requisições é necessário o uso do token JWT
Você pode obter um token enviando e-mail e senha para a rota /login
Exemplo de entrada:
{
"email": "pistolinha@dominiomaneiro.com",
"senha": "123456"
}
Exemplo de resposta:
{
"gerente": {
"id": "1",
"nome": "João Pistoleiro",
"email": "pistolinha@dominiomaneiro.com"
},
"token": "<token-de-acesso>"
}
Todas as requisições necessitam do Header X-token
com o token JWT
Estas rotas gerenciam a criação, listagem e deleção de Gerentes
- Autenticação necessária
Retorna todos os gerentes cadastrados
Exemplo de saída:
[
{
"id": "1",
"nome": "Carlinhos",
"email": "carlinhos@gmail.com",
"senha": "123456"
},
{
"id": "2",
"nome": "Pedrinho",
"email": "pedrinho@gmail.com",
"senha": "123456"
}
...
]
- Autenticação necessária
Cadastra um novo gerente
Exemplo de entrada:
{
"nome": "João Pistoleiro",
"email": "pistolinha@dominiomaneiro.com",
"senha": "umaSenhaForte"
}
- Autenticação necessária
Remove um Gerente pelo seu respectivo ID
Estas rotas gerenciam a criação, listagem, edição e deleção de Produtos
Retorna todos os produtos cadastrados
Exemplo de saída:
[
{
"id": "1",
"nome": "Boneca",
"preco": "25.00"
},
{
"id": "2",
"nome": "Havaiana",
"preco": "35.00"
}
]
- Autenticação necessária
Adiciona um novo produto
Exemplo de entrada:
{
"nome": "Havaiana",
"preco": 35
}
- Autenticação necessária
Atualiza um produto já cadastrado
Exemplo de entrada:
{
"nome": "Havaiana",
"preco": 50
}
- Autenticação necessária
Remove um Produto pelo seu respectivo ID
Estas rotas gerenciam a criação, listagem, edição e deleção de Usuários
- Autenticação necessária
Retorna todos os usuários cadastrados
- Autenticação necessária
Cadastra um novo usuário
Exemplo de entrada:
{
"nome": "Carlos"
}
- Autenticação necessária
Edita um usuário já cadastrado
Exemplo de entrada:
{
"nome": "Pedro"
}
- Autenticação necessária
Remove um usuário pelo seu respectivo ID
Estas rotas gerenciam a criação, listagem, edição e deleção de Vendas
- Autenticação necessária
Retorna uma lista com todas as vendas
Exemplo de saída:
[
{
"id": "2",
"id_produto": "3",
"produto_nome": "Bolinha de queijo",
"produto_preco": "4.00",
"id_usuario": "1",
"usuario_nome": "Pedro"
},
{
"id": "3",
"id_produto": "2",
"produto_nome": "Havaiana",
"produto_preco": "35.00",
"id_usuario": "2",
"usuario_nome": "Carlos"
}
...
]
- Autenticação necessária
Realizar uma nova venda
Exemplo de entrada:
{
"id_produto": 2,
"id_usuario": 1
}
- Autenticação necessária
Atualizar uma venda pelo seu respectivo ID
Exemplo de entrada:
{
"id_produto": 4,
"id_usuario": 7
}
- Autenticação necessária
Remove uma venda pelo seu respectivo ID