Este projeto é um e-commerce desenvolvido com Django, um framework em Python, focado na construção do Back-end do sistema. O objetivo do projeto é oferecer um serviço seguro e confiável para a realização de compra e venda de produtos.
Essa rota não necessita autenticação bearer token. Campos de envio para request:
- username: Entrada obrigatória do tipo string e máximo 150 chars.
- email: Entrada obrigatória do tipo string email e máximo 127 chars.
- password: Entrada obrigatória do tipo string e máximo 30 chars.
- address: Entrada obrigatória do tipo dicionario.
- is_superuser: Entrada opcional do tipo boolean com default false.
- is_seller: Entrada opcional do tipo boolean com default false.
Retorno esperado com status code 201 para criação realizada com sucesso:
{ "id": "146c8c8b-fef1-4487-8641-cff3ef748c7a", "username": "Mariano Lopes", "email": "ml123@gmail.com", "address": { "street": "Floriano arroba", "distric": "Jardim das flores", "zipCode": 12341231, "state": "Ba", "city": "Jacobina", "number": 12, }, "is_seller": False, "is_superuser": False, }
Retorno esperado com status code 400 para request incorreto/vazio:
{ "username": [ "This field is required." ], "email": [ "This field is required." ], "password": [ "This field is required." ], "address": [ "This field is required." ] }
Retorno esperado com status code 400 para email/username já existente:
{ "email": [ "email already registered." ], "username": [ "username already taken." ] }
Essa rota necessita autenticação bearer token sem request body:
Retorno esperado com status code 200 para listagem bem sucedida:
[ { "id": "146c8c8b-fef1-4487-8641-cff3ef748c7a", "username": "Mariano Lopes", "email": "ml123@gmail.com", "address": { "street": "Floriano arroba", "distric": "Jardim das flores", "zipCode": 12341231, "state": "Ba", "city": "Jacobina", "number": 12, }, "is_seller": False, "is_superuser": False, }, { "id": "fae43b77-1c12-4fb4-af8e-4fb13fab5e26", "username": "Ronaldo Algusto Moreira Alves", "email": "ramalves@email.com", "address": { "street": "Saltante das figueiras", "distric": "Oliveiras amarelas", "zipCode": 12341231, "state": "SP", "city": "Guarulhos", "number": 14, }, "is_seller": False, "is_superuser": False, } ]
Essa rota não necessita autenticação bearer token nem request body, mas é preciso enviar o id do autor como parâmetro:
Retorno esperado com status code 200 para retorno bem sucedido:
{ "id": "146c8c8b-fef1-4487-8641-cff3ef748c7a", "username": "Mariano Lopes", "email": "ml123@gmail.com", "address": { "street": "Floriano arroba", "distric": "Jardim das flores", "zipCode": 12341231, "state": "Ba", "city": "Jacobina", "number": 12, }, "is_seller": False, "is_superuser": False, },
Retorno esperado com status code 404 para autor inexistente ou não encontrado:
{ "detail": "User not found" }
Essa rota necessita autenticação bearer token, é preciso enviar o id do usuário como parâmetro:
Retorno esperado com status code 200 para atualização realizada com sucesso:
{ "id": "146c8c8b-fef1-4487-8641-cff3ef748c7a", "username": "Mariano Lopes", "email": "ml123@gmail.com", "address": { "street": "Floriano arroba", "distric": "Jardim das flores", "zipCode": 12341231, "state": "Ba", "city": "Jacobina", "number": 12, }, "is_seller": False, "is_superuser": False, },
Retorno esperado com status code 404 para usuário inexistente ou não encontrado:
{ "detail": "User not found" }
Essa rota necessita autenticação bearer token. Campos de envio para request:
- name: Entrada obrigatória do tipo string e máximo 50 chars.
- stock: Entrada obrigatória do tipo number.
- category: Entrada obrigatória do tipo string e máximo 50 chars.
- is_active: Entrada opcional do tipo boolean.
Retorno esperado com status code 201 para criação realizada com sucesso:
{ "id": "009bc657-2704-4593-9c3a-17c2e74f15c1", "name": "Coca-cola", "stock": 80, "category": "Bebidas", "is_active": true }
Retorno esperado com status code 400 para request incorreto/vazio:
{ "name": [ "This field is required." ], "stock": [ "This field is required." ], "category": [ "This field is required." ], }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token sem request body:
Retorno esperado com status code 200 para listagem bem sucedida:
[ { "id": "009bc657-2704-4593-9c3a-17c2e74f15c1", "name": "Coca-cola", "stock": 80, "category": "Bebidas", "is_active": true }, { "id": "5as8f351-2104-4493-9ab23a-123astf15a5", "name": "Red bull", "stock": 120, "category": "Bebidas", "is_active": true }, ]
Essa rota não necessita autenticação bearer token nem request body, mas é preciso enviar o id do usuário como parâmetro:
Retorno esperado com status code 200 para retorno bem sucedido:
{ "id": "009bc657-2704-4593-9c3a-17c2e74f15c1", "name": "Coca-cola", "stock": 80, "category": "Bebidas", "is_active": true },
Retorno esperado com status code 404 para produto inexistente ou não encontrado:
{ "detail": "Product not found" }
Essa rota necessita autenticação bearer token, é preciso enviar o id do usuário como parâmetro:
Retorno esperado com status code 200 para atualização realizada com sucesso:
{ "id": "009bc657-2704-4593-9c3a-17c2e74f15c1", "name": "Coca-cola", "stock": 80, "category": "Bebidas", "is_active": true },
Retorno esperado com status code 404 para produto inexistente ou não encontrado:
{ "detail": "Product not found" }
Essa rota necessita autenticação bearer token.
Retorno esperado com status code 200 para preenchimento realizado com sucesso:
{ "id": "7ecbe7fc-9cd3-4bde-905d-9113a1b73e1f", "updated_at": "2023-03-14T18:15:10.778943Z", "total_amount": "25.12", "products_count": 2, "products": [ { "id": "1c43bebc-b7dc-435b-b1f0-4d0d95e8583d", "name": "Óleo de soja", "category": "Alimentícios", "price": "18.98" }, { "id": "288f9f94-af74-42a4-bf06-b99986101f87", "name": "Sal refinado", "category": "Alimentícios", "price": "6.14" }, ] }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token.
Retorno esperado com status code 200 para busca realizada com sucesso:
{ "id": "7ecbe7fc-9cd3-4bde-905d-9113a1b73e1f", "updated_at": "2023-03-14T18:15:10.778943Z", "total_amount": "25.12", "products_count": 2, "products": [ { "id": "1c43bebc-b7dc-435b-b1f0-4d0d95e8583d", "name": "Óleo de soja", "category": "Alimentícios", "price": "18.98" }, { "id": "288f9f94-af74-42a4-bf06-b99986101f87", "name": "Sal refinado", "category": "Alimentícios", "price": "6.14" }, ] }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token.
Retorno esperado com status code 204 com o retorno vazio
{}
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token.
Retorno esperado com status code 201 para criação realizada com sucesso:
{ "count": 1, "sellers": 1, "results": [ { "id": "7c983256-ab9b-4c4a-a6b0-0812edb6894a", "status": "PEDIDO REALIZADO", "created_at": "2023-03-14T18:29:10.548225Z", "products_count": 1, "products": [ { "id": "b2a77c04-a300-4680-9639-a1b5783858d0", "name": "Margarina", "category": "Alimentícios", "price": "6.33" } ], "seller": { "id": "b0f0d911-8221-4781-be29-535cf0a13fe7", "username": "phoebe92", "first_name": "Sheila", "email": "eddie_hebert@xanide.dog" }, "client": { "id": "c29822ae-e212-424b-acf2-26bb064475b6", "username": "gustavo123", "first_name": "Gustavo", "email": "gustavo123@gmail.com", "address": { "street": "Reeve Place", "district": "Walland", "zipCode": "22514-281", "state": "OH", "city": "Falconaire", "number": 12 } } }, ] }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token.
Retorno esperado com status code 200 para busca realizada com sucesso:
{ "count": 1, "next": "http://127.0.0.1:8000/api/orders/?page=2", "previous": null, "results": [ { "id": "7c983256-ab9b-4c4a-a6b0-0812edb6894a", "status": "PEDIDO REALIZADO", "created_at": "2023-03-14T18:29:10.548225Z", "products_count": 1, "products": [ { "id": "b2a77c04-a300-4680-9639-a1b5783858d0", "name": "Margarina", "category": "Alimentícios", "price": "6.33" } ], "seller": { "id": "b0f0d911-8221-4781-be29-535cf0a13fe7", "username": "phoebe92", "first_name": "Sheila", "email": "eddie_hebert@xanide.dog" }, "client": { "id": "c29822ae-e212-424b-acf2-26bb064475b6", "username": "gustavo123", "first_name": "Gustavo", "email": "gustavo123@gmail.com", "address": { "street": "Reeve Place", "district": "Walland", "zipCode": "22514-281", "state": "OH", "city": "Falconaire", "number": 12 } } } ] }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }
Essa rota necessita autenticação bearer token, é preciso enviar o id do pedido como parâmetro:
Retorno esperado com status code 200 para busca realizada com sucesso:
{ "id": "7c983256-ab9b-4c4a-a6b0-0812edb6894a", "status": "PEDIDO REALIZADO", "created_at": "2023-03-14T18:29:10.548225Z", "products_count": 1, "products": [ { "id": "b2a77c04-a300-4680-9639-a1b5783858d0", "name": "Margarina", "category": "Alimentícios", "price": "6.33" } ], "seller": { "id": "b0f0d911-8221-4781-be29-535cf0a13fe7", "username": "phoebe92", "first_name": "Sheila", "email": "eddie_hebert@xanide.dog" }, "client": { "id": "c29822ae-e212-424b-acf2-26bb064475b6", "username": "gustavo123", "first_name": "Gustavo", "email": "gustavo123@gmail.com", "address": { "street": "Reeve Place", "district": "Walland", "zipCode": "22514-281", "state": "OH", "city": "Falconaire", "number": 12 } } }
Retorno esperado com status code 401 para ausência de autenticação por token:
{ "detail": "Authentication credentials were not provided." }
Retorno esperado com status code 403 para usuário sem permissão de acesso:
{ "detail": "You do not have permission to perform this action." }