API que implementa os requisitos do Projeto Final da aceleração AD Python, da Codenation.
Recomenda-se a utilização de um ambiente virtual e do gerenciador de pacotes pip.
pip3 install virtualenv
virtualenv venv -p python3
source venv/bin/activate
pip install -r requirements.txtPOST /comissions: Realiza o cadastro do plano comissão.
{
"lower_percentage": 5,
"min_value": 10000,
"upper_percentage": 10,
}
201 Created
{“id”: 100}
GET /comissions: Retorna todas os planos de comissões cadastrados.
GET /comissions/id: Retorna um plano de comissão cadastrado.
PUT /comissions/id (todos os são campos são necessários): Altera um plano de comissão cadastrado.
{
"lower_percentage": 5,
"min_value": 20000,
"upper_percentage": 10,
}
DELETE /comissions/id: Remove um plano de comissão cadastrado.
204 No content
{“id”: 100}
POST /sellers: Realiza o cadastro do vendedor.
{
"name": "João Fernandes",
"address": "Loteamento Santo Antônio, Rua B, 56, Centro",
"phone": 123456789,
"age": 20,
"cpf": 11223344556,
"phone": 123456789,
"comission": 1
}
201 Created
{“id”: 100}
GET /sellers: Retorna todas os vendedores cadastrados.
GET /sellers/id: Retorna um vendedor cadastrado.
PUT /sellers/id (todos os são campos são necessários): Altera um vendedor cadastrado.
{
"name": "João Fernandes",
"address": "Loteamento Santo Antônio, Rua B, 56, Centro",
"phone": 123456789,
"age": 20,
"cpf": 11223344556,
"phone": 123456789,
"comission": 2
}
DELETE /sellers/id: Remove uma comissão cadastrada.
204 No content
{“id”: 100}
POST /month_sales: Realiza o cadastro de uma venda.
{
"id_seller": 1,
"amount": 5324,
"month": 1
}
201 Created
{“id”: 100, “comission”: 300.89}
GET /month_sales: Retorna todas as vendas cadastradas.
GET /month_sales/id: Retorna uma venda cadastrada.
PUT /month_sales/id (todos os são campos são necessários): Altera uma venda cadastrada.
{
"id_seller": 1,
"amount": 6511,
"month": 1
}
DELETE /month_sales/id: Remove uma venda cadastrada.
204 No content
{“id”: 100}
GET /vendedores/month: Retorna as vendas referente ao mês.
200 OK
[{“name”: “Vendedor1”, “id”: 1, “comission”: 1000.00}, {“name”: “Vendedor2”, “id”: 2, “comission”: 900.00},
{“name”: “Vendedor3”, “id”: 3, “comission”: 910.00}]
POST /check_comission: Envia notificação aos vendedores que estão com a média de comissão baixa nos últimos meses.
{
"seller": 1,
"amount": 6511,
}
200 OK
{“should_notify”: true}